Fachforum "IT-Sicherheit"

Firewallkonzepte

Dipl.-Ing. Hubert Weikert

Beim Anschluß von Lokalen Netzen an das Internet wird heute der Einsatz von Firewallsystemen von allen Seiten dringendst empfohlen. Diese Systeme kosten viel Geld. Die Prospekte der Firewallhersteller versprechen ein sorgenfreies Leben, frei von =C4ngsten in Bezug auf Angriffe von Hackern und anderen Sicherheitsproblemen.

Ist dem wirklich so?
Garantiert ein Firewall den absoluten Schutz?
Ist ein Firewallsystem ein 'buy, install and forget'-System, welches am besten niemanden beim Surfen stört?

Im Vortrag sollen die Architektur, die Grenzen und die Probleme heutiger Firewallsysteme beleuchtet werden. Die beim Management mehrerer Firewallsysteme auftretenden Probleme und Ansätze zu deren Lösung werden als nächstes aufgezeigt. Virtuelle private Netze, z.B. zur Anbindung von Außenstellen an das interne LAN, sind das Thema des dritten Teils. Grundsätzliche, mit Firewalls in Verbindung stehende Sicherheitsprobleme von WWW-Servern schließen den Vortrag ab.

Firewall-Systeme

Als Firewall wird heute jedes System bezeichnet, welches den Datenverkehr zwischen zwei Netzwerken kontrolliert. Im einfachsten Fall ist dies ein Router. Ein Firewallsystem kann auch aus mehreren zusammenarbeitenden Komponenten, z.B. zwei Routern und einem Rechner, bestehen. Heutigen Firewall-Rechner besitzen meistens zwei oder drei Netzwerkanschlüsse, und lassen sich je nach Anforderung in verschiedene Topologien einbinden.

Die Kontrolle des Datenverkehrs kann auf verschiedenen Ebenen erfolgen. Für die Kontrolle der Ebenen 1 bis 4 des ISO-Modells kann ein Router ausreichend sein, für die höheren Ebenen ist ein Rechner notwendig. Der Router kann mit Access-Listen versehen werden. Diese Access-Listen erlauben die Kontrolle des Datentransfers auf Netzwerkebene, d.h. daß eine Kontrolle des Dateninhalts und auf Applikationsebene nicht möglich ist. Jedes Datenpaket wird für sich betrachtet, unabhängig von anderen Paketen. Der Router kann nicht erkennen, ob ein bestimmtes Paket zu einem Datenpaket gehört, welches schon vorher vermittelt wurde.

Zur Umgehung dieses Problems versucht man, den Firewall-Rechner so auszulegen, daß der Rechner mitverfolgt, welche Pakete schon geschickt wurden. Jegliche Kommunikation wird nach sogenannten Protokollen abgewickelt. Sind die Regeln solch eines Protokolls dem Firewall-Rechner bekannt, kann er verfolgen, ob die Pakete der im Protokoll vorgegeben Reihenfolge und Richtung entsprechen. Dieses Verfahren wird als 'statefull inspection' bezeichnet. Eine Kontrolle des Dateninhalts kann mit diesem Verfahren immer noch nicht stattfinden.

Ein 'application-level' Firewall erlaubt die Inhalts-Kontrolle. Bei diesem Firewall-Typ muß für jedes durch den Firewall vermitteltet Protokoll ein spezielles Programm, ein sog. Proxy, vorhanden sein. Der Proxy vermittelt zwischen den beiden Seiten des Firewalls. Das Proxy-Programm verhält sich genau so wie das Originalprogramm des jeweiligen Protokolls, z.B. wie ein FTP-Server. Mit einem Proxy ist es möglich, auf allen Ebenen der Kommunikation den Datenstrom zu Filtern und zu Beeinflussen.

Die heutigen Firewall-Produkte sind meist eine Kombination der obigen Techniken. Je nach nach Produkt sind die einzelnen Funktionen unterschiedlich stark ausgeprägt.

Firewallsysteme sind für einen vollautomatischen Betrieb ausgelegt. Allerdings mag dies täuschen, da je nach Firewall-Typ u.U. Statistiken, Logdaten, Alarme usw. generiert werden. Diese Botschaften benötigen einen Adressaten, einen kompetenten und verantwortlichen Menschen, der die Nachrichten des Firewalls bewertet und entsprechend handelt. Zur Definition dieser Aktionen ist zusammen mit, oder besser noch vor der Installation des Firewalls festzuleg= en, was der Firewall wie schützen soll. Es ist festzulegen, was in bestimmten Situationen zu tun ist, und wer dies tut. Der Betrieb eines Firewallsystems kann mehr Personalresourcen fordern als der Betrieb eines LAN-Servers.

