Firewalls

Paketfilter Firewalls

(Statische) Paketfilter sind heute meist auf Routern implementiert. Sie filtern nach den IP-Adressen, dem IP-Protokoll und, soweit TCP oder UDP zum Einsatz kommen, auch nach den Ports. Hierdurch besteht grundsätzlich die Option, spezielle Ports für Applikationen freizuschalten. Sofern die Filterung TCP betrifft, ist heute zusätzlich eine Filterung nach den TCP-Flags innerhalb eines Paketes möglich.

Vorteil solcher Lösungen ist, dass sie von der Kostenseite her günstig sind – die Filter, meist ACL (Access Control List) genannt, müssen lediglich konfiguriert werden. Performance ist für solche Filter nur in den seltensten Fällen ein Problem, da Router für die Weiterleitung von Paketen optimiert sind. Die gute Transparenz von Paketfiltern setzt weder auf der Seite der Benutzer, noch auf Seiten der Server irgendeine spezielle Konfiguration oder gar Zusatzprogramme voraus.

Trotzdem sollten einige Nachteile dieser Lösung berücksichtigt werden. Router können prinzipbedingt keine Daten der Applikationsschicht untersuchen. Insofern bieten sie keinen Schutz gegen Angriffe auf dieser Ebene. Eine Kontrolle, ob eine (vermeintlich) bestehende Verbindung wirklilch korrekt aufgebaut worden ist, findet nicht statt. Ebenso sind, zum Teil stark abhängig von der Konfiguration, auf der Netzwerk- und Transportebene unterschiedliche Angriffe möglich – durch die der Filtermechanismus teilweise zu umgehen ist. Sofern komplexere Protokolle wie z.B. FTP zum Einsatz kommen, müssen die Filter teilweise sehr weit geöffnet werden, so dass hier kaum noch ein Schutz für die internen Systeme vorhanden ist.

Fazit: Ergänzend zu einer „richtigen“ Firewall ist der Einsatz von statischen Paketfiltern ebenso sinnvoll wie im Intranet, wo die Unterschiede des Vertrauens nicht so gravierend sind, wie gegenüber dem Internet.

Stateful Inspection Firewalls

Oft wird diese Art der Filterung auch als „dynamische Paketfilterung“ bezeichnet. Die Filterung der Daten findet im Kernel statt und das wesentliche Merkmal ist, dass dynamische Tabellen geführt werden. Diese werden auch als „State Tables“ bezeichnet. In diesen Tabellen werden Informationen über den Zustand von bestehenden und erwarteten Verbindungen (z.B. FTP-DATA) gespeichert. Im Gegensatz zu einfachen Paketfiltern wird zur Entscheidung, ob ein Paket durchgelassen wird, nicht nur das Paket für sich allein betrachtet, sondern die Verbindung als Ganzes mit ihrer Vorgeschichte.

Vorteil dieser Lösung ist die eigentlich vollständige Kontrolle über die einzelnen Verbindungen, wobei inzwischen diese Art der Filterung teilweise auch für UDP oder ICMP möglich ist. Da die Filterung bereits im Kernel geschieht, ist auch hier kaum ein Verlust bei der Performance zu erwarten. Bei den meisten Herstellern werden die für Paketfilter typischen Angriffe bereits im Vorfeld vereitelt. Zusätzlich sind Firewalls mit diesem Filtermechanismus ebenso wie statische Paketfilter für den Benutzer vollständig transparent konfigurierbar.

Die möglichen Nachteile der (reinen) Stateful Inspection sind einerseits die Komplexität dieser Lösung, andererseits die fehlende vollständige Kontrolle der Daten der Applikationsschicht, sofern dieser Mechanismus nicht durch weitere Optionen ergänzt wird. Außerdem ist, wie bei Paketfiltern auch, der „Unsicherheitsfaktor Mensch“, der sämtliche Verbindungen erlauben kann, zu berücksichtigen.

