6. Eagle for NT 4.0 von Raptor

6.1. Systemanforderungen

6.2. Installation

Im folgenden wird der Dual-Homed-Host an sich als auch das komplette System mit Routern als Firewall bezeichnet. Vor der eigentlichen Installation der Firewallsoftware sollten folgende Punkte beachtet werden:

Nun muß noch getestet werden, ob das Netzwerk verfügbar ist. Es empfiehlt sich, folgende Netzteilnehmer anzupingen: Wenn ein Punkt fehlschlägt, müssen eventuell folgende Fakten überprüft werden: Man sollte noch überprüfen, ob der DNS funktioniert, indem man alle oben genannten Netzteilnehmer mit ihren Namen anpingt. Dazu muß auch unter "Start à Settings à Control Panel à Network à Protocols à TCP/IP à Properties" der Punkt "LMHOSTS lookup" deaktiviert sein. Desweiteren muß das IP-Forwarding ausgeschaltet sein (Start à Settings à Control Panel à Network à Protocols à TCP/IP à Properties à Routing).

Für die eigentliche Installation muß man als Administrator lokal angemeldet sein. Nun wird die Datei install.cmd im Verzeichnis \Gateway\Nt der Installations-CD zu Ausführung gebracht. Im darauf folgenden Auswahlfenster muß "Eagle [Hawk included]" gewählt werden, um die Firewallsoftware inklusive der Administrationsoberfläche zu installieren. Nachdem im nächsten Fenster (siehe Abb. 6-1) die physischen Netzinterfaces dem logischen inneren und äußeren Interface zugeordnet und der Licence-Key eingetragen wurde, fährt die Installationsroutine automatisch bis zum Ende fort. Danach wird man aufgefordert, das System neu zu starten.

Abb. 6-1: Eagle Setup Fenster

Das Installationsprogramm nimmt folgende Änderungen vor:

In der Firewallsoftware enthalten ist ein Programm, genannt Vulture, welches defaultmäßig jede Minute gestartet wird. Es entdeckt und deaktiviert alle Services, die: Wenn diese Datei nicht vorhanden ist oder einen Wert von "-1" enthält, ist Vulture disabled. Analog kann die Aktivierungsfrequenz geändert werden. Die folgenden NT Services sind zusätzlich, aber nur am inneren Netzinterface !!! enabled: Da die Eagle Firewallsoftware als Service implementiert wurde, kann sie auch wie ein normaler Service gestartet und beendet werden (NET START EAGLE, NET STOP EAGLE). Demzufolge ist die Firewall auch unter "Start à Settings à Control Panel à Services" zu finden. Die Firewall schreibt auch Meldungen in das Applikationlogfile, welches mit dem Event Viewer betrachtet werden kann.

 
6.3. Einrichtung

Die Firewall wird mittels der grafischen Benutzeroberfläche Hawk (Graphical User Interface -GUI) bedient. Über diese GUI (Abb. 6-2) kann der gesamte Funktionsumfang konfiguriert und alle Aktivitäten überwacht werden. Vor allen Aktionen steht jedoch das Anmelden an der Firewall. Das kann entweder Lokal geschehen oder Remote. Bei der lokalen Anmeldung muß man als Administrator am System angemeldet sein. Es wird beim Remote-Anmelden ein Paßwort abgefragt. Bei Erfolg baut die GUI eine Verbindung zur Firewall auf.

Abb. 6-2: Die Hawk-GUI der Eagle Firewall

 
6.3.1. Grundeinstellungen

6.3.1.1. Hosts, Adressen, Netze und Netzinterfaces

Als ersten Administrationsschritt sollten der Firewall die physischen Netzteilnehmer bekannt gemacht werden. Darunter fallen unter anderem:

Dazu ist im Hawk der Button "Net Entities" anzuklicken. Es erscheint eine Dialogbox (siehe Abb. 6-3), in der alle Komponenten eingetragen werden können.

Abb. 6-3: Dialogfenster zur Definition aller Netzkomponenten

Jeder Eintrag bekommt einen eindeutigen Namen zugewiesen, über den er in allen weiteren Konfigurationspunkten auswählbar ist. Es empfiehlt sich, bei Hosts den Hostnamen einzutragen und bei Subnetzen den Netznamen. Weiterhin bekommt jeder Eintrag eine IP-Adresse zugewiesen (gilt nur für die Firewall !!!) und es kann eine kleine Beschreibung eingetragen werden. Für die verschiedenen Typen müssen (oder können) dann noch unterschiedliche Zusatzinformationen eingegeben werden.

Host:

Falls der Host direkt an ein internes Netzinterface der Firewall angeschlossen ist, kann im "Guard"-Feld noch seine MAC-Adresse spezifiziert werden. Die MAC-Adresse wird dann direkt mit der IP-Adresse assoziiert. (Secure) Subnet: Die Netzmaske muß im "Mask"-Feld eingetragen werden. Es kann noch ein Gateway angegeben werden. Bei allen Einträgen ist es möglich, den "Internal"-Button zu aktivieren, um anzugeben, daß der Eintrag ein Mitglied des internen Netzes ist. Desweiteren können noch spezielle Nutzer (siehe Punkt 6.3.1.2.) oder Authentifikationsmechanismen angegeben werden.

Durch Drücken des "Create"-Buttons wird der Eintrag erstellt.

