5. Firewallkonzepte

5.1. Architekturen

In diesem Abschnitt werden die drei grundlegenden Firewallarchitekturen betrachtet. Diese kann man jedoch auf vielfältige Weise miteinander kombinieren. Ob diese Kombinationen sinnvoll und sicher sind, darüber gibt der 4. Teilabschnitt Auskunft. Bei den folgenden Betrachtungen wird immer davon ausgegangen, das interne Netz gegenüber dem Internet abzusichern. Natürlich können auch interne Netze gegeneinander abgesichert werden, etwa um firmeninterne oder geheime Daten nur bestimmten Bereichen zugänglich zu machen. Die Betrachtungen hierzu würden allerdings den angemessenen Rahmen sprengen, da eine innere Firewall nicht Thema dieser Arbeit ist.

Zunächst folgen einige Begriffserklärungen (Quelle: [1]).

Definition Firewall:

Eine oder mehrere Komponenten, die den Zugriff zwischen einem geschützten Netz und dem Internet oder zwischen beliebigen anderen Netzen beschränken. Definition Host: Ein Computersystem, das an ein Netz angeschlossen ist. Definition Bastion-Host: Ein Bastion-Host ist ein Computersystem, das besonders geschützt werden muß, da es für Angriffe prädestiniert ist - in der Regel, weil es dem Internet offensteht und eine wichtige Anlaufstelle für Benutzer interner Netze ist. Der Bastion-Host hat seinen Namen von den stark befestigten Vorsprüngen auf den Außenmauern mittelalterlicher Burgen. Definition Dual-Homed-Host: Ein Dual-Homed-Host ist ein für verschiedene Aufgaben ausgelegtes Computersystem mit mindestens zwei Netzschnittstellen. Definition Grenznetz: Ein Grenznetz ist ein Netz, das zwischen ein geschütztes und ein externes Netz eingefügt wird, um eine weitere Schutzschicht zu schaffen. Ein Grenznetz wird manchmal auch DMZ genannt, das für De-Militarisierte Zone steht.
 
 5.1.1. Dual-Homed-Hosts

Bei dieser Architektur wird die Firewall um den Dual-Homed-Host herum aufgebaut. Da er mittels seiner (mindestens) zweier Netzwerkkarten IP-Pakete routen kann, besteht auch die Möglichkeit, ihn als Router einzusetzen. Als Firewall jedoch muß diese Routingfunktion deaktiviert werden, damit die inneren und die äußeren Systeme das jeweils andere Netz nicht sehen und erreichen können. Diese Systeme können nur mit dem Dual-Homed-Host kommunizieren. Ein direkter Netzverkehr zwischen den einzelnen Netzwerkkarten ist somit nicht möglich. Bei einem solchem System kann man nur mittels Proxies oder direktem Einloggen die diversen Internetdienste nutzen. Da jedoch lokale Benutzerkennungen ein Sicherheitsproblem darstellen, indem sie unerwartet unsichere Dienste starten könnten, sollten nur Proxies eingesetzt werden. Allerdings kann es unter Umständen möglich sein, daß für bestimmte Dienste kein Proxy verfügbar ist.

Abb. 5-1: Architektur mit Dual-Homed-Host

 
5.1.2. Überwachter Host

Diese Architektur bietet Dienste über einen nur an das interne Netz angeschlossenen Rechner an. Paketfilter gewährleisten hierbei die Sicherheit, daß niemand den Proxy-Server umgehen und direkte Verbindungen herstellen kann. Diese Paketfilterung wird auf dem getrennten Router so eingerichtet, daß Internetverbindungen nur zu dem Bastion-Host aufgebaut werden können, wobei auch nur ganz bestimmte Verbindungstypen erlaubt werden. Das heißt, daß alle externen Systeme sich mit diesem Rechner verbinden müssen, um auf interne Dienste zugreifen zu können. Aus diesem Grund muß der Bastion-Host höchste Rechnersicherheit bieten. In der umgekehrten Richtung gestattet die Paketfilterung dem Bastion-Host, zulässige Verbindungen zur Außenwelt aufzubauen. Was dabei unter die Rubrik "zulässig" fällt, ist Teil der Firmensicherheitspolitik. Diese Funktion des Bastion-Hosts wird im Punkt 5.1.3. näher erläutert.

Die Paketfilterung im Überwachungsrouter kann auf zwei unterschiedlichen Konzepten beruhen:

Beide Konzepte können miteinander kombiniert werden.

Nach [1] ist die Dual-Homed-Architektur in der Hinsicht fehleranfällig, daß Pakete vom externen ins interne Netz gelangen können. Gegen solcherart völlig unvorhersehbarer Zwischenfälle gibt es keinen wirksamen Schutz. Da ein Router nur eine begrenzte Anzahl von Diensten anbietet, ist diese Komponente wesentlich einfacher zu verteidigen als ein Host. Die Konfiguration eines Routers mittels Remote-Access ist außerdem benutzerfreundlich.

Sollte ein Angreifer einmal in den Bastion-Host eingedrungen sein, gibt es keine Mittel und Wege mehr, die Netzsicherheit zwischen dem Bastion-Host und den internen Rechnern wiederherzustellen oder den Angreifer noch abzuwehren. Da der Router die größte Schwachstelle darstellt, steht bei einem eventuellen Überwinden des Routers dem Angreifer das gesamte Netz offen.

Abb. 5-2: Architektur mit überwachtem Host

 
5.1.3. Überwachtes Teilnetz

Wenn man die Architektur mit überwachtem Host um eine Sicherheitsschicht, das sogenannte Grenznetz, erweitert, erhält man die Architektur mit überwachtem Teilnetz.

