Lesedauer: ca. 5 Min. Unterschiedliche Firewall-Klassen werden in Bezug auf die theoretische und praktische Umsetzung differenziert. Paket-Filter, Proxy-Firewalls und Anwendungsfilter haben sich als Klassifikationen etabliert. In diesem Blog-Artikel wird die Kategorie der Paket-Filter diskutiert, Proxy-Firewalls und Anwendungsfilter werden im dritten Teil behandelt. Unterschiedliche Firewall-Klassen werden in der Regel in der Regel miteinander verbunden und zu einer Firewall-Architektur zusammengefasst (mehr dazu im vierten Teil der Firewall-Blog-Serie).
Eine Einteilung in Firewall-Klassen basiert auf dem OSI-Modell. Jeder dieser Klassen basiert auf einer anderen OSI-Schicht. Bei dem Offenen System-Verbindungsmodell handelt es sich um ein Konzept, das die Kommunikationsübertragung, hier die Netzwerkübertragung in Ebenen aufteilt. Ein Netzwerkanschluss kann in unterschiedlichen Ebenen mit Hilfe des OSI-Modells betrachtet werden, das wir uns näher anschauen werden.
Auf dieser Ebene läuft eine Zusammenfassung der Applikationen. Die Abstraktion ist umso größer, je weiter oben die Schicht liegt, auf der sich ein Protokol befindet. Doch zurück zur Klassifikation von Firewalls: Die Klassifikation geschieht, indem man sich ansieht, auf welcher Ebene einer Verbindung das betreffende Firewall-System filtriert oder funktionier. Auf die OSI-Schichten 3 und 4, also die Netzwerk- und Transportschichten, werden Packetfilter angewendet.
Aus dem Datenstrom werden über Layer-3- oder Layer-4-Protokolle übertragene Packages gefiltert, basierend auf der Information aus dem IP-Header und bis zu einem gewissen Grad auf der Nutzlast der entsprechenden Packages. Diese Information kann auch für erste Überprüfungen verwendet werden, z.B. um festzustellen, ob die im IP-Header spezifizierte Packetgröße mit der aktuellen Packetgröße identisch ist.
Bei einem Paket-Filter werden unterschiedliche Filter-Regeln verwendet, die in Form von sogenannten Ketten organisiert sind. Ein Regelwerk setzt sich aus einer Kondition und einem Abschluss zusammen. Die Funktionsweise kann am besten durch eine Beispielsregel aus dem Packetfilter IPTables/netfilter veranschaulicht werden: IPTables steht für das Program IPTables (Name des Befehls).
Wenn Sie die folgende Zeile mit der Angabe -A an eine Kette anhängen wollen (A steht für Append). EINGABE ist der Listenname, an den die Regeln anhängen. Mit Hilfe der Einstellungen -p tcp und --dport ssh wird sichergestellt, dass nur solche Datenpakete des TCP-Protokolls von dieser Regelung erfasst werden, die den Anschluss des Dienstes ssh als Zielport haben.
Bei allen Paketen, auf die diese Voraussetzung anwendbar ist, wird die Inferenz -j DROP durchgeführt, die in diesem Falle alle beteiligten Packages wegwirft. Trifft eine Regelung auf ein Package zu, wird der entsprechende Abschluss angewendet und die Verarbeitung der Kette für das entsprechende Data Package beendet. Ein besonderes Merkmal von Packetfiltern ist, dass sie in der Lage sind, Datenpakete spezifisch zu bearbeiten.
Dabei ist zu beachten, dass die Information aus dem IP-Header sowieso nicht als glaubwürdig einzustufen ist, da sie leicht manipulierbar ist und es keine Möglichkeit zur Echtheitsprüfung gibt. Berühmte Anwendungsbeispiele von Paketfiltern sind ifables/netfilter (unter Linux), der Routen- und Fernzugriffsdienst (unter Windows) und der ifilter (Unix-Derivate, z.B. FreeBSD). Der Filterentscheid wird ausschliesslich auf der Grundlage der darin gemachten Angaben gefällt.
Stateful Packet Filters (auch Dynamic Filters oder Stateful Insight oder Content-basierte Zugriffskontrolle genannt) sind umfassender. Auf diese Weise können sie Entscheidungen über die Filterung auf der Grundlage von Daten aus vorangegangenen Paketen treffen. Stateful Packet Filters können zum Beispiel feststellen, dass ein Packet eine Reaktion auf ein vorher gesandtes Packet ist und das Packet dementsprechend annehmen.
Bei Paketfiltern ist keine spezielle Zusatzhardware erforderlich, sondern sie können nur auf konventionellen Computern mit Hilfe von Computerprogrammen in betrieblich genutzt werden, so dass sie kostengünstig implementiert werden können. Seitdem der gesamte Dateitransport durch die Firewall geleitet werden muss und unmittelbar in den Paketvermittlungspfad integriert ist, bietet sich ein Bündelfilter an, um ein komplettes Subnetz effizient abzusichern.
Darüber hinaus können viele IP-Spoofing- und Routing-Angriffe bereits durch Packetfilter abgewehrt werden, indem man einfach den IP-Header auswertet. Die Datenabhängigkeit vom IP-Header geht aber auch mit einem nicht zu vernachlässigenden Handicap von Packetfiltern einher: IP-Header können prinzipiell manipuliert und damit Filterntscheidungen beeinflusst werden. Dies kann zu spürbaren Leistungsverlusten, vor allem bei stateful Packetfiltern, bis hin zu DoS-Angriffen auf der Basis von gefälschten IP-Headern, führen.
Stateless Packetfilter sind dagegen Ressourcen schonender, verursachen aber das Callback-Problem, z.B. bei FTP-Verbindungen. Darüber hinaus befinden sich die gebräuchlichen Packetfilter auf einem geringen Abstraktionsgrad, so dass die Einrichtung geeigneter und umfangreicher Filterschemata - die jedoch nur eine verhältnismäßig grobe Granularität aufweisen - Expertenwissen erfordert. Aus diesem Grund gilt diese Regelung für alle Leistungspakete, für die keine der vorangegangenen (Berechtigungs-)Regeln gelten.
Datenpakete, die von außerhalb des entsprechenden Netzwerksegments kommen, aber eine firmeninterne Anschrift im IP-Header (und umgekehrt) haben, sollten immer abgelehnt werden, da diese Anschriften keinen erkennbaren Nutzen haben und der Misstrauensgrund einer Plagiatanschrift auf der Hand liegt. Kundenspezifische Verkettungen können zwar angelegt, aber nicht unmittelbar, sie können nur über eine Faustregel in einer der drei Normketten eingegeben werden.