Nach der Installation existiert schon der "universe*"-Eintrag. Er spezifiziert alle Maschinen innerhalb und außerhalb der Firewall und ist assoziiert mit der IP-Adresse 0.0.0.0. Dieser Eintrag ist ein permanenter Teil der Firewall und kann somit nicht gelöscht werden. Auch eine Umbenennung ist nicht möglich. An dieser Stelle sei erwähnt, daß alle permanenten Einträge oder Services der Firewall mit einem Asterisk (*) gekennzeichnet sind. Der "universe*"-Eintrag dient dazu, Regeln (siehe Punkt 6.3.3.) zu irgendwas aufzustellen, das nicht näher beschrieben werden kann, zum Beispiel Telnet vom internen Host A zu allen außerhalb liegenden Hosts.

 
6.3.1.2. Nutzer und Gruppen

Nutzer und Gruppen dienen dazu, Regeln aufzustellen, die nur auf bestimmte Nutzer oder Gruppen angewendet werden sollen. Das Dialogfenster (Abb. 6-4) öffnet sich nach einem Aktivieren des "Users"- oder "Groups"-Buttons im Hawk.

 

Abb. 6-4: Dialogfenster zur Definition der Nutzer

Ein Nutzer ist hierbei eine Person, der eine eindeutige ID in der Firewall zugeordnet ist. Mehrere Nutzer können zu Gruppen zusammengefaßt werden. Auch Gruppen besitzen eine eindeutige ID. Dabei muß jeder Nutzer einer Gruppe zugeordnet sein. Daher müssen Gruppen zuerst definiert werden, bevor ein Nutzer angelegt werden kann. Der Gruppe wird ein Name und eine ID zugewiesen. Eine Beschreibung kann noch angegeben werden. Falls keine ID vom Administrator vergeben wird, wird vom System eine beim Betätigen des "Create"-Buttons erstellt.

Für einen Nutzer ist ein eindeutiger Nutzername, eine eindeutige NutzerID und eine GruppenID anzugeben. Der volle Name kann eventuell als Beschreibung dienen. Dann muß noch ein Paßwort eingegeben werden. Bei Aktivieren des S/Key-Setups kann für den Nutzer die Authentifikation nach dem S/Key-Standard eingerichtet werden (siehe Punkt 5.3.5.1.). Darauf soll hier aber nicht eingegangen werden. Nach Drücken des "Create"-Buttons werden die Informationen in der Datei %Systemroot%\Raptor\Eagle\Sg\gwpasswd gespeichert.

 
6.3.1.3. Konfiguration des Gateways

Die Grundeinstellungen des Gateways und das Einrichten von diversen Proxies ist nach Betätigen des "Gateway"-Buttons möglich. Da die Eagle Firewall mehrere Gateways unterstützt, muß das zu konfigurierende ausgewählt werden. Danach erscheint eine Dialogbox (Abb. 6-5) in der die Grundeinstellungen vorgenommen werden.

Abb. 6-5: Dialogfenster zur Definition der Gatewayinterfaces

Zuerst wird das physikalische Interface gewählt. Dann wird dem Interface die entsprechende IP-Adresse zugewiesen und es kann eine kurze Beschreibung angegeben werden. Sehr wichtig ist, daß den Interfaces, die in das interne Netz führen, der Punkt "Connected to INSIDE Network" zugewiesen ist. Dem Interface können weitere sicherheitsrelevante Spezifikationen zugewiesen werden, wie:

Wenn ein Interface als extern deklariert wurde, wird an diesem Interface automatisch NetBIOS deaktiviert. Das Markieren eines Interfaces als intern hat folgende Konsequenzen: Unter "Published Addresses" können Net Entities zum transparenten Zugriff freigegeben werden. Das heißt, der Zugriff auf diese Maschinen ist direkt, wenn die Verbindung durch Regeln erlaubt ist. Ansonsten wird die Verbindung über die Firewall umgeleitet. Der Autor empfiehlt, dieses Feature aus Sicherheitsgründen nicht zu benutzen. Wenn die Verbindung über die Firewall umgeleitet wird (der Normalfall) dauert der Verbindungsaufbau zwar etwas länger, da das Security Gateway die verschiedenen Zulässigkeiten hinsichtlich Protokoll, Port usw. erst checken muß. Wenn die Verbindung steht, kann sie aber als sicher betrachtet werden.

Über "Spoof Protected Networks" können Subnetze vor IP-Address-Spoofing (siehe Punkt 7.3.1.) geschützt werden. Es bietet sich an, alle Einträge, die published sind, hier mit aufzunehmen. Die direkten Verbindungen werden damit etwas sicherer, da keine gefälschten Pakete darüber eingeschleust werden können.

 
6.3.2. Definition und Konfiguration von Paketfiltern

Im allgemeinen reicht es für die Sicherheit aus, wenn nur die Application Proxies und Zugriffsregeln benutzt werden. Für eine feinere Abstimmung oder wenn bestimmte Protokolle (auch firmenspezifische) benutzt werden sollen, kommen Paketfilter ins Spiel. Laut Anforderungen (siehe Punkt 2.3.) soll ping und traceroute vom internen Netz nach Außen möglich sein. Da es keine Proxies dafür gibt und keine Regeln dafür aufgestellt werden können, muß die Anforderung mittels Paketfilter gelöst werden.

Dazu ist entweder im Dialogfeld zur Konfiguration des Gateways oder unter dem Button "Secure Tunnels" ein Button "Filter" zu finden. Er führt zu einem Dialogfenster (Abb. 6-6), in dem alle relevanten Daten eingegeben werden können. Ein Filter kann entweder nur bestimmte Protokolle zulassen oder verbieten. Das Mischen ist nicht möglich. Es können allerdings Filtergruppen gebildet werden, über die das Mischen indirekt machbar ist.

