Paketfilter

Aus xinux.net
Zur Navigation springen Zur Suche springen

Grundsätzliches

  • Ein Paketfilter ist eine Anwendung oder Software, die den ein- und ausgehenden Datenverkehr in einem Rechnernetz filtert.
  • Dies dient in der Regel dem Schutz des Netzes vor Angreifern.
  • Ebenso wichtig wie der Schutz gegen Angreifer von Außen ist der Schutz gegen ungewollt ausgehende Pakete
  • Damit kann beispielsweise erschwert werden, dass der eigene Rechner ungewollt und unbemerkt Viren im Internet verbreitet.
  • Ein Paketfilter kann Teil einer Firewall sein.

Verwendung

  • Paketfilter werden verwendet, um das Konzept einer Firewall umzusetzen.
  • Auf Routern kommen sie zum Einsatz um sogenannte Ingress-Filter zu implementieren.
  • Mit solchen Filtern wird verhindert, dass Datenpakete aus oder in ein Netz gesendet werden, die ungültige Absender- oder Ziel-Adressen beinhalten.
  • Ist zum Beispiel an einer Router-Schnittstelle nur das Netz 10.1.1.0/24 angeschlossen
  • Und es kommt ein Datenpaket mit der Absender-Adresse 172.16.1.42 aus diesem Netz, sollte der Router das Paket verwerfen.
  • Es liegt entweder ein Konfigurationsfehler vor oder ein Angreifer versucht seine Absender-Adresse zu fälschen.
  • Auch Multicast- und Broadcast-Absender-Adressen lassen sich so filtern.
  • Alternativ zu Paketfiltern steht mit Unicast Reverse Path Forwarding hier eine alternative Möglichkeit zur Verfügung.

Funktionsweise

  • Die Daten werden in einem Netz von dem sendenden Host in Datenpakete verpackt und versendet.
  • Jedes Paket, das den Paketfilter passieren will, wird untersucht.
  • Anhand der in jedem Paket vorhandenen Daten, wie Absender- und Empfänger-Adresse, entscheidet der Paketfilter aufgrund von Filterregeln, was mit diesem Paket geschieht.
  • Ein unzulässiges Paket wird normalerweise folgendermassen behandelt
    • REJECT - Das Paket wird verworfen der Absender bekommt eine ICMP Nachricht
    • DROP - Das Paket wird verworfen der Absender bekommt keine ICMP Nachricht
    • ACCEPT - Das Paket darf pasieren.

Paketfilterbeispiel

  • Ein Paketfilter ist in der Regel auch ein Router
  • Es prüft meist die Absender IP, Absender Port sowie Ziel IP und Ziel Port.
  • Diese Informationen werden nur mit den Regeln von oben nach unten verglichen.
  • Wenn eine Regel zutrifft, wird ein Ziel meist ACCEPT oder DROP ausgewählt
  • Je nachdem darf das Paket das den Paketfilter passieren oder nicht.
  • Wenn keine Regel auf ein Paket zutrifft, zieht die Default Policy

Konzepte

  • Es gibt zwei Arten von Firewall Konzepten
  • Man erlaubt gewissen Paketen die Firewall zu passieren (Default Policy Drop)
  • Man verbietet gewissen Paketen die Firewall zu passieren (Default Policy ACCEPT)
  • Je nach Situation machen beide Sinn

Default Policy Drop

  • Man stellt Anfangs die Default Policy auf Drop
  • Danach muss man sich sehr genau überlegen welche Pakete man durchlassen will
  • Das Konzept ist sicherer das nur das passiert was der Admin zulässt
  • Auf der anderen Seite muss man genau wissen wie Protokolle funktionieren
  • Eine zu restriktive Firewall kann auch den Unmut der Benutzer hervor rufen.

Default Policy ACCEPT

  • Man stellt Anfangs die Default Policy auf ACCEPT
  • Danach verbietet man gewisse Pakete
  • So wird beispielsweise häufig der SSH Port 22 geblockt, weil er oft angegriffen wird.
  • Das Konzept ist unsicherer da man nur gewisse Sachen einschränkt.
  • Sie ist einfacher zu warten.
  • Würde sie eher nicht empfehlen.

Implementierungen von Paketfiltern

  • IPFilter portabler Paketfilter für Solaris, FreeBSD u. a.
  • ipfw Paketfilter von FreeBSD und Mac OS X
  • ipfwadm (Linux 2.0, obsolet)
  • ipchains (Linux 2.2, obsolet)
  • ip(6)tables (Linux ab 2.4)
  • nftables (Linux ab 3.13)
  • pf Paketfilter von allen BSD-Derivaten, vornehmlich OpenBSD, aber inzwischen auch FreeBSD und NetBSD

Links