Fazit: In Kombination mit weiteren Filtermechanismen kann die Stateful Inspection durchaus sicher eingerichtet werden. Sie bieten einerseits die Vorteile von Paketfiltern und zusätzlich eine vollständige Kontrolle über die einzelnen Verbindungen.

Circuit Level Gateways Firewalls

Diese Firewalls arbeiten in Schicht 6 des ISO/OSI-Schichtenmodells und werden auch „user defined Proxy“ oder „Generic Service Passer“ genannt. Sie können die Daten der Applikationsebene nicht interpretieren und arbeiten beim Abruf der Daten von Servern als Stellvertreter für die Benutzer. Unterschiedliche Mechanismen teilen dem Gateway mit, von welchem Server Daten geholt werden sollen. Hier gibt es die „modified procedure“, bei der sich ein Benutzer direkt mit der Firewall verbindet und ihm das gewünschtes Ziel mitteilt. Diese Information wird beim „modified client“ über ein separates Protokoll (z.B. socks) übermittelt. Der heutige Standard ist das „transparent IP masquerading“, bei dem Anfragen des Benutzers mit Hilfe eines veränderten TCP/IP Stacks automatisch abgefangen und eine Verbindung aufgebaut wird.

Die Vorteile dieser Lösung sind, dass sämtliche Angriffe auf der Netzwerk- und Transportebene, die bei Paketfiltern theoretisch möglich sind, nicht erfolgen können, weil die Firewall selbst eine Verbindung zum Zielsystem aufbaut. Es ergeben sich aufgrund der Untersuchung in Schicht 6 auch erweiterte Möglichkeiten für das Logging und Accounting.

Nachteilig kann sich auswirken, dass die übertragenen Daten selbst nicht überprüft werden können. Die fehlende Transparenz mit ihrer umständlichen Bedienung klassischer Circuit Level Gateways kann Benutzern diese Art der Firewall verleiden und eine gute Hotline erfordern. Zudem ist die Performance dieser Firewalls meist nicht so hoch wie bei Paketfiltern oder der Stateful Inspection.

Fazit: In Kombination mit Application Level Gateways stellen moderne Firewalls dieser Art eine gute Ergänzung für die Nutzung „exotischer“ Dienste dar.

Application Level Gateways Firewalls

Einige Stimmen sind zu hören, dass diese Firewalls „state of the art“ sind. Sie wirken als Proxies, so dass der Benutzer keine direkte Verbindung zum Zielsystem hat. Da sie in Schicht 7 des ISO/OSI-Schichtenmodells arbeiten, besteht zusätzlich eine volle Kontrolle über die tatsächlich innerhalb des Protokolls übertragenen Daten.

Vorteilig ist diese Lösung, wenn für das genutzte Protokoll ein spezieller Proxy zur Verfügung steht, so dass wirklich eine volle Kontrolle vorhanden ist. Eine direkte Verbindung zwischen Client und Server besteht nicht, so dass einige der für Paketfilter genannten Nachteile kaum gelten können. Zusätzlich besteht die Option, bei HTTP beispielsweise aktive Inhalte herausfiltern zu können. Benutzer sind direkt über das Protokoll zu authentisieren, so dass auch hier ein guter Schutz zu konfigurieren ist. Außerdem gibt es speziell für sensible Anwendungen im E-Business inzwischen Application Level Gateways, die einen Angriff über die Applikationsebene fast unmöglich machen, da auch Session-IDs und Cookies sehr genau überprüft werden.

Die Nachteile eines Application Level Gateways sind unter anderem, dass für wirklich jedes zu filternde Protokoll ein Proxy vorhanden sein muß. Sofern von Standards abweichende Protokolle gefiltert werden sollen, muß hier auf Circuit Level Gateways ausgewichen werden. Da es sich bei den Proxies um Applikationen handelt, bieten sie eine geringere Leistungsfähigkeit in Bezug auf Datendurchsatz als Paketfilter oder Stateful Inspection. Ein Schutz der unteren Schichten findet bei reinen Application Level Gateways nicht statt.