Wieder muß ein Name für den Filter festgelegt werden. Dieser sollte ausdrücken, ob es sich um einen Allow- oder Deny-Filter handelt und welche Protokolle er beinhaltet. Danach sind zwei Netentities A und B zu wählen, die die beiden Endpunkte des Filters angeben. Auf diese Entities beziehen sich dann die Zulässigkeiten (Allow oder Deny). Für einen ping-Filter müssen demzufolge AàB icmp_echo_request und BàA icmp_echo_reply gewählt werden, wenn A ein Netentity des internen Netzes und B ein Äußeres ist (zum Beispiel universe*). Denn zuerst wird vom pingenden Host eine ICMP-Nachricht vom Type 8 (ECHO_REQUEST) gesendet, die vom Empfänger mit einer Nachricht vom Type 0 (ECHO_REPLY) beantwortet wird. Andere ICMP-Nachrichtentypen sind für einen ping-Filter nicht nötig und sollten deshalb auch nicht zugelassen werden. Das Beispiel in der Abbildung zeigt allerdings einen Filter, der alle ICMP-Typen in beide Richtungen durchläßt.

Abb. 6-6: Dialogfenster zur Definition von Paketfiltern

Sollen nun bestimmte Protokolle zugelassen werden und andere nicht, müssen mindestens zwei Filter definiert werden; ein Allow und ein Deny Filter. Beide Filter lassen sich nun zu einer Gruppe zusammenfassen. Dazu wird wieder ein Name vergeben und "Filter Group" gewählt. In dem darauf folgenden Fenster können nun aus allen schon definierten Filtern diejenigen in die Gruppe aufgenommen werden, die für die Filtergruppe wichtig sind. Dabei spielt die Reihenfolge eine große Rolle, da die Filter der Reihe nach auf die Pakete angesetzt werden und sobald einer paßt, egal ob Allow oder Deny, wird das Paket zugelassen oder nicht. Alle nachfolgenden Filter in der Gruppe werden nicht mehr beachtet. Die Reihenfolge der Filter in der Gruppe kann folgendermaßen geändert werden:

Die Reihenfolge der Protokolle innerhalb eines Filters ist ebenso von Bedeutung. Hier wirken die gleichen Algorithmen wie bei einer Filtergruppe. Die Filter und Filtergruppen können nun gleichwertig bei folgenden Dingen eingesetzt werden:  
6.3.3. Konfiguration der Dienste und Proxies

Die meisten, der unter Kapitel 2. spezifizierten Anforderungen können mit Proxies erfüllt werden. Dazu ist der "Gateway"-Button zu drücken und im "Configure"-Pulldown-Menu der gewünschte Proxy auszuwählen.

 
6.3.3.1. Mail

Der Eagle Mail Proxy (SMTPd) besitzt folgende Features:

Die Angabe eines internen Mail-Servers ist zwingend erforderlich. Ein externer Mail-Server kann optional angegeben werden. Beide Angaben können IP-Adressen oder DNS-auflösbare Namen sein. Die Checkbox "Allow all internal hosts out" befähigt alle Hosts des inneren Netzes, Mail direkt an den externen Mail-Server zu senden, indem automatisch entsprechende Regeln erstellt werden. Dabei wird der interne Mail-Server umgangen. Nach dem Drücken des "Setup"-Buttons zeigt eine Messagebox alle Änderungen an, die in der Konfiguration des Gateways geändert werden.

 
6.3.3.2. WWW

Die Firewall unterstützt den Zugriff auf das World Wide Web (WWW) mit verschiedenen Features, die auf verschiedenen Wegen konfiguriert werden. Die meisten können miteinander kombiniert werden. Die Features sind:

Zunächst wird eine oder mehrere Regeln erstellt, die die Zugriffsart der inneren und äußeren Nutzer auf den Web-Server regeln. Dabei wird auch die Unterstützung verschiedener Sicherheitskonzepte mit ausgewählt. Die folgende Tabelle gibt einen Überblick über die Features mit den dazugehörigen Protokollen, die dafür in eine Regel mit aufgenommen werden müssen:
 
Feature zu wählender Service
normales HTTP http
sicheres HTTP http-https
Verbieten bestimmter URLS http-restrict-urls*
Verbieten bestimmter MIME-Typen MIME restrictions
Zulassen nur bestimmter Dateitypen http-restrict-exts*
Verbieten bestimmter Kategorien http-ratings*
Tabelle 6-1: Zulässige HTTP-Regeln

Nach der Unterstützung der Features durch die erstellten Regeln, müssen einige noch konfiguriert werden. Die Konfiguration erfolgt dabei entweder durch Editieren bestimmter Dateien oder durch Hawk-Menüs. Das Hawk-Menü ist über den "Gateway"-Button und "Configure"-Pulldown-Menü und anschließender Wahl von "WEB" erreichbar.

Verbieten bestimmter URLs:

Eine Datei namens httpurls ist im Verzeichnis %systemdrive%\Raptor\Eagle\Sg zu erstellen. Mit einem Texteditor werden die zu verbietenden URLs eingetragen, wobei nur eine pro Zeile zulässig ist. Ein Asterisk (*) am Ende bedeutet, daß alle Seiten, die unterhalb der spezifizierten URL liegen, verboten sind. Zum Beispiel:

http://www.xyz.com/index.html
http://www.abc.uk/pictures/*

Verbieten bestimmter MIME-Typen: Auch hier ist mit einem Texteditor eine Datei zu erstellen. Sie muß httpmime heißen und sich im Verzeichnis %systemdrive%\Raptor\Eagle\Sg befinden. Die zu verbietenden MIME-Typen werden eine pro Zeile nach dem Schema Typ/Untertyp angegeben. Zum Beispiel:

image/jpeg
application/java

