Um einen versuchten oder geglückten Angriff erkennen zu können und entsprechende Gegenmaßnahmen einleiten zu können, ist es erforderlich, daß der Firewall ein umfangreiches Logging zur Verfügung stellt. Unter Logging versteht man das Mitprotokollieren sämtlicher Ereignisse, die für den Administrator von Bedeutung sein könnten. Hierbei kann es sich z. B. um folgende Ereignisse handeln:
Von Bedeutung ist natürlich auch die Art der Darstellung dieser Informationen. Aufgrund der großen Anzahl von Einträgen, ist es einem menschlichen Betrachter unmöglich, diese zu überwachen. Es wäre also wünschenswert, wenn z. B. alle Pakete einer Verbindung zu einem einzigen Eintrag zusammengefaßt werden könnten. Auch ein Eintrag in unterschiedliche Dateien, je nach Art des Ereignisses, ist sinnvoll.
Möchte man die Kosten des Internet-Anschlusses auf die Benutzer umlegen, die den Anschluß tatsächlich in Anspruch genommen haben, so ist es weiterhin erforderlich, daß die Log-Einträge die Benutzernamen sowie das übertragene Datenvolumen enthalten. Mit den entsprechenden Tools ist dann ein problemloses Accounting denkbar.
Unter Alerting versteht man die Fähigkeiten eines Firewalls, im Falle eines versuchten Angriffes eine verantwortliche Person zu verständigen. Unterschiede hinsichtlich der Alerting-Fähigkeiten ergeben sich insbesondere im Hinblick auf die Auswahl der Ereignisse, bei denen eine Benachrichtigung erfolgen soll sowie in der Art der Benachrichtigung. Hier ist es natürlich erstrebenswert, daß der Firewall-Betreiber selbst definieren kann, bei welchem Ereignis eine Benachrichtigung erfolgen soll. Mögliche Methoden der Benachrichtigung sind z. B.
Für Ereignisse, die keine sofortige Reaktion erfordern, kann es ausreichen, einen Verantwortlichen über E-Mail zu benachrichtigen.
Ebenso kann man auf dem Monitor des entsprechenden Mitarbeiters ein Fenster öffnen, das die notwendigen Informationen enthält.
Der Firewall kann ein akustisches Signal abgeben, das einen Verantwortlichen zur Untersuchung der Ursache des Signals auffordert.
Tritt ein Ereignis außerhalb der normalen Arbeitszeit auf, so ist nicht unbedingt davon auzugehen, daß der verantwortliche Mitarbeiter bei Verwendung der bisher erwähnten Methoden so rechtzeitig davon Kenntnis erlangt, daß er Gegenmaßnahmen einleiten kann. Hier bietet sich die Möglichkeit, ihn mittels eines Faxes zu informieren.
Möchte man sichergehen, daß der Mitarbeiter schnellstmöglich über das Ereignis informiert wird, so bietet sich die Möglichkeit, ihn mit Hilfe eines Pagers zu verständigen.
Ideal ist natürlich auch die Möglichkeit, selber ein Kommando oder ein Programm angeben zu können, daß im Falle eines bestimmten Ereignisses zur Ausführung kommt.
Möchte man den Zugang von außen in das interne Netz zulassen, so stehen verschiedene Maßnahmen zur Authentifikation des Benutzers zur Verfügung. Diese bieten ein unterschiedliches Maß an Sicherheit und Benutzerfreundlichkeit. Die derzeit verbreitetsten Authentifikationsmechanismen werden im folgenden genannt:
Die Verwendung von Standard UNIX-Paßworten zur Sicherung des Zugangs von außen stellt ein großes Sicherheitsrisiko dar. Da die Paßworte im Klartext über das Netz übertragen werden, kann ein Angreifer, der das Netz abhört, Paßworte mithören und sich später mit Hilfe dieser Paßworte in den entsprechenden Rechner einloggen.
One-time passwords können nur ein einziges Mal verwendet werden. Gelingt es einem Angreifer also, ein derartiges Paßwort abzuhören, so kann er es nicht verwenden, um sich zu einem späteren Zeitpunkt Zugang zu dem entsprechenden System zu verschaffen. Die verschiedenen Möglichkeiten der Realisierung von one-time passwords werden in Anhang beschrieben. Die wichtigsten Produkte, die derzeit auf dem Markt erhältlich sind, sind die folgenden:
Bei diesem System besitzt der Benutzer ein Gerät, daß abhängig von der Zeit und einer Geheimzahl Paßworte erzeugt.
Es handelt sich um ein challenge/response-Verfahren, bei dem der Benutzer vom server eine Zeichenkette erhält, aus der er mit Hilfe eines Gerätes und einer Geheimzahl eine Antwort errechnen muß.
Dieses Verfahren berechnet eine gewisse Anzahl von Paßworten im voraus, die dann ausgedruckt und der Reihe nach eingesetzt werden können.
Von großer Bedeutung ist auch die Sicherheit der Firewall-Komponenten selbst. Hat ein Angreifer die Möglichkeit, die Konfiguration des Firewalls zu ändern, so ist das gesamte Unternehmensnetz ungeschützt. Kriterien, die die Sicherheit der Firewall-Komponenten bestimmen, sind z. B.:
Enthält die Firewall-Software selber Fehler, die zu Angriffen führen können, so ist der entsprechende Firewall natürlich praktisch nutzlos. Insbesondere besteht diese Gefahr, wenn die Hersteller auf frei verfügbare Produkte zurückgreifen, deren source-code allen Angreifern zur Verfügung steht, so daß eventuell vorhandene Fehler von diesen auch relativ schnell gefunden werden können.
Von Vorteil ist es hier, wenn die vom Firewall eingesetzten Programme in einer Umgebung laufen, in der selbst ein Fehler des Programms keine größeren Schwierigkeiten bereiten kann. Insbesondere sollte vor Start des Programms ein chroot-Kommando ausgeführt werden, mit dessen Hilfe dem Programm ein neues root-Verzeichnis zugewiesen werden kann. Enthält dieses Verzeichnis dann keine wichtigen Systemdateien und auch keine ausführbaren Files, so kann auch ein eventueller Fehler nur sehr schwer ausgenutzt werden. Weiterhin ist wichtig, daß die Firewall-Software möglichst nicht unter root-Privilegien läuft, damit ein eventueller Fehler nicht allzu großen Schaden anrichten kann.
Auf dem Firewall sollten keinerlei User-Accounts existieren, da man normalerweise nicht davon ausgehen kann, daß ein Benutzer ein hinreichend sicheres Paßwort wählt. Existieren User-Accounts auf dem Firewall, so dürfen sie keinesfalls nur mit Standard UNIX-Paßworten gesichert sein. Ein weiteres Problem ist, daß bei einer größeren Anzahl eingeloggter Personen die Entdeckung eines geglückten Angriffs natürlich deutlich erschwert wird.
Die Firewall-Software kann in regelmäßigen Abständen mit Hilfe einer Prüfsumme überprüfen, ob Änderungen an der Konfiguration vorgenommen wurden. Sollte dies der Fall sein, so ist umgehend jede bestehende Verbindung abzubrechen und auch keine weitere Verbindung mehr zuzulassen.
Verbietet man den administrativen Zugang zum Firewall über das Netz, so steigt die Sicherheit natürlich erheblich, da ein Angreifer, der die Konfiguration des Firewalls verändern möchte, Zugang zur Firewall-Konsole haben müßte. Andererseits ist ein derartiger Zugang aus Gründen der Benutzerfreundlichkeit anzustreben.
Es kann von Vorteil sein, wenn der Firewall nicht nur das interne Netz gegen das externe absichern kann, sondern wenn er weiterhin noch bestimmte Subnetze oder sogar einzelne server besonders schützen kann. Das kann bedeuten, daß bestimmte Subnetze auch vor Zugriff aus dem internen Netz geschützt werden sollen oder das bestimmte Subnetze überhaupt keinen Zugang zum externen Netz haben sollen, da die dort gespeicherten Daten um jeden Preis geheim gehalten werden müssen.
Gelingt es einem Netzbetreiber, die Adressen, die er innerhalb seines Netzes verwendet, geheimzuhalten, so bietet er einem Angreifer keinen Ansatzpunkt, wie er seinen Angriff beginnen könnte. Deshalb ersetzen einige Firewalls die Absenderadresse jedes Pakets durch die Adresse des Firewalls und tragen erst bei Eintreffen des Antwortpaketes die entsprechende Zieladresse wieder ein. Somit erfährt weder der Kommunikationspartner noch ein eventueller Angreifer, der das externe Netz abhört, eine andere Adresse als die des Firewalls selber. Solange nur die Adresse des Firewalls bekannt sein muß, kann man auch einen zweigeteilten name server verwenden, der nach außen hin nur die Adresse des Firewalls sowie die Adresse eines Rechners zur Weiterleitung von Mail bekannt macht, während nach innen alle Rechner des internen und externen Netzes bekannt sind. Ob dies aber einen echten Sicherheitsgewinn darstellt, ist fraglich, da einem Angreifer noch verschiedene andere Möglichkeiten zur Verfügung stehen, Adressen möglicher Angriffsziele herauszufinden. Da dies aber auf jeden Fall durch die Geheimhaltung deutlich erschwert wird, sollte nach Möglichkeit nicht darauf verzichtet werden.
Ein weiterer Grund für die Verwendung eines zweigeteilten name servers kann sein, daß das interne Netz keine offiziell registrierte Adressen verwendet. Dies ist zwar nicht empfehlenswert, läßt sich aber bei der derzeitigen Knappheit an Adressen nicht unbedingt vermeiden. Besitzt man einen zweigeteilten server, so kann man beliebige Adressen im internen Netz verwenden, da diese nie der Außenwelt bekanntgegeben werden.
Ein wichtiges Kriterium ist die Installation und Konfiguration des Firewalls. Gestaltet sie sich schwierig, so ist entweder Unterstützung des Herstellers notwendig oder es besteht die Möglichkeit, daß bereits hier Fehler passieren, die die spätere einwandfreie Funktion des Firewalls beeinträchtigen können.
Zu untersuchen ist hier insbesondere, ob die Installation und Konfiguration mit Hilfe einer umständlichen und schwer zu erlernenden Kommandosprache erfolgt oder ob eine graphische Benutzeroberfläche existiert, die ebenso übersichtlich wie leicht zu erlernen ist.
Ebenso ist es wichtig, das der Firewall offensichtliche Konfigurationsfehler selbstständig erkennt und den Betrieb erst aufnimmt, wenn eine sinnvolle und konsistente Konfiguration vorliegt.
Der Support durch den Hersteller ist natürlich speziell bei schwer zu bedienenden Systemen von großer Bedeutung. Ausreichender Support ist sehr wichtig, um die reibungslose Funktion des Firewalls zu gewährleisten. Hierzu zählt ebenfalls die rechtzeitige Versorgung mit neuen Versionen des Firewalls, falls eine Angriffsmöglichkeit bekannt geworden ist, die mit Hilfe dieses Firewalls nur unzureichend abgesichert ist.
Um die richtige Konfiguration des Firewalls zu ermöglichen, ist eine umfangreiche Dokumentation unerläßlich. Diese muß neben den Konfigurationshinweisen auch ausführliche Methoden zum Testen der erstellten Konfiguration enthalten, da die wenigsten Firewalls so übersichtlich konfigurierbar sind, daß man sich auf fehlerfreie Funktion ohne Tests verlassen kann.
Ein weiterer interessanter Aspekt ist die SNMP-Unterstützung[RFC1157]. Inzwischen werden bereits Firewalls angeboten, die über einen SNMP-Agenten verfügen. Dies ermöglicht es, Statusinformationen über den Firewall mit Hilfe eines Managementsystems anzufordern. Hier besteht natürlich die Gefahr, daß diese Informationen einem potentiellen Angreifer in die Hände fallen könnten, der sie wiederum als wichtige Informationen für die Durchführung eines Angriffs einsetzen könnte.
Das Konfigurieren des Firewalls über SNMP ist derzeit auf keinen Fall anzuraten, da das SNMP-Protokoll zu viele Sicherheitsmängel beinhaltet und somit möglicherweise ein Angreifer in die Lage versetzt wird, die Konfiguration des Firewalls über SNMP zu verändern.
Möchte man proprietäre Dienste über den Firewall einsetzen, so muß er Methoden bereitstellen, auch diese Dienste sicher zu behandeln. Dies läuft normalerweise über ein dienstunabhängiges Firewall-Konzept wie z. B. einen Paket-Filter oder ein TCP-Relay, die um die entsprechenden Filterregeln erweitert werden müssen.
Ebenso verhält es sich bei der Entwicklung neuer Standard-Dienste. Das Beispiel WWW zeigt, mit welcher Geschwindigkeit sich ein neuer Dienst im Internet etablieren kann, so daß nicht auszuschließen ist, daß bereits in einem oder zwei Jahren neuartige Dienste existieren, die ebenfalls geschützt werden müssen. Verfügt der Firewall dann über kein erweiterbares Konzept, so muß auf diese neuen Dienste verzichtet oder eine neue Version des Firewalls erworben werden.
Ein ganz wesentlicher Punkt ist die Transparenz des Firewalls. Man kann drei unterschiedliche Arten von Transparenz unterscheiden:
Ein anzustrebendes Ziel ist es, den Firewall für den Benutzer transparent zu gestalten. Wird der Verbindungsaufbau durch mehrstufige Sicherheitsabfragen verkompliziert, so müssen die Benutzer ihre Arbeitsgewohnheiten ändern. Kommt es zu Unzufriedenheit bei den Benutzern aufgrund der umständlichen Handhabung des Firewall-Systems, so kann es passieren, daß sie versuchen, den Firewall zu umgehen und somit die Sicherheit des ganzen Netzes gefährden.
Ebenso bedeutsam ist es, ob der Firewall für die Anwendungen transparent ist. Ist dies nicht der Fall, so müssen sämtliche clients abgeändert werden, sodaß sie mit dem Firewall zusammenarbeiten. Abgesehen von der Tatsache, daß dies bei großen Netzen einen riesigen Aufwand darstellen kann, ist es nur für client-Programme möglich, für die der source-code vorliegt.
Optimal wäre natürlich die völlige Transparenz des Firewalls sowohl gegenüber den Anwendungen als auch gegenüber den Benutzern.
Die Performance des Firewalls ist selbstverständlich auch von großer Bedeutung. Wenn aufgrund der vielen Überprüfungen, denen die einzelnen Pakete unterzogen werden, die Übertragungsleistung zu gering wird, so kann es sein, daß unzufriedene Benutzer dazu übergehen, den Firewall zu umgehen. Dies ist zm Beispiel über einen eigenen Modem-Anschluß denkbar und setzt die Sicherheit des gesamten Unternehmensnetzes aufs Spiel.
Die Preise der einzelnen Firewalls unterscheiden sich ganz erheblich. Natürlich ist beim Erwerb eines Firewalls dessen Preis ein zu bedenkender Faktor, wobei aber aufgrund eines günstigeren Preises keine Abstriche in Bezug auf die Sicherheit gemacht werden sollten.
Ähnlich wie beim Preis verhält es sich bei den Hardware-Voraussetzungen. Es gibt Lösungen, die einen PC erforden, es gibt aber auch Lösungen, für die drei Workstations notwendig sind. Auch dies stellt einen großen Kostenfaktor dar. Auch der Einsatz eines zusätzlichen Routers kann die Kosten deutlich erhöhen. Stehen in einem Unternehmen bereits Rechner zur Verfügung, die für den Firewall verwendet werden können, so ist natürlich von Bedeutung, auf welchen Rechnertypen der Firewall lauffähig ist. Man sollte aber keinesfalls einen weniger geeigneten Firewall einsetzen, nur weil bereits die entsprechenden Rechner zur Verfügung stehen.