Der Bastion-Host stellt in der vorangegangen Architektur den Punkt im internen Netz dar, welcher am stärksten gefährdet ist, da er der einzige Rechner ist, der angegriffen werden kann. Schon allein deshalb, daß es keine weiteren Schutzmaßnahmen zwischen dem Bastion-Host und den anderen internen Rechnern gibt, ist er der verlockendste Punkt für einen Angriff. Wenn nun der Bastion-Host durch eine zusätzliche Absicherung vom eigentlichen internen Netz abgeschirmt wird, erhöht sich die Sicherheit um einen weiteren Faktor. Sollte ein Angreifer den äußeren Router überwinden und auch den Bastion-Host bezwingen, muß er trotzdem noch am inneren Router vorbeikommen. Auf beiden Routern laufen allerdings unterschiedlich konfigurierte Filtersysteme, so daß man das Ausschalten des inneren Routers nicht mit dem Ausschalten des Äußeren vergleichen kann. Im folgenden werden die einzelnen Komponenten dieser Architektur beschrieben:

Der äußere Router:

Der äußere Router dient theoretisch dazu, das Grenznetz und das interne Netz gegen das Internet zu schützen. Meistens werden allerdings alle Pakete, die aus dem inneren Netz kommen, durchgelassen. Das bedeutet, daß in diese Richtung dieselben Paketfilter eingerichtet sind, wie auf dem inneren Router. Dies ist ein zweiter Schutz davor, daß unsicherer Netzverkehr zwischen dem inneren Netz und dem Internet abläuft. Zur Unterstützung und Sicherung von Proxy-Diensten sollte der äußere Router nur Pakete durchlassen, die vom Bastion-Host kommen. Er fängt im Prinzip Pakete ab, die normalerweise nicht existieren dürften. Hierdurch kann man sehr gut eventuelle Lecks entdecken, wie zum Beispiel das Versagen des inneren Routers oder wenn ein Host unerlaubterweise direkt an das Grenznetz gekoppelt wurde. Die hereinkommenden Verbindungen werden lediglich zum Schutz des Bastion-Hostes und des inneren Routers gefiltert. Desweiteren sollte er Pakete aus dem Internet abfangen, die behaupten, daß sie aus dem internen Netz stammen. Meistens wird allerdings der äußere Router vom Internetprovider bereitgestellt, so daß es nicht ohne weiteres möglich ist, die gewünschte Paketfilterung einzurichten, da dies beim Provider erfolgt. Aus diesem Grund ist es auch nicht 100%ig gewährleistet, daß der Provider bei eventuellem Austausch von Equipment nicht vergißt, die richtige und vor allem komplette Paketfilterung wieder zu restaurieren. Der Bastion-Host: Der (oder die) Bastion-Host(s) stellen für Verbindungen aus der Außenwelt die wichtigste Anlaufstelle dar. Darunter zählen zum Beispiel ankommende E-Mail (SMTP), eingehende FTP-Verbindungen und eintreffende DNS-Anfragen. Für die internen Clients werden die Dienste auf folgenden Arten behandelt: Entweder wird auf den beiden Routern eine Paketfilterung eingerichtet, um den Clients direkten Serverzugriff zu gewähren oder auf dem Bastion-Host werden Proxy-Server installiert um einen indirekten Zugriff zu ermöglichen. Kombinationen sind auch möglich. Das Grenznetz: Sollte ein Angreifer erfolgreich bis in die äußeren Bereiche der Firewall eingedrungen sein, bildet das Grenznetz eine weitere Schutzschicht zwischen dem inneren Netz und dem äußeren Netz. Da der innere Verkehr (zwischen zwei internen Rechnern) nicht bis in das Grenznetz vordringt, kann dieser auch nicht abgehört werden, falls jemand den Bastion-Host geknackt hat. Dieser interne Verkehr enthält genau die Daten, die eigentlich geschützt werden sollen. Um in einem Netz vertrauliche Daten, Paßwörter o.ä. abzufangen, braucht man nicht viel Übung. Selbst für einen Laien ist dies mit den "richtigen" Tools ohne weiteres möglich, wie im Kapitel 7 noch gezeigt werden wird. Die zugelassenen Dienste und deren Daten sind natürlich trotzdem sichtbar. Es muß also gewährleistet werden, daß keine vertraulichen Daten darin enthalten sind. Der innere Router: Diese Komponente dient zum Schutz des internen Netzes vor dem Internet und auch vor dem Grenznetz. Die Paketfilterung dieses Routers läßt ausgewählte Dienste ins Internet hinausgehen, welche ungefährdet über Paketfilter statt über Proxies abgesichert werden können.

Die Dienste zwischen internem Netz und Bastion-Host sowie dem internen Netz und Internet müssen nicht unbedingt dieselben sein. Um die Anzahl der Dienste auf den internen Rechnern und die Anzahl der internen Rechner selbst zu beschränken, muß man die Dienste zwischen Bastion-Host und internem Netz reduzieren. Hier sollten also nur Dienste erlaubt sein, die wirklich benötigt werden, wie zum Beispiel SMTP. Sonst kann der Bastion-Host keine eingehende E-Mail weiterleiten. Weiterhin sollte man die Dienste nur für bestimmte Rechner zulassen. Im obigen Beispiel nur für den Mail-Server.

 

Abb. 5-3: Architektur mit überwachtem Teilnetz

 
5.1.4. Varianten

In diesem Abschnitt wird darauf eingegangen, wie man die drei Grundarchitekturen miteinander kombinieren oder eventuell vereinfachen kann. Diese Konzepte werden auf ihre Sicherheit hin untersucht und beurteilt.

 
5.1.4.1. Innerer und äußerer Router bilden eine Einheit