Zulassen von bestimmten Dateierweiterungen: Im oben beschriebenen Konfigurationsfenster ist der Button "Add extensions" zu drücken. In der folgenden Dialogbox werden alle Dateierweiterungen eingegeben, die zugelassen sind. Die Erweiterungen werden mit einem Leerzeichen getrennt und ohne dem vorangehenden Punkt eingetragen. Verbieten bestimmter Kategorien: Auch dieses Feature wird über das WEB-Menü konfiguriert. Dazu ist der "Cybernot"-Button zu drücken. Im folgenden Fenster kann aus schon vorgefertigten Profilen diejenigen ausgewählt werden, die verboten werden sollen. Es können aber auch eigene Profile erstellt werden. Diese sogenannten WebNOT-Listen werden regelmäßig upgedatet. Die jeweils aktuelle Fassung kann für die Eagle Firewall von Raptor Systems Webseite heruntergeladen werden (ftp://ftp.raptor.com/pub/unsupported/httprating.db). Die Datei httprating.db muß ins Verzeichnis %systemdrive\Raptor\Eagle\Sg kopiert werden. Umleitung des Services mittels virtuellem Host: Für Außenstehende kann der Web-Server über eine nicht im internen Netz existierende IP-Adresse zur Verfügung gestellt werden. Die Vorgehensweise dazu wird noch unter Punkt 6.3.6. erläutert. Als Service ist hierbei http zu wählen. Unterstützung eines externen Web-Cache-Proxies: Ein vor der Firewall im externen Netz installierter Web-Cache kann die Performance deutlich steigern. Damit der HTTPd den Cache unterstützt, ist im WEB-Menü der externe Proxy-Host und optional der Port einzutragen. Transparenter Zugriff für externe Nutzer: Dazu muß der Web-Server als Host eingetragen sein (siehe Punkt 6.3.1.1.). Dieser Host wird am äußeren Interface unter "Published Address" eingetragen (siehe Punkt 6.3.1.3.). Die zu erstellende Regel muß einen HTTP-Service von universe* zum Web-Server unterstützen. Load-Balancing: Ein virtueller Web-Server muß erstellt werden, der den Service zu einem reellen Server umleitet. Der Name dieses Servers wird auf mehrere IP-Adressen gemappt, indem in der hosts-Datei mehrere IP-Adressen auf denselben Namen weisen. Dazu muß der DNS-Server DNSd der Eagle Firewall laufen (siehe Punkt 6.3.3.3.).
 
6.3.3.3. DNS

Der DNS-Server der Eagle Firewall (DNSd) besitzt folgende Einschränkungen:

Die Konfiguration kann mittels Hawk erfolgen oder durch Editieren der beiden Konfigurationsdateien hosts und hosts.pub im Verzeichnis %Systemroot%\System32\Drivers\Etc. Die Datei hosts enthält dabei Informationen über versteckte Systeme, die nur von internen Nutzern abgefragt werden können. Im Gegensatz dazu enthält die Datei hosts.pub öffentliche Informationen, die Nutzer von außerhalb und von innerhalb abfragen können. Das Format der beiden Dateien ist das gleiche, wie schon unter Punkt 3.2.3. beschrieben. Soll die Konfiguration mittels Hawk erfolgen, muß der "Gateway"-Button gedrückt und dann im "Configure"-Pulldown-Menu "DNS" gewählt werden. Nun wird mittels drei Radiobuttons über drei Menüs: der DNS-Server konfiguriert.

Interfaces & Forwarders:

Alle Anfragen, die am Interface der unter "Private Interfaces" eingetragenen Adressen eintreffen, haben Zugriff auf die versteckten und öffentlichen Informationen. Anfragen an nicht eingetragenen Interfaces können nur auf öffentliche Informationen zugreifen. Unter "Forwarders" werden externe DNS-Server aufgenommen, zum Beispiel der des ISP. Durch Drücken des "Create"-Buttons werden die Angaben gesichert. Public Domains & Networks: Hier werden die öffentlichen Domains und Netzwerke eingetragen. Private Domains & Networks: Alle inneren Netzwerke sowie die Domain dieser Netzwerke werden hier aufgenommen. Zum besseren Verständnis der Netzwerkkonfiguration von Windows NT sollen die nachfolgenden Erläuterungen dienen. Auf der Firewallmaschine darf kein WINS-Server und kein Microsoft-DNS-Server laufen. Das Default-Gateway des äußeren Netzinterfaces ist der Router zum Internet, während das innere Interface kein Default-Gateway besitzt. Für die inneren Clients ist als Gateway das innere Interface der Firewall oder eines Routers im internen Netz zu vergeben. Als Suchreihenfolge des DNS ist auf der Firewallmaschine die Loopbackadresse (damit wird der lokale DNSd angesprochen) und als zweites der DNS-Server des ISP anzugeben.

Die folgenden Tabelle gibt einen Überblick darüber, was in welcher Datei von Hand editiert werden muß, damit die oben beschriebenen Features unterstützt werden, die nicht mittels Hawk konfiguriert werden können. Schlüsselwörter sind fett gedruckt!
 
Feature Datei Eintrag
zusätzlicher Mail-Server hosts.pub IP name.domain # mxfor Priorität Domain
zusätzlicher primärer Name-Server hosts # root_server name.domain
IP name.domain
sekundärer DNS-Server hosts # nsfor name.domain
zusätzliche Subdomain hosts IP name.domain # nsfor subdomain.domain
Tabelle 6-2: Unterstützung zusätzlicher DNSd-Features

Beispiele:

Domain ist xyz.com
2. Mail-Server (MAIL2): 1.2.3.4 MAIL2.xyz.com # mxfor 5 xyz.com
primärer NS (MainNS): # root_server MainNS.xyz.com 1.2.3.1 MainNS.xyz.com sekundärer DNS (SEC): # nsfor SEC.xyz.com
Subdomain (abteilung): 1.2.3.5 hostname.xyz.com # nsfor abteilung.xyz.com
 
6.3.4. Erstellen von Regeln

Die gewünschten Anforderungen, die nicht mit Proxies eingerichtet werden können, werden mittels Regeln durch die Firewall untersützt. Dazu ist im Hawk der Button "Rules" zu drücken und es öffnet sich ein Dialogfenster, wie in Abbildung 6-7 dargestellt ist. Nach Eingabe einer Beschreibung und den Kommunikationsendpunkten wird festgelegt, ob die zu erstellende Regel eine Verbots- (Deny) oder Zulassungsregel (Allow) sein soll. Dann können aus der Service- und Protokollliste die Services und Protokolle in die Regel aufgenommen werden. Im Beispiel sind das ftp, gopher und telnet in einer Deny-Regel, da diese Dienste nicht von Außen nach Innen unterstützt werden sollen (siehe Punkt 2.4.). Optional kann die Regel noch für bestimmte Nutzer, Gruppen und Zeiten festgelegt werden. Die Einrichtung einer bestimmten Authentifizierung und einer Alarmzeit ist auch möglich. Ein Klick auf den "Create"-Button erstellt die Regel. Nach einer Rekonfiguration des Gateways (Pulldown-Menu "File à Save") ist sie aktiviert. Auf die gleiche Art und Weise werden ebenfalls die zulässigen Dienste als Allow-Regel definiert. Bei Nutzung eines dieser Dienste meldet sich das Eagle Secure Gateway, welches nach erfolgreicher Anmeldung die Kommunikationsverbindung an den Partner weitervermittelt.

Abb. 6-7: Dialogfenster zur Definition der Regeln und Applicationproxies

 
6.3.5. Secure Tunnels

Wie schon unter a href=kapitel5.htm#534 target=rechtesfenster>5.3.4. beschrieben, dienen Tunnel dazu, Protokolle in andere Protokolle zu kapseln, um damit bestimmte Wegstrecken zu überbrücken, in denen das gekapselte Protokoll nicht unterstützt wird. Die Secure Tunnel der Firewall sind solche Tunnel, die durch die Firewall hindurchführen oder zwischen zwei Firewalls bestehen und deren Verbindung verschlüsselt ist. Die Endpunkte können zum einen Hosts und Subnetze innerhalb und außerhalb des internen Netzes sein und zum anderen auch nur die Netzinterfaces der Firewall. Die Eagle Firewall unterstützt Swipe- und IPSEC-basierte Secure Tunnels. Die Endpunkte eines Tunnels müssen vom gleichen Typ sein. Die Unterschiede zeigt Tabelle 6-3.
 
Typ Beschreibung
Swipe Diese Tunnel verstecken die Adresse der Tunnelendpunkte des internen Neztes vor der Außenwelt. Sie benutzen einen einfachen Header für die Verschlüsselung und Authentifizierung. Das System ist proprietär.
IPSEC Auf IPSEC basierende Tunnel benutzen separate Header für die Verschlüsselung und Authentifizierung. Sie verstecken die Adressen der Endpunkte nicht. IPSEC ist ein standardisiertes Protokoll.
Tabelle 6-3: Unterschiede zwischen Secure Tunnel Typen

Laut Anforderungen (siehe Punkt 2.3.) sollen ICMP basierte Anwendungen (ping, traceroute, ...) von Innen nach Außen möglich sein. Der Einsatz des unter Punkt 6.3.2. definierten ICMP-Filters als Input- oder Outputfilter des Gateways funktioniert nicht. Auf der Raptor FAQ Webseite (http://www.raptor.com/cs/FAQ/entv4localtunnel.htm) wird beschrieben, daß dazu ein Secure Tunnel zwischen dem inneren und äußerem Netzinterface der Firewall eingerichtet werden muß. Einen solchen Tunnel nennt man auch Local Tunnel. Am Beispiel des Einrichtens eines Local Tunnels für ping und traceroute soll die Konfiguration eines Secure Tunnels verdeutlicht werden (Abb. 6-8). Wichtig ist noch, daß bei Benutzung von Local Tunnels das IP-forwarding aktiviert sein muß (Start à Settings à Control Panel à Network à Protocols à TCP/IP à Properties à Routing).

Abb. 6-8: Dialogfenster zur Definition von Secure Tunnels

Zuerst werden zwei Netentities erstellt, die die Kommunikationspartner darstellen. Beide müssen vom Typ "Secure Subnet" sein. Dieser Begriff ist etwas irreführend, da auch ein Host von diesem Typ sein kann (Netzmaske = 255.255.255.255). Im Beispiel ist das der interne Host Alpha (sec_Alpha) und der universe*-Eintrag nochmal als sec_Universe. Dann wird, wie schon unter Punkt 6.3.2. beschrieben, ein entsprechender Filter erstellt. Nun kann der eigentliche Local Tunnel kreiert werden. Dazu ist im Hawk der "Secure Tunnel"-Button zu drücken. Nach Eingabe einer Beschreibung werden die beiden Endpunkte (A: sec_Alpha; B: sec_Universe) und der Filter (ICMP_filter) gewählt. Als Tunneltyp kommt der Einfachheit halber "Swipe" zum Einsatz und als Swipe Typ wird "None" (keine Verschlüsselung) gewählt. Nun müssen noch zwei Indizes vergeben werden, die bisher im System noch nicht existierten. Nach eine Klick auf den "Create"-Button ist der Local Tunnel erstellt. Das Gateway muß nun noch rekonfiguriert (Pulldown-Menu "File à Save") und eine statische Route eingetragen werden. Nun sollte ping funktionieren.

 
6.3.6. Umgeleitete Services oder virtuelle Hosts

Virtuelle Hosts, oder auch virtuelle Adressen, sind IP-Adressen, die von außerhalb der Firewall sichtbar sind, für die es aber im internen Netz keine physische Station gibt. Mit diesem Feature kann man diverse Dienste auf genau festgelegten Adressen im Internet anbieten, ohne daß der Nutzer die richtige Adresse des Dienstes kennt. Er merkt auch nichts davon, daß die Adresse nur virtuell ist. Die umgeleiteten Dienste werden mit Hilfe eines Proxies realisiert. Das Prinzip verdeutlicht die Abbildung 6-9.

Abb. 6-9: Virtuelle Hosts

Zur Konfiguration ist im Gatewayfenster ("Gateway"-Button) im "Configure"-Pulldownmenu der Eintrag "Redirected Services" zu wählen. Im Feld "Requests to" ist die Adresse des virtuellen Hosts und unter "Mask" die Netzmaske anzugeben. Der umgeleitete Service muß aus dem Menü gewählt werden. Nun ist noch die Adresse und (optional) der Port einzutragen, zu dem die Verbindung umgeleitet werden soll. Wichtig ist:

Für Hosts ist unter "Mask" 255.255.255.255 anzugeben. Es können auch komplette Subnetze umgeleitet werden. In diesem Fall enthält dieses Feld die Netzmaske.

 
6.4. Wartung des Systems

Im vorhergehenden Abschnitt wurde beschrieben, wie alle unter Kapitel 2. genannten Anforderungen mit Hilfe der Eagle Firewall erfüllt werden können. Der Administrator hat nun noch die nachfolgenden Aufgaben:

Zu diesem Zweck sind im Lieferumfang der Firewall verschiedene Tools enthalten, die mehr oder weniger in die Hawkoberfläche integriert worden sind. Dieser Abschnitt befaßt sich mit der Vorstellung dieser Tools sowie mit den zusätzlichen Konfigurationsmöglichkeiten der Firewall, die nicht unter dem Abschnitt 6.3. behandelt wurden.

 
6.4.1. Der Editor

In die Hawk-Oberfläche ist ein Editor integriert, mit dem die wichtigsten Konfigurationsdateien der Firewall editiert werden können, wie zum Beispiel die Dateien hosts, hosts.pub oder httpurls. Dazu ist im Hawk der "Editor"-Button zu drücken und im "File"-Pulldown-Menü die zu editierende Datei auszuwählen. Es empfiehlt sich, die Dateien immer mit dem Editor zu bearbeiten, weil beim Starten der Hawk sonst Messageboxen erscheinen, die darauf hinweisen, daß die bestimmte Datei von Hand editiert worden ist.

 
6.4.2. Das Logbuch

Mit dem Button "Examine Logfile" kann das Logbuch eingesehen werden. Hierin werden alle Verbindungen und Verbindungsversuche vermerkt. Die Nachrichten gliedern sich dabei in folgende 7 Kategorien:

Am Ende eines jeden Tages wird automatisch das Programm changelog aufgerufen, welches das aktuelle Logfile in das Verzeichnis %systemdrive%\Raptor\Eagle\Sg\oldlogs verschiebt. Diese Datei besitzt den Namen logfile.JJMMTT. Dabei stehen die Buchstaben für das Jahr, den Monat und den Tag der Erstellung. Das changelog-Programm kann auch manuell gestartet werden. Es befindet sich im Verzeichnis %systemdrive%\Raptor\Eagle\Bin.

Um die Anzeige des Logbuches etwas übersichtlicher zu gestalten und um nicht so wichtige Meldungen aus- bzw. einzublenden, können Filter erstellt werden. Dazu ist der "Configure Filter"-Button zu drücken, um den Filter zu konfigurieren und die Checkbox "Use Filter" zu markieren.

Mit Hilfe des "Update"-Buttons wird die Anzeige aktualisiert und der "Connection"-Button öffnet ein Fenster, indem alle Verbindungen angezeigt werden (siehe auch Punkt 6.4.3.). Die Zeitintervalle, in denen das Logbuch aktualisiert wird, sind in der Datei stats.cf festgelegt und können durch Editieren dieser Datei verändert werden. Mit Hilfe des Programms flatten, welches sich in %systemdrive%\Raptor\Eagle\Bin befindet, kann das Logfile in eine besser lesbare Form konvertiert werden, die auch von externen Programmen, wie Datenbanken oder Statistikprogrammen, besser importiert werden kann. Die Syntax lautet:

flatten logfilename > ausgabedatei

 
6.4.3. Überwachen des Gateways

Der Button "Monitor Gateway Activity" im Hawk öffnet ein Fenster, indem alle aktuellen Verbindungen mit ihren Quell- und Zieladressen, dem benutzten Service und der Onlinezeit angezeigt werden. Zu jeder Verbindung können noch einige Details eingeblendet werden und es ist möglich, jede Verbindung zu beenden. Desweiteren erhält man hier die Information, ob das Gateway aktiv (up) oder inaktiv (down) ist. Der Status des Gateways kann verändert werden und man kann das Gateway anweisen, seine Konfigurationsdateien neu einzulesen. Dies alles sind Menüpunkte im "File"-Pulldown-Menü.

 
6.4.4. Das snetshot-Programm

Das Tool snetshot im Verzeichnis %systemdrive%\Raptor\Eagle\Bin ist ein Netzwerksniffer, welcher im Lieferumfang der Eagle Firewall enthalten ist. Der Unterschied zu einem "normalen" Sniffer ist, daß das Programm die Netzkarte nicht im Promiscuous-Mode betreibt. Der Promiscuous-Mode befähigt eine Netzkarte, alle Pakete zu empfangen, also auch die nicht an Sie gerichteten. Normalerweise werden solche Pakete verworfen. Snetshot ist nur fähig, Pakete auszuwerten, die an einem virtuellen Interface der Firewall eintreffen. Die Aufrufsyntax lautet:

snetshot -d <IP-Adresse> [IP-Adr 1] [IP-Adr. 2] [-proto TCP, UDP, ICMP] [-port n]

Der Parameter "-d" steht für "Device" und bezeichnet die Adresse des Interfaces, von dem die Datenpakete analysiert werden sollen. Dieser Parameter muß angegeben werden. Alle nachfolgenden sind optional. Die darauf folgenden ein oder zwei IP-Adressen werden ähnlich einem Filter auf den Header angewandt und dienen dazu, nur bestimmte Pakete zu analysieren. Analysiert werden bei einer IP-Adresse nur Pakete mit dieser Quell- oder Zieladresse, bei zwei angegebenen Adressen nur Pakete die zwischen diesen beiden Hosts ausgetauscht werden. Mit dem "-proto"-Argument wird das Protokoll spezifiziert. Nur Pakete des angegeben Protokolles werden ausgewertet. Erlaubt sind UDP, TCP und ICMP. Mit dem "-port"-Argument kann das Ganze noch auf den entsprechenden TCP- oder UDP-Port eingeschränkt werden. Ein Aufruf mit allen Parametern könnte beispielsweise so aussehen:

snetshot -d 211.12.1.1 199.2.3.12 144.45.45.3 -proto TCP -port 80

Das bedeutet, daß alle am Interface 211.12.1.1 ankommenden oder abgehenden TCP-Pakete des Ports 80 (HTTP) zwischen den Hosts 199.2.3.12 und 144.45.45.3 ausgewertet werden.

Das snetshot-Programm hilft sehr bei der Überprüfung der Konfiguration von Paketfiltern oder lokalen Tunneln.

 
6.4.5. Konfiguration der Meldungen

Die Eagle Firewall ermöglicht es, auf jede auftretende Meldung, die im Logbuch erscheint, eine der folgenden Reaktionen auszuführen:

Die genaue Erläuterung jeder möglichen Konfiguration würde den Rahmen dieser Arbeit sprengen, deshalb nur ein paar Hinweise. Die Nachrichtenkategorie (siehe Punkt 6.4.2.) muß gewählt werden. Es sind auch mehrere Kategorien zulässig. Dann wird das auszuführende Ereignis gewählt. Sollen mehrere Ereignisse ausgeführt werden, zum Beispiel eine Mail und Starten eines Programms, muß für jede Aktion ein extra Eintrag erstellt werden. Die versandte E-Mail wird nicht verschlüsselt und stellt somit ein Sicherheitsrisiko dar. Das Übertragen des Nachrichtentextes erfolgt über einen COM-Port. Dieser wird im Fenster "Gateway", Pulldown-Menü "Configure à Advanced" unter "Select COM Port" eingestellt. Bei Starten eines Programmes wartet die Firewall auf das Beenden des selbigen. Das Programm muß sich demzufolge selbst beenden. Das Datum und die Nachricht selbst werden als Parameter an das Programm übergeben.

 
6.4.6. Konfiguration von Protokollen und Diensten

Die Eagle Firewall unterstützt von Haus aus eine Menge von Protokollen mit ihren Untertypen (UDP, TCP, ICMP, ...) und Diensten (FTP, Telnet, ...). Manchmal ist es nötig, neue Protokolle zu definieren oder alte zu erweitern, um zum Beispiel Dienste zu unterstützen, die nicht zum Lieferumfang gehören. Die neuen Dienste werden von der Serverapplikation General Service Passer (GSP) gehandelt und heißen deshalb auch GSP-Services. Protokolle für diese Dienste unterliegen folgenden Einschränkungen:

 
6.4.6.1. Definition eines neuen Protokolls

Dazu wird im Hawk der "Protocols"-Button gedrückt. Es erscheint ein Dialogfenster, wie in Abbildung 6-10 dargestellt.

Abb. 6-10: Dialogfenster zur Definition von Protokollen

Nach Eingabe eines Namens wird das Basisprotokoll gewählt. Soll das neue Protokoll Grundlage eines neuen Dienstes werden, kommen nur UDP oder TCP in Frage. In diesem Fall wird ein Quell- und Zielport eingetragen. Das umrahmte Feld enthält variable Eingabemasken, die sich je nach Basisprotokoll ändern. Bei einem ICMP-Untertyp wird zum Beispiel die Message-ID eingetragen. Zusätzlich kann immer eine Beschreibung eingegeben werden.

So wird zum Beispiel die ICMP-Nachricht "Redirect" (Typ 5) von Haus aus nicht unterstützt. Sie kann aber für einen Angriff (siehe Punkt 7.3.4.3.) mißbraucht werden. Die Nachricht sollte hier definiert werden und kann daraufhin in einem Paketfilter Verwendung finden, um diesem Angriff abzublocken.

Der Autor vertritt die Ansicht, daß das Konzept nicht bis ins Letzte verwirklicht worden ist. Jede ICMP-Nachricht kann einen Untertyp (oder Code) enthalten (siehe Abb. 7-4). Das Protokoll kann nicht bis hinunter zu diesem Code definiert werden und demzufolge wird bei einem Paketfilter dieser Code auch nicht ausgewertet. Das kann auch zu Angriffen genutzt werden, wie der Autor noch im Punkt 7.5.5. zeigen wird. Gegen diese Art von Angriff ist die Eagle Firewall machtlos!
 

6.4.6.2. Definition eines GSP-Services

Für einen neuen GSP-Service (oder Dienst) ist eventuell ein entsprechendes Protokoll zu definieren (siehe Punkt 6.4.6.1.). Nun kann im Hawk der "GSP-Service"-Button gedrückt werden. Ein Dialogfenster, wie in Abbildung 6-11 dargestellt, erscheint.

Abb. 6-11: Dialogfenster zur Definition eines GSP-Services

Nach Eingabe eines Namens und einer optionalen Beschreibung wird das Protokoll gewählt, auf dem der Dienst basiert und das entsprechende Eingangsgateway. Unter "Pass requests addressed to the gateway" wird der Server, auf dem der Dienst läuft und der Port, auf den die Anforderung umgeleitet werden soll, eingetragen. Wird diese Eintragung weggelassen, werden eingehende Verbindungswünsche gar nicht erst beantwortet. Die beiden Checkboxen haben folgende Funktion:

"Only send alerts on denials":

Diese Option bewirkt, daß nur bei Fehlschlagen einer Verbindungsanforderung ein Eintrag im Logbuch gemacht wird; sonst auch bei Erfolg. "Provide requestors address to destination": Wenn diese Option angewählt wird, wird die Quell-IP-Adresse und der Quellport im ersten Paket der eingehenden Verbindung weitergeleitet. Das ist sinnvoll, wenn das Zielsystem diese Informationen auswerten muß. Ein definierter GSP-Service kann nun in eine Regel aufgenommen werden. Ankommende Anforderungen werden transparent an das Ziel weitergeleitet (wenn es die Regel erlaubt). Der GSPd ist demzufolge eine Art Requester. Dem Verbindungssuchenden scheint es, als wäre er direkt mit dem Zielsystem verbunden. Aus sicherlich verständlichen Gründen sollten keine Dienste definiert werden, die schon mit den Standardproxies der Firewall abgedeckt sind.

 
6.4.7. Konfiguration des NTP-Servers

Das Network Time Protokoll (NTP) dient dazu, die Uhr der Firewall mit einem externen NTP-Server zu synchronisieren. Im Lieferumfang der Eagle Firewall ist ein NTP-Server enthalten. Um diesen zu konfigurieren wird im Gateway-Konfigurationsfenster "NTP" aus dem "Configure"-Pulldown-Menü gewählt. Nun werden (falls vorhanden) die NTP-Server des inneren Netzes eingetragen, wobei als Trennzeichen ein Leerzeichen dient. Nach Drücken des "Run Auto Configure"-Buttons wird die Uhr der Firewall mit den internen NTP-Servern synchronisiert und eine Verbindung zu einem externen Server aufgebaut. Zu diesem Zeitpunkt muß die Firewall mit dem Internet verbunden sein. Die Konfiguration dauert bis zu einer Minute und nach Beendigung wird eine Meldung ausgegeben. Die Synchronisation mit dem externen Server beginnt nach dem nächsten Neustart.

 
6.4.8. Allgemeine Hinweise

Die folgenden Hinweise beruhen auf Erfahrungen und Erkenntnissen des Autors und sind nicht als zwingend nötig anzusehen. Sie sollen nur bei eventuellen Problemen helfen und Mißverständnisse ausräumen.

 
6.5. Patches

Für die Version 4.0 der Eagle Firewall für Windows NT 4.0 sind zur Zeit 3 Patches verfügbar (http://www.raptor.com/cs/patches/patches.html). Patch 2 enthält alle Fixes von Patch 1 und Patch 3 enthält alle von Patch 2. Die Patches liegen als selbstextrahierende EXE-Datei vor und werden nach dem Auspacken durch Aufruf eines Scripts installiert. Alle ersetzten Dateien werden in einem Backupverzeichnis gesichert. Die nachfolgende Tabelle 6-4 zeigt einen Ausschnitt der wichtigsten bereinigten Bugs aller 3 Patches.
 
Datei Beschreibung Patch#
SMTPD.EXE Behebt Bug in smtplink. 1
TCP_GSP.EXE und UDP_GSP.EXE Die Anzahl der unterstützten Services wurde auf 100 erhöht. 1
GWCONTROL.EXE Wenn von einem Client das Lizenzlimit beendet war, wurde eine Exception ausgelöst. 1
DNSD.EXE
  • Behebt Probleme des Zonentransfers
  • DNSd startet nicht nach einem Neustart des Gateways
  • Speicherfreigabe wurde verbessert, ...
2
VPN.SYS
  • NT stürzte ab, nachdem die Firewall rekonfiguriert und eine Regel mit Gruppen erstellt wurde
  • Die Firewal stürtzte ab, wenn "SYN-Flood-Protection" für ein Interface gewählt wurde
  • Hinzufügen eines Generators für zufällige Sequenznummern, ...
2
GWCONTROL.EXE GWCONTROL stürzte mit einem Signal 11 nach dem Herunterfahren des Gateways ab 2
GOPHERD.EXE
  • Neuer nativer Proxy mit Unterstützung von mehreren Threads.
  • Performanceverbesserungen
3
GWCONTROL.EXE Zusätzliche Informationen bei einer Exception im Logbuch 3
NOTIFYD.EXE Unterstützung von SNMP Version 2 Nachrichten 3
SMTPD.EXE
  • Unterstützung des Versteckens von internen Mailheadern
  • Unterstützung von 8Bit Zeichen im Mailheader, ...
3
Tabelle 6-4: Überblick über bereinigte Bugs durch Patches

Die genauen Beschreibungen und die komplette Liste der Fehler können in den Dokumentationen der Patches nachgelesen werden.

 
6.6. Eagle NT Version 5.0

Seit einiger Zeit ist die neue Version 5 der Eagle Firewall for NT auf dem Markt. Die neuen Features (laut Datenblatt) sind:




© by Stephan Pilz