Paketfilter
aus Wikipedia, der freien Enzyklopädie
Ein Paketfilter ist eine Software, die den ein- und ausgehenden Datenverkehr in einem Computernetz 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 man z. B. erschweren, dass der eigene Rechner ungewollt und unbemerkt Viren im Internet verbreitet. Ein Paketfilter kann Teil einer Firewall sein.
Inhaltsverzeichnis |
[Bearbeiten] Verwendung
Paketfilter werden verwendet, um das Konzept einer Firewall umzusetzen.
Auf Routern kommen sie zum Einsatz um sog. 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 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.
[Bearbeiten] Funktionsweise
Die Daten werden in einem Netz von dem sendenden Host in Datenpakete verpackt und versendet. Jedes Paket, welches den Paketfilter passieren will, wird untersucht. Anhand der in jedem Paket vorhanden Daten, wie Absender- und Empfänger-Adresse, entscheidet der Paketfilter aufgrund von Filterregeln was mit diesem Paket geschieht. Ein unzulässiges Paket, welches den Filter nicht passieren darf, kann entweder ignoriert (im Fachjargon DENY oder DROP genannt), an den Absender zurückgeschickt werden, mit der Bemerkung, dass der Zugriff unzulässig war (REJECT) oder weitergeleitet werden (FORWARD oder PERMIT).
Ein Paketfilter heißt „stateful“, wenn er für ein ausgehendes Paket automatisch eine Regel erzeugt, die in einem bestimmten Zeitfenster (im Minutenbereich) die Antwort auf dieses Paket akzeptiert. Kommt die Antwort oder wird die Zeit überschritten, verfällt die Regel. In der Regel können solche Filter auch mit Protokollen, wie z. B. FTP, umgehen, die auf zwei Ports arbeiten.
[Bearbeiten] Paketfilterbeispiel
Für solch einfache Aufgaben wie das Vergleichen von Quell- und/oder Zieladresse der Pakete, die die Firewall passieren, ist der Paketfilter zuständig. Er hat die Aufgabe, bestimmte Filterungen oder Reglementierungen im Datenverkehr vorzunehmen. Wenn man sich das Internet als eine gigantische Ansammlung von Häusern vorstellt, dann stellen die IP-Adressen sozusagen die Hausnummern dar. (Straßennamen sind in der Welt des Internets unbekannt.) Unter einer bestimmten Hausnummer kann man nun direkt mit einem Rechner kommunizieren, egal wo sich dieser Rechner befindet.
In den einzelnen Etagen dieser Rechner wohnen nun die verschiedenen Dienste wie HTTP, FTP oder SSH. Die einzelnen Etagen sind mit einer Nummer gekennzeichnet, die man auch Port nennt. Ein Paketfilter kann nun verschiedene Etagen/Ports für die Besucher aus dem Internet sperren, d. h. jede Verbindung aus dem Internet wird an der Haustür schon abgewiesen. Durch die entsprechende Konfiguration einer Firewall kann so ein Rechnernetz vor Angriffen und/oder Zugriffen geschützt werden.
Ein Paketfilter definiert Regeln, welche festlegen, ob einzelne oder zusammenhängende Pakete das Zugangsschutzsystem passieren dürfen oder abgeblockt werden. Eine solche Regel wäre zum Beispiel: verwerfe alle Pakete, die von der IP-Adresse 1.2.3.4 kommen. Eine solche Regel ist programmtechnisch einfach: es ist nur ein Zahlenwert zu vergleichen. Nur nicht pragmatisch: die Anzahl dieser Nummern im Internet geht in die Millionen. Übeltäter wechseln häufig das Wohnhaus, d. h. ihre IP-Adresse. Für einen wirklichen Schutz ist der Verwaltungsaufwand zu groß. Deshalb geht man oft den umgekehrten Weg und stellt folgende Regel auf: Lasse nur Pakete durch, die von der IP-Adresse 2.3.4.5 kommen.
Prinzipiell ist dies aber auch kein wirklich sicherer Weg, da ein Übeltäter die Hausnummer ohne größere technische Probleme fälschen kann. Eine sichere Kommunikation z. B. zwischen Firmennetzen ist nur möglich, wenn Protokolle verwendet werden, die eine Authentifikation und Autorisierung der beteiligten Benutzer oder Systeme vornehmen. Dies kann beispielsweise mit virtuellen privaten Netzwerken geschehen.
[Bearbeiten] Implementierungen von Paketfiltern
- IPFilter portabler Paketfilter für Solaris, FreeBSD u. a.
- pf Paketfilter von allen BSD-Derivaten, vornehmlich OpenBSD
- ipfw Paketfilter von FreeBSD
- ipfwadm (Linux 2.0)
- ipchains (Linux 2.2)
- iptables (Linux 2.4 + 2.6)