Ein Firewall nach dem heutigen Stand der Technik kann nur gegen bereits bekannte Angriffs-Methoden schützen. Er kann möglichst viele Ereignisse protokollieren, um im Fall des Falles den Vorgang möglichst lückenlos rekonstruieren zu können. Nur, was soll man protokollieren? Die Datenmengen können pro Tag auf hunderte von Megabytes anwachsen. Wer wertet dies aus, und sucht darin die Nadel im Heuhaufen? Es stellt sich auch die Frage, ob die gesuchten Daten überhaupt im Log vorhanden sind, u.U. wurden sie schon entfernt...

Neueste Ansätze beruhen darauf, daß man ein Firewallsystem durch ein zusätzliches System ergänzt, welches den Verkehr auf dem Netzwerk überwacht. Dieses System ist vom Firewall völlig unabhängig, und es greift nicht aktiv in den Datenverkehr des Netzes ein. Dieses System hat die Aufgabe eines unparteiischen Flug-Schreibers (der Name 'Network Flight Recorder' wurde von Marcus Ranum geprägt. Marcus Ranum ist der Entwickler des TIS Firewall Toolkit.). Dieses System kann den Bedürfnissen entsprechend programmiert werden. Mit Hilfe dieses Systems kann man zwar einen Einbruch in das Netz nicht aktiv unterbinden, man kann ihn aber leichter erkennen und verfolgen. Das System kann, genauso wie ein Firewall, Alarme bei suspekten Ereignissen auslösen, z.B. wenn plötzlich DNS Anfragen von einem System beantwortet werden, welches kein DNS-Server ist (DNS-Spoofing).

Firewall-Management

Werden in einem Unternehmen mehrere Firewalls betrieben, so ergeben sich zusätzliche Komplikationen beim Management der Systeme. Sei es durch die räumliche Trennung der Standorte bei mehreren Niederlassungen mit eigenen Internetzugängen, oder sei es durch geschäftsprozeßbedingte Kopplung zu den Netzen verschiedener Partnerfirmen (Extranet). Die Konfiguration eines Firewallsystem ist immer einmalig auf den jeweiligen Standort und die Netzwerktopologie zugeschnitten. Es gibt keine Firewall-Konfiguration 'von der Stange'.

In den wenigsten Fällen ist es möglich, einen Firewall direkt an der Konsole des Rechners zu managen. Selten wird der Firewallrechner am Schreibtisch des Administrators stehen. Manche Firewalls erlauben ein remote Management nur über dedizierte Leitungen (seriell, eigenes LAN). Die Firewall-Konfiguration bestimmt, wie gut oder wie schlecht der Firewall seine Aufgabe erfüllt. Die Kenntnis der internen Konfiguration oder das Mithören der Passwörter beim remote Login über das interne LAN erleichtern einen Einbruch-Versuch. Daher wird dringends empfohlen, beim direkten Login in den Firewall-Rechner immer verschlüsselte Verbindungen zu benutzen. Ebenso ist darauf zu achten, daß die zur Konfiguration verwendete Client-Software die Daten verschlüsselt überträgt und Protokolle verwendet, die robust sind. TFTP und SNMP, wie von manchen Firewallherstellern verwendet, zählen nicht dazu.

Liefert der Hersteller keine ausreichenden Tools zum remote Management von Firewallsystemen, so kann man durch den den Einsatz von frei verfügbaren Tools die Situation wesentlich verbessern, vorausgesetzt, man hat die nötigen Fachkenntnis zur Installation der Programme. Programm= e wie Secure Shell (ssh, zum remote Login), PGP (zum Signieren von Konfigurationsdateien), rsync (zum Datentransfer und Datei-Synchronisation über ssh) und cfengine (für vielfältige Konfiguration-aufgaben, Betrieb ebenfalls über ssh) bilden schon eine sehr gute Basis. Hat man viele Systeme zu betreuen, mag die Installation eines eigenen Firewall-Management-Rechners vorteilhaft sein. Dieser zentrale Management-Rechner kann dann die Meldungen aller Firewalls auswerten und archivieren, und kann seinerseits einen abgesicherten WWW-Server bereitstellen (Apache-SSL), über den Management-Funktionen zentral für mehrere Firewallsysteme und Statusabfragen abgewickelt werden können. Wird ein 128-Bit Browser (Netscape mit Fortify) eingesetzt, so ist auch die HTTP Verbindung hinreichend abgesichert.

Krypto-VPN

VPN steht für 'Virtual Private Network' oder auch für 'Virtual Protected Network'. Allgemein versteht man darunter die Bildung von eigenen (privaten) Netzen auf der Basis eines bestehenden Netzes, z.B. des Internet. Diese Netze werden so gestaltet, daß nur beteiligte Kommunikationsknoten miteinander Verbindung aufnehmen können. Andere, unbekannte Knoten sind ausgeschlossen.