Voraussetzung für diese Architektur ist ein sehr leistungsfähiger Router. Er muß vor allem Paketfilterung für ein- und ausgehende Daten an allen Ports unterstützen. Hierbei ist es nicht ganz einfach, diese Filter einzurichten. Der Datenverkehr fließt hierbei auf drei verschiedenen Arten:

Zusammenfassend kann gesagt werden, daß es sich hierbei um eine sichere Architektur handelt. Ein Router läßt sich leichter schützen als ein Host. Ist dieser aber überwunden, dürfte es ein leichtes sein, direkt ins interne Netz zu gelangen, ohne erst den Bastion-Host aushebeln zu müssen (siehe 1. Punkt oben).

 
5.1.4.2. Bastion-Host und äußerer Router bilden eine Einheit

Ein Problem dieser Konfiguration ist, daß der Bastion-Host nur durch seine eigene Filterung geschützt ist und nicht noch zusätzlich durch den äußeren Router. Deshalb sollte die Software, die für die Schnittstellen verantwortlich ist, besonders sicher und ausgereift sein. Das betrifft die Paketfiltersoftware sowie die Routing- und Netztreiberfunktionen des Systems. Die Hardwareausstattung sowie das verwendete Betriebssystem spielen aus diesem Grund eine große Rolle. Ein dedizierter Router ist hinsichtlich seiner Leistung auch viel flexibler. Wenn die Software die oben genannten Bedingungen erfüllt, steht bei niedriger Bandbreite dieser Kombination allerdings nichts im Wege. Notfalls sollten noch weitere Schutzmaßnahmen getroffen werden. Die Architektur kann nötigenfalls ohne große Probleme mit einem äußeren Router komplettiert werden, wobei dann die Architektur wie unter Punkt 5.1.3. entsteht.

 
5.1.4.3. Bastion-Host und innerer Router bilden eine Einheit

Bei dieser Konfiguration handelt es sich genaugenommen um eine Architektur mit überwachtem (Bastion-)Host. Die Aufgabe des Grenznetzes besteht ja darin, jeden internen Verkehr vom Bastion-Host abzuschotten. In diesem Fall kann er allerdings den gesamten internen Datenverkehr mitverfolgen. Sollte nun der äußere Router überwunden werden, hat der Angreifer sein Ziel schon erreicht. Er braucht den Bastion-Host und/oder den internen Router nicht auch noch zu überwinden. Aus diesem Grund sollte diese Konfiguration nicht eingesetzt werden.

 
5.1.4.4. Mehrere Bastion-Hosts

Sinnvolle Gründe für diese Kombination sind zum Beispiel:

Es könnten zum Beispiel alle Dienste, die von den eigenen Nutzern gebraucht werden auf einem Bastion-Host laufen, während auf dem anderen nur die Dienste, die zum Internet hin bereitgestellt werden sollen, verfügbar sind. Die vorhandene Leistung wird hierbei besser auf die "wichtigeren" eigenen Nutzer verteilt und kann durch äußere Nutzer nicht beeinträchtigt werden. Viele Dienste, wie zum Beispiel News, brauchen ungeheure Systemressourcen. Auch hier ist es sinnvoll, diese Dienste auf getrennten Bastion-Host zu installieren.

Wenn die installierten Dienste Redundanz unterstützen, kann bei entsprechender Konfiguration ein Bastion-Host die Funktion des ausgefallenen übernehmen.

Ein wichtiger Vorteil hinsichtlich der Sicherheit ist, daß etwaige Schwachpunkte eines Dienstes nicht genutzt werden können, um einen anderen Dienst, der nun nicht mehr auf der gleichen Maschine läuft, zu überwinden oder einzuschränken.

 
5.1.4.5. Mehrere innere Router

Der wichtigste Grund, diese Architektur aufzubauen, ist, daß der innere Router nicht genug Performance besitzt. Man sollte aber zunächst untersuchen, ob das äußere Gateway leistungsfähiger ist und ob zu viel Verkehr im Grenznetz stattfindet, der nicht ins Internet weitergeleitet wird. Bei Zutreffen eines dieser Sachverhalte sollte der innere Router durch einen leistungsfähigeren ersetzt werden, um ihn an den Äußeren anzupassen oder es sollte eine Überprüfung der Konfiguration stattfinden. Bei Einsetzen zweier (oder noch mehr) Router, um das Grenznetz an verschiedene Teile des internen Netzes anzuschließen, besteht die Gefahr, daß die Routingsoftware entscheidet, daß der kürzeste Weg von einem internen Netz in ein anderes internes Netz über das Grenznetz läuft. Hier kann ein Eindringling nun die vertraulichen Daten mitverfolgen. Je nach konfigurierter Paketfilterung kann das funktionieren oder auch nicht. In beiden Fällen besteht ein Nachteil; das Mithören des Verkehrs oder die Verbindung kommt nicht zustande. Da die inneren Router die komplexeste Filterkonfiguration aufweisen, verdoppelt sich mit jedem zusätzlichen Router die Wahrscheinlichkeit, daß sich Fehler einschleichen. Außerdem steigt der Wartungsaufwand beträchtlich.

Sollte es sich nicht umgehen lassen, diese Architektur aufzubauen (Alternativen weiter unten), muß mit der Einstellung zur Sache gegangen werden, daß niemand im internen Netz einem Benutzer im anderen internen Netz vertraut. Das heist, die einzige Verbindung zwischen den internen Netzen sollte das Grenznetz sein, und es sollten keine vertrauenswürdigen Daten darüber laufen. Eine ständige Überwachung des Grenznetzverkehrs ist erforderlich, um die Sicherheit beizubehalten. Empfehlenswert ist es auch, die Routerkonfiguration von demselben Administrator vornehmen zu lassen, um Konflikte zu vermeiden.

Zur Abrundung sind noch zwei Alternativen aufgeführt, die sicherer und eventuell kostspieliger sind. Man kann das Grenznetz mit mehreren internen Netzen auch über einen einzigen Router verbinden, der getrennte Schnittstellen besitzt. Die Konfiguration des Routers steigt zwar beträchtlich, allerdings werden alle oben genannten sicherheitsrelevanten Probleme umgangen. Bei vielen internen Netzen bietet sich auch ein internes Backbone an, welches über einen einzigen Router an das Grenznetz angeschlossen ist.

Noch sicherer und vor allem redundanter ist es, jedes interne Netz an ein anderes Grenznetz mit jeweils eigenem äußeren Router anzuschließen. Die Vorteile dieser Architektur werden im Punkt 5.1.4.7. ausführlich besprochen.

 
5.1.4.6. Mehrere äußere Router

Bei Vorhandensein mehrerer physischer Netzanschlüsse kann es sinnvoll sein, mehrere äußere Router einzusetzen. Die Verdopplung der Gefahr, daß in einen äußeren Router eingebrochen wird, ist nicht so bedeutend, da alle sicherheitsrelevanten Daten vom inneren Router weggefiltert werden und somit gar nicht in das Grenznetz eindringen können. Auch können die äußeren Router verschiedene Paketfilterregeln einsetzen, ohne daß es dabei zu Problemen kommt.

Abb. 5-4: Architektur mit mehreren äußeren Routern

Wenn einer der Anschlüsse nach Außen die Verbindung zu einem anderen Firmenstandort (Partnernetz) bereitstellt, kann es zu einen Risiko kommen. Da zwischen Partnernetzen firmeninterne Daten ausgetauscht werden, laufen diese Daten automatisch über das Grenznetz, von wo aus sie ein Einbrecher mithören könnte. Sollten also wichtige und geheime Daten in das Partnernetz transportiert werden, ist die Kombination mehrerer Grenznetze (siehe Punkt 5.1.4.7.) sinnvoller und vor allem sicherer.

In diese Kategorie fällt auch der Einsatz eines Routers mit mehreren Netzwerkinterfaces. Alle oben genannten Punkte treffen auch hierauf zu.

Zusammenfassend spricht bei genauer Planung und Konfiguration nichts gegen diese Architektur.

 
5.1.4.7. Mehrere Grenznetze

Eine Architektur mit mehreren Grenznetzen bietet sich ebenfalls an, wenn mehrere physische Internetanschlüsse vorhanden sind. Zum einen kann jeder Anschluß für sich konfiguriert und abgesichert werden und zum anderen kann es sinnvoll sein, über die zwei Anschlüsse verschieden sensible Daten zu übertragen. Allerdings sind zwei wichtige Punkte bei dieser Architektur zu beachten:

Wenn beide genannten Punkte richtig beachtet werden, steht dieser Konfiguration nichts im Weg.

 
5.1.4.8. Dual-Homed-Host mit überwachtem Teilnetz

Dies ist eine der sichersten Kombinationen. Hierbei wird das Grenznetz aufgespalten und ein Dual-Homed-Host eingefügt. Während am Dual-Homed-Host die Paketfilterung feiner eingestellt und kontrolliert werden kann, bieten die Router Schutz vor gefälschten Datenpaketen. Um alle Möglichkeiten auszuschöpfen, sollten auf dem Dual-Homed-Host nicht nur oder besser keine Proxies laufen, sondern die Paketfilterung sehr sorgfältig konfiguriert werden. Für die Proxies kann noch ein Bastion-Host eingefügt werden, der nur für diese Dienste zuständig ist.

Abb. 5-5: Architektur Dual-Homed-Host mit überwachtem Teilnetz

 
5.2. Vergleich von Firewalls verschiedener Anbieter

5.2.1. Einleitung

In diesem Abschnitt werden Firewallsysteme verschiedener Anbieter vorgestellt. Da außer für die Firewall Eagle 4.0 von Raptor nur Werbebroschüren und Datenblätter vorliegen, beschränken sich die Beschreibungen der Firewalls auf die Systemanforderungen. Laut Anforderungen (siehe Punkt 2.1.) dieser Arbeit soll eventuell die Eaglefirewall eingesetzt werden. Dafür ist auch eine Demoversion der Software mit der gesamten Dokumentation vorhanden. Auf Grund dieser Tatsache wird diesem System ein eigenes Kapitel (6.) gewidmet. Soweit man es aus dem vorhandenen Datenmaterial entnehmen konnte, wurde auch auf spezielle Features der verschiedenen Systeme eingegangen. Unter der Adresse:

http://www.netsys.com/firewalls/ sind die Fragen und Antworten aus den diversen Mailing-Listen der verschiedenen Firewallsysteme zusammengetragen. Von hier aus läßt sich bequem nach Informationen suchen, die: der unterschiedlichen Systeme betreffen.

 
5.2.2. Eagle 4.0 von Raptor

Die Version 4.0 des Raptor Eagle Firewall Systems für Windows NT und Unix unterstützt:

Eine genauere Beschreibung der Features und der Systemanforderungen folgt in Kapitel 6.

 
5.2.3. Borderware Firewall von Secure Computing

Diese Firewall unterstützt ein SSN (Secure Server Net). Mit diesem Feature kann ein zusätzliches getrenntes Netzwerksegment erstellt werden, welches vollständig vom internen Netz durch die Firewall abgesichert ist. In diesem Segment sind Application Server von Drittanbietern installierbar (z.B. WWW-Server), die im externen Netz leicht zu attackieren wären und im internen Netz ein Sicherheitsrisiko darstellen würden.