VPNs werden zwischen den beteiligten Endknoten manuell konfiguriert, zwischen den Endknoten werden Tunnels aufgebaut. Ein Endknoten kann entweder ein Router, ein Firewall-Rechner oder ein Arbeitsplatz-Rechner sein.

Als ein Tunnel wird eine Netzwerkverbindung bezeichnet, die zwei Endpunkte scheinbar direkt miteinander verbindet. Diese Verbindung läuft normalerweise über ein anderes Netzwerk. Der Datenverkehr innerhalb des Tunnel kann zur Erhöhung der Sicherheit verschlüsselt werden.

In unserer zunehmend mobilen Welt besteht immer mehr der Bedarf, sich von jedem Punkt der Welt in das heimatliche LAN einwählen zu können. Heute besitzt jeder Rechner am Internet eine eigene eindeutige IP-Adresse. Wechselt man mit seinem Notebook das LAN oder den Internetprovider, so erhält heute der Rechner am neuen Standort eine neue IP-Nummer. Bei großen Providern erhält man bei jedem neuen Besuch eine andere Nummer.

Zur Beseitigung dieses Problems wurde das Mobile-IP Protokoll entworfen. Bei diesem bedient sich der mobile Rechner eines Tunnels 'nach Hause', und arbeitet intern mir seiner Stamm-IP Adresse. Nur der externe Endpunkt des Tunnels verwendet die vom Provider vergebene IP Nummer.

Mobile IP befindet sich erst in der Einführungphase, es gibt derzeit außerhalb der UNIX-Welt nur einen MIP-Client. Ebenso gibt es nur eine handvoll Tunnel-Clients mit zugehörigen Servern, die den Aufbau eines verschlüsselten Tunnels zum Heimat-LAN erlauben.

Einige Firewallsysteme unterstützen den Aufbau von Firewall-to-Firewall VPNs. Diese verwenden entweder herstellereigene Kryptoverfahren, oder sie unterstützen bereits die von der IETF (Internet Engineering Task Force, technisch bestimmendes Gremium im Interne= t) vorgeschlagenen IPSec Protokolle. Einige Hersteller haben sich zur S/WAN (Secure WAN) Initiative zusammengeschlossen. Leider befinden sich diese Protokolle noch in der Entwicklungsphase, ein Einsatz auf breiter Front ist erst in den nächsten Monaten zu erwarten.

WWW-Server Security

Grundsätzlich kann ein WWW-Server vor oder hinter (extern oder intern) einem Firewall angeordnet werden. In beiden Fällen ist der Rechner des WWW-Servers so gut wie möglich abzusichern. Auch die Position hinter dem Firewall (aus der Sicht des Internet) schützt nicht gegen Angriffe über das HTTP-Protokoll, z.B. CGI-Attacken.

Die Position des WWW-Servers wird von mehreren Faktoren bestimmt. Dies sind zum einen funktionelle Faktoren, wie z.B. der Zugriff auf firmeninterne Datenbanken oder Platformabhängikeiten der Web-Anwendung. Andere Faktoren sind die erwartete Serverlast (bestimmt die Belastung des Firewalls bei interner Serverposition) und die Schutzwürdigkeit der auf dem Server zugänglichen Daten. Ebenso wichtig ist der leichte aber sichere Zugriff des Webmaster zu seinen Daten auf dem Server.

Eine mögliche Konfiguration eines WWW-Server besteht darin, daß der Haupt-Server mit den statischen Daten außerhalb des Firewalls steht, also aus dem Internet voll zugänglich ist. =DCber einen vorgeschalteten Router kann man den Zugriff für bestimmte Ports frei schalten. Der WWW-Server wird so konfiguriert, daß Anfragen an bestimmte URLs von diesem über den Firewall an einen internen WWW-Server weitergeleitet werden (Proxy-Funktion). Dieser interne Server generiert hauptsächlich dynamische HTML-Seiten, z. B. aus Abfragen einer internen Datenbank.

Eine andere Variante besteht darin, außerhalb des Firewalls einen Cache-Server aufzustellen, der die HTML-Anfragen an den eigentlichen, innerhalb des Firewalls stehenden, WWW-Server weiterleitet. Diese Konfiguration hat den Vorteil, daß sich der außerhalb stehende Cache dem Internet als WWW-Server präsentiert. Auf dem Firewall muß nur die Verbindung zwischen dem Cache und dem internen WWW-Server freigeschaltet werden, der interne Server tritt niemals direkt mit einem der Clients am Internet in Kontakt.

Hubert Weikert