Eine Netzadressumsetzung verhindert, daß sensible interne Adressen nach Außen sichtbar sind. Bei Verbindungen von solchen Clients wird die Quelladresse auf die offizielle Adresse der Firewall umgesetzt.

Virtual Private Networks werden unterstützt, so daß sichere Verbindungen durch das Internet möglich sind. Zu diesem Zweck werden die Verbindungen verschlüsselt und das Internet als Backbone betrachtet.

Alle wichtigen Internetserver werden mittels Proxies unterstützt. Darunter zählen DNS, FTP, Mail (POP und SMTP), HTTP, NNTP und Real Audio.

Weiterhin unterstützt die Borderware Firewall URL-Filterung durch SmartFilter. Diese stützt sich auf eine über 60.000 URL’s umfassende Liste aus 27 Kategorien. Sie wird kontinuierlich durch Secure Computing auf den neuesten Stand gebracht und compiliert. Die neuen Versionen können aus dem Internet bezogen werden.

Als Zusatzprodukt ist der SafeWord 4.3 Authentication Server zur Authentifikation, Rechtevergabe und Zugriffskontrolle erhältlich. Der Server unterstützt DES, RADIUS, TACACS+ sowie Vasco, ActivCard, CryptoCard, Leemah und AssureNet/Pathways Produkte. Als Remote Access Plattformen werden CISCO, Bay Networks, 3COM/US Robotics, Ascend, Livingston, NT RAS und Novell Netware Connect unterstützt.

Systemanforderungen:

siehe auch: http://www.securecomputing.com

 
5.2.4. Firewall for NT von Secure Computing

Diese Firewall für Windows NT ist ein Dual-Homed Application Gateway. Die zugrundeliegende Sicherheitsarchitektur nutzt die Protocol Caption Engine Technology. Hierbei werden alle Netzwerkpakete abgefangen und analysiert. Es ist möglich, IP-Spoofing zu blockieren. Der NT Security Scanner checkt alle administrativen Funktionen und löst gegebenfalls Alarm aus. Alle Verbindungen werden mittels dem Suspicious Activity Monitor angezeigt. Dadurch kann der Administrator leicht Einbruchsversuche aufdecken. Auch diese Firewall unterstützt eine Netzadressumsetzung für IP-Adressen und Ports. Vorteilhaft ist die Integration von NT-internen Tools (z.B. EventViewer). An Netzwerkprotokollen werden zusätzlich IPX, AppleTalk, NetBEUI und NetBIOS unterstützt.

Systemanforderungen:

siehe auch: http://www.securecomputing.com
 

5.2.5. Firewall-1 von Checkpoint

Diese Firewall integriert folgende Schlüsselfunktionen in einem Sicherheitspaket:

Die Suite basiert auf der Check Point Open Platform for Secure Enterprise Connectivity (OPSEC). Dieses System bildet den Rahmen für die komplette Firewall, inklusive Netzwerkmanagement. Applikationen von Drittanbietern können mittels Application Programming Interfaces (APIs), Industriestandardprotokollen und einer Scriptsprache namens INSPECT eingebunden werden. Mit OPSEC kann zentral die gesamte Netzwerksicherheit definiert werden. Firewall-1 bietet von Haus aus Unterstützung von über 100 vordefinierten Applikationen, Services und Protokollen. Auch Geschäftsapplikationen, wie zu Beispiel Oracle SQL*Net, Sybase SQL Server, Real Audio, NetMeeting und InternetPhone, werden unterstützt. Die INSPECT Virtual Machine analysiert und überwacht jeden Kommunikationsversuch, bevor er an das Betriebssystem mit seinem Gateway weitergereicht wird. Die Access Control Lists (ACL) des Routers können definiert werden, um den Router in die unternehmensweite Sicherheitsphilosophie mit einzubeziehen. Kommunikationskanäle für VPNs werden verschlüsselt. Es ist auch möglich, verschlüsselte Verbindungen von einem Client zur Firewall aufzubauen. Die Module der Firewall-1 können auf verschiedenen Gateways laufen. Eine Synchronisationen der Module ist möglich. Bei Definition eines logischen Serverpools (zusammenschließen mehrerer Server zu einer logischen Einheit) werden die Nutzeranfragen gleichmäßig auf alle Server verteilt, um eine schnellstmögliche Antwortzeit zu erreichen (Server Load Balancing). Das zentralisierte Management basiert auf Regeln. Im Ereignisfenster kann visuell alles überwacht und kontrolliert werden.

Spezifikationen:

siehe auch: http://www.checkpoint.com

 
5.3. Wichtige Bestandteile einer Firewall

5.3.1. Proxies

Proxies sind ein fester Bestandteil von sogenannten Applicationfirewalls. Sie sind als Hilfsprogramme oder Systemdienste implementiert und dienen dazu, wichtige Internetdienste sicher zu machen. Dazu zählen unter anderem:

Fast alle Internetdienste basieren auf dem Client-Server-Modell. Das heißt, der Verbindungsaufbauende (Client) sendet eine Verbindungsanforderung an den Server der Gegenstation auf einen bestimmten Port (Portnummern siehe RFC1700). Die Gegenseite antwortet auf dieser Verbindung (Steuerverbindung) und teilt dem Client einen zweiten Port mit, auf dem er seine Datenverbindung einrichten soll. Ein Proxy fängt nun alle ankommenden Pakete ab, die auf dem Port des entsprechenden Serverdienstes eintreffen. Dabei ist es unerheblich, ob die Datenpakete von Außen (Internet) oder von Innen (internes Netz) stammen. Die enthaltenen Daten werden daraufhin auf Korrektheit überprüft und die Quell- und Zieladresse herausgefiltert. Je nach Konfiguration wird nun ermittelt, ob der Sender diesen Dienst nutzen darf, ob das Ziel erlaubt ist und, was ebenfalls sehr wichtig ist, ob das Datenpaket am richtigen Netzinterface angekommen ist, um zu verhindern, daß eventuelle gefälschte Pakete durchgelassen werden (siehe Punkt < href=kapitel7.htm#731 target=rechtesfenster>7.3.1.). Die Funktion des Blockierens von Address-Spoofing kann eventuell auch in der Firewallsoftware an sich (und nicht im Proxy) implementiert sein oder gar nicht.

Ist der Sender berechtigt, den Dienst auf die angeforderte Art und Weise zu nutzen, wird die Verbindung zum Ziel vom Proxy aus hergestellt. Alle weiteren Datenpakete laufen nun über den Proxy (Abb. 5-6), der je nach Konfiguration auch die Pakete der Datenverbindung auf Sicherheit hin untersucht. Eventuell wird noch eine Adressumsetzung vorgenommen (siehe Punkt 5.3.3.).

Abb. 5-6: Verbindung mittels Proxy

Falls der Sender den Dienst nicht in Anspruch nehmen darf, wird die Verbindung geschlossen.

Der Nutzer sollte im Normalfall überhaupt nicht merken, daß ein Proxy sämtliche Pakete abfängt. Einige Proxies ändern allerdings die Systemmeldungen gegenüber dem normalen Dienst ab, woraus der Anfragende ersehen kann, daß ein Proxy, und vor allem welcher, aktiv ist. Ein potentieller Angreifer kann nun gezielt nach eventuellen Sicherheitslücken in dem betreffenden Programm suchen und diese ausnutzen. Desweiteren kostet der Einsatz eines Proxies enorme Rechenzeit. Bei langsamen Maschinen kann es deshalb zu Wartezeiten kommen, bis die Verbindung steht. Außerdem kann sich die Wartezeit dadurch erhöhen, daß:

 
5.3.2. Paketfilterung

Die Paketfilterung ist ein großer und wichtiger Bestandteil einer Firewall. Bei Applicationfirewalls bildet sie meist eine Ergänzung zu den Proxies. Es gibt aber auch Firewalls, die nur auf der Paketfiltertechnik beruhen, wie zum Beispiel die Kernelfeatures IP-firewalling und IP-tunneling unter Linux zeigen. Auch auf Routern können Paketfilter eingesetzt werden, um den Datenverkehr zu kontrollieren. Es ist also auch möglich, nur mit Hilfe von Routern eine Firewall aufzubauen.

Ein Paketfilter filtert den gesamten Netzverkehr auf Grund von aufgestellten Paketfilterregeln. Diese Regeln können auf verschiedene Art und Weise konfiguriert und miteinander kombiniert werden, zum Beispiel:

Die Paketfiltersoftware analysiert alle am Netzinterface eintreffenden Datenpakete auf Zulässigkeit. Demzufolge kann der gesamte Datenverkehr, der über das Netzinterface läuft, kontrolliert werden, da alle verbindungsrelevanten Informationen, inklusive der zu übertragenden Daten, im Datenframe enthalten sind. Hierunter fallen: Eine Paketfilterregel wird nun definiert, indem man Festlegungen trifft, welche der obigen Informationen zutreffen müssen und ob diese Regel das Paket zulassen soll oder nicht (Allow oder Deny). Zum Beispiel soll es möglich sein, vom internen Netz ins Internet pingen zu können. Es müßten folgende zwei Regeln aufgestellt werden: Regel1: Allow ICMP-echo-request

Regel2: Allow ICMP-echo-reply

Zusätzlich kann noch festgelegt werden, von welchem Host oder Subnetz gepingt werden kann und wohin.

Nun muß Regel1 mit dem internen Netzinterface verknüpft werden und Regel2 mit dem äußeren. Die Paketfiltersoftware prüft nun alle ankommenden Pakete, ob sie als Protokoll ICMP eingetragen haben und ob die ICMP-Nachricht am internen Netzinterface vom Typ 8 (echo-request) und am externen Netzinterface vom Typ 0 (echo-reply) ist. Bei Erfolg wird das Datenpaket an dem entsprechenden Interface zugelassen. An diesem Beispiel sieht man, daß nicht nur Protokolle sondern auch ihre Untertypen gecheckt werden. Der Befehl traceroute ist wie der ping-Befehl auch eine Anwendung des ICMP-Protokolls, der aber nicht durchgelassen wird, da die Anfragen von einem anderen Typ und die Antworten zum Beispiel vom ICMP Typ 3 (destination unreachable) sind. Aus diesem Grund müßten weitere Regeln aufgestellt und an die entsprechenden Netzinterfaces gekoppelt werden. Es besteht auch noch die Möglichkeit, nur eine Regel aufzustellen und diese an beide Interfaces zu koppeln. Allerdings ist sie dann weniger sicher, da alles was das ICMP-Protokoll nutzt, durchgelassen wird. Die Regel müßte lauten:

Regel: Allow ICMP Mit Hilfe dieser Technik ist es auch möglich, bestimmte Protokolle auf andere Portnummern umzuleiten. Dies dient dazu, sichere Verbindungen mit Hilfe unsicherer Protokolle aufzubauen. Auch die im nachfolgenden Punkt 5.3.3. beschriebene Adreßumsetzung wird mit Hilfe von Paketfiltern geregelt.

 
5.3.3. Adreßumsetzung

Die Adreßumsetzung ist ein Feature, daß nicht von allen Firewalls unterstützt wird. Im Hinblick darauf, welche Informationen über das interne Netz und seine Struktur ein Außenstehender erhält, ist sie jedoch sehr nützlich.

Diese Technik dient dazu, in allen nach Außen gehenden Datenpaketen die Quelladresse und -port sowie im entgegengesetzten Fall die Zieladresse bzw. -port zu ändern. Hierbei wird im ersten Fall meistens die Adresse des externen Netzinterfaces eingetragen. Alle abgehenden Pakete tragen demzufolge die offizielle Adresse des Unternehmens und dem Empfänger scheint es, als würde nur ein Host und nicht ein Netz existieren. Die interne Netzstruktur (Subnetze, Hostadressen, ...) bleibt verborgen. Der Empfänger schickt nun seine Antwortpakete an die Adresse des externen Interfaces zurück und die Software kümmert sich darum, an welche interne Adresse das Paket weitergeleitet werden soll. Da die Firewallsoftware auch alle Datenverbindungen kontrolliert, ist dies nicht weiter schwierig.

Viele Proxies bedienen sich auch dieser Technik. Ein Mail-Proxy zum Beispiel setzt als Absender nicht user@host.subnet.firma.com sondern user@firma.com ein, wobei firma.com die offizielle IP-Adresse des externen Netzinterfaces ist. Weil Mail normalerweise zentral verwaltet wird, kann nun der Proxy am Empfängernutzernamen erkennen, daß user eine Mail bekommen hat.

Ein weiterer Vorteil ist, daß die Adreßvergabe im internen Netz nicht unbedingt den normalen Konventionen entsprechen muß. Es ist möglich, nach Außen ein Class-C-Netz darzustellen, obwohl intern Class-B- oder Class-A-Adressen genutzt werden. Auch die Nutzung von unerlaubten, von nichtroutbaren (siehe Punkt 3.3.2.) oder Class-E-Adressen kann ohne weitere Probleme von statten gehen. Letztere Möglichkeit kann jedoch durch die verwendete Software und vom Betriebssystem eingeschränkt werden. So ist es zum Beispiel unter Windows NT nicht möglich, einer Netzkarte ein Adresse größer als 223.254.254.254 zuzuweisen.

 
5.3.4. Tunnel

Mit einem Tunnel bezeichnet man die Verkapselung von Nachrichten und Daten eines Protokolls in einem anderen Protokoll. Die verkapselten Daten überwinden mit Hilfe des äußeren Protokolls einige Etappen im Datennetz oder auch durch die Firewall und werden am Ziel wieder ausgepackt und ins Netz eingespeist. Werden die Daten nun noch verschlüsselt, spricht man von einem Secure Tunnel. Die Abbildung 5-7 zeigt schematisch die Funktionsweise einer Sonderform des Secure Tunnels; eines Local Tunnels. Dieser stellt einen Secure Tunnel zwischen zwei nicht physisch verbundenen Netzinterfaces eines Rechners dar.

Abb. 5-7: Secure Tunnel zwischen 2 Netzinterfaces (Local Tunnel)

Manche Protokolle können auch sich selbst verkapseln, zum Beispiel IP-in-IP. Erlaubt eine Firewall Benutzern Pakete zu senden, so kann sie mit einem Tunnel umgangen werden. Dies ist natürlich ein großes Problem für die Sicherheit. Viele Firewalls erlauben deshalb zwar eine Tunnelung, aber sie muß explizit eingerichtet werden. Dies hat den Vorteil, daß der normale Nutzer nicht erkennt, daß er einen Tunnel benutzt. Mit der Verschlüsselung des Tunnels ist dieser zwar hinsichtlich des Mithörens sicher, selbiges wird aber auch dem Administrator verwehrt. In jedem Fall stellt diese Möglichkeit ein großes Potential vielfältigen Möglichkeiten dar. Die Firewall sollte versuchen, alle Pakete daraufhin zu untersuchen, ob irgendwelche Protokolle getunnelt werden und diese Pakete dann verwerfen. Ausschließlich mittels der Firewall definierte Tunnels sollten möglich sein.

 
5.3.5. Authentifikation

Unter Authentifikation versteht man das Beweisen der eigenen Identität. Die Authentifikation darf nicht mit Identifikation (Zusicherung der Identität) oder Authorisierung (Ableitung von Rechten aus der Identität) verwechselt werden. Man unterscheidet häufig zwischen der Benutzerauthentifikation und der Host-Host-Authentifikation.

 
5.3.5.1. Benutzerauthentifikation

Das wohl bekannteste Verfahren hierfür ist sicher der Paßwortmechanismus. Die Vorteile liegen eindeutig in der Einfachheit, in den geringen Kosten und in der Benutzerfreundlichkeit. Die Vorteile werden jedoch weitgehend von den Nachteilen kompensiert. Die Nachteile sind:

Eine Steigerung der Sicherheit sind die Einmal-Paßworte, die genau einmal verwendet werden und danach ungültig sind. Einem eventuellen Lauscher nützt das Ausspähen nichts. Auch öffentliche Logins sind dadurch nicht gefährdet. Es gibt verschiedene Algorithmen zum Berechnen dieser Paßwörter. Ein bekannter Algorithmus stammt beispielsweise von Lamport (Leslie Lamport. Password authentication with insecure communication. November 1981). Er beruht auf folgender Überlegung. Es existiert eine Funktion F, die mit verhältnismäßig geringem Aufwand berechnet werden kann, deren Umkehrung aber effektiv unmöglich zu berechnen ist. Der Benutzer besitzt ein Geheimnis x (Paßwort). Damit sich der Benutzer beispielsweise 1000mal anmelden kann, berechnet der Host F1000(x) und speichert nur diesen Wert. Wenn der Benutzer sich das erste Mal anmeldet, gibt er als Paßwort F999(x) ein und das System überprüft, ob F(F999(x))=F1000(x). War das Paßwort korrekt, merkt sich der Host diesen Wert und verwendet ihn, um das nächste Paßwort (F998(x)) zu verifizieren. Das S/Key-Verfahren, das von den meisten Firewalls unterstützt wird, beruht auf dieser Überlegung. Es unterstützt ebenfalls das Vorausberechnen von Loginsequenzen. Diese Paßwörter können dann u.a. auf Reisen verwendet werden.

Weitere Mechanismen zur Benutzerauthentifikation sind beispielsweise intelligente Chipkarten oder auch Smart-Cards. Die Information im Speicher dieser Karten dienen zur Authentifikation, wobei zur Ergänzung oft noch eine PIN eingegeben werden muß. Eine dritte Methode ist die Biometrik. Dabei werden benutzerspezifische Eigenschaften, wie:

verwendet. Da diese Eigenschaften jedoch vom jeweiligen Zustand des Benutzers abhängen, muß im Authentifikationsmechanismus eine Toleranz eingebaut werden, die zwangsläufig zu einer nicht 100%igen Identitätsprüfung führt.

 
5.3.5.2. Host-Host-Authentifikation

Die Host-Host-Authentifikation wird größtenteils in zwei Varianten über das Netz vorgenommen. Bei der adreßbasierten Variante wird die numerische IP-Quelladresse akzeptiert. Diese ist extrem leicht zu fälschen, wie im Punkt 7.3.1. noch gezeigt wird, und demzufolge nicht sicher. Bei der namensbasierten Variante muß zusätzlich zur Adresse der damit verknüpfte Name korrekt sein. Eine Umgehung dieses Mechanismus führt auf DNS-Angriffe zurück (siehe Punkt 7.4.3.).

In letzter Zeit kommen immer mehr kryptografische Verfahren auf. So unterschiedlich sie auch sein mögen, alle verlassen sich auf einen krytografischen Schlüssel als Identitätsbeweis. Normalerweise wird ein Schlüssel nicht nur mit einem Kommunikationspartner vereinbart. Man vertraut meistens einem Key Distribution Center (KDC) seinen Schlüssel an. Die Zentrale dient bei Kommunikationsversuchen als Vermittler. Ein Verbindungsaufbau geht in folgenden Schritten vor sich:

Dabei erfahren beide Seiten nie den Schlüssel der anderen Seite. Eine bekannte Implementierung eines KDC ist zum Beispiel Kerberos. Die Hauptprobleme bei kryptografischen Authentifikationsverfahren ergeben sich bei der Geheimhaltung des Schlüssels eines Hosts und ein sicheres KDC. Das KDC muß auf einer sehr gut abgesicherten (auch physisch) Maschine laufen. Denn jeder, der das KDC übernimmt, ist in der Lage, jeden der auf ihr eingetragenen Nutzer zu verkörpern. Auch kann jeder, der den Schlüssel eines Hosts kennt, jeden Nutzer des Hosts und den Host selbst verkörpern.

 
5.3.6. Werkzeuge

Diverse Zusatztools gehören auch zu den Bestandteilen einer Firewall. Jedoch sind nicht immer welche enthalten und es muß auf Software von Drittanbietern ausgewichen werden. Im folgenden wird auf eine kleine Auswahl von Tools etwas genauer eingegangen.

Netzwerkanalyser (Sniffer):

Ein Netzwerkanalyser, zumindest in einer abgespeckten Form, ist für die Administration einer Firewall unerläßlich. Es ist wichtig, den Unterschied im Gebrauch eines solchen Programms herauszustellen. Ein Angreifer wird die Software zur Findung von Schwachstellen im Zielnetz benutzen. Er hat das Ziel, in das Netz oder die Firewall einzubrechen. Dazu bedarf es einer genauen Analyse der vorhandenen Netzstruktur. Desweiteren kann mittels eines Sniffers der Netzverkehr abgehört und somit zum Beispiel Klartextpaßwörter ausfindig gemacht werden (siehe Punkt 7.5.11.). Für den Administrator jedoch dient ein Sniffer dazu, die Schwachstellen in der Netzsicherheit festzustellen, um sie dann zu beseitigen. Bei der Einrichtung von Paketfiltern ist es teilweise schwierig, die korrekte Funktion des Filters zu überprüfen. Auch das kann mit einen Netzanalyser effektiv erledigt werden. Einige Programme besitzen auch zusätzlich die Funktionalität eines Netzwerkmanagementsystems. Diese Applikationen sind ideal, um eventuelle Unsicherheiten sofort mit der gleichen Software zu beheben. Konfigurationstools: Manche Firewalls, zum Beispiel die Kernelmodule für Firewalling unter Linux, bestehen nur aus Paketfilterregeln. Auch zählen Firewalls nicht gerade zu den leicht konfigurierbaren Systemen und Diensten. Eine Benutzeroberfläche oder diverse kleine Tools helfen bei der Konfiguration und Wartung des Systems sehr. Sie helfen auch, Fehler in der Konfiguration zu vermeiden, indem sie unsinnige Kombinationen nicht zulassen. Manchmal ist die Reihenfolge der verschiedenen Konfigurationspunkte und -optionen entscheidend, ob das System optimal und vor allem sicher funktioniert. Logbücher: Die Protokollierung aller Ereignisse, wie: ist sehr hilfreich, um eventuellen Angreifern oder Sicherheitslecks auf die Spur zu kommen. Bei Angriffen kann die Protokollierung auch zur Beweisführung dienen. Oft werden auch mehrere Logbücher für unterschiedliche Situationen und Sicherheitslevel geführt. Die Logbücher können entweder mit einen normalen Editor bearbeitet und eingesehen werden, oder mit einem extra dafür vorgesehenen Tool. Manchmal werden die Protokolldaten auch wie in einer Art Datenbank geführt und/oder verschlüsselt.


© by Stephan Pilz