Firewall/Technologien

Aus Foxwiki

Firewall-Technologien

Eine Firewall kann mit verschiedenen Methoden erwünschten von unerwünschtem Netzwerkverkehr unterscheiden, von denen aber nicht jedes Produkt alle unterstützt.

Paketfilter-Firewall

Zur Aufgabe einer Paketfilter-Firewall gehört es, Netzwerkpakete anhand ihrer Netzwerkadresse zu sperren oder durchzulassen.

  • Dafür wertet sie die Header-Informationen der Netzwerkpakete aus.

Die einfache (zustandslose) Paketfilterung arbeitet auf einem Firewall-Router mit statischen Regeln und betrachtet jedes Netzwerkpaket einzeln.

  • Sie stellt also keine Beziehungen zu den vorherigen Netzwerkpaketen her.

Demgegenüber gibt es eine erweiterte Form der (zustandsgesteuerten) Paketfilterung, die solche Beziehungen erfasst, indem sie auf die dynamische Technik der Stateful Inspection zurückgreift.

  • So wird der Zugriff auf das Quellsystem, das eine Kommunikation angefordert hat, weiter eingeschränkt.
  • Eine entsprechende Firewall wird ebenfalls als reine Paketfilter-Firewall klassifiziert, zumindest solange darauf keine (möglichen) Proxyfilter installiert werden.

Netzwerkadressierung als Grundlage für die Paketfilterung

Jede Netzwerkkarte hat eine eindeutige abrufbare Seriennummer, welche man MAC-Adresse nennt.

  • Sie setzt sich zusammen aus einer Herstelleridentifikationsnummer und einer angrenzenden laufenden Nummer.

Da diese Nummern eindeutig sind, lassen sie sich für eine simple aber dafür allgemeingültige Art der Adressierung in einem Netz nutzen.

  • Simpel deshalb, weil sich damit zwar beispielsweise ein Computer in einem unverzweigten Netz adressieren lässt, aber in der MAC-Adresse nicht angeben werden kann, für welches Programm des Computers das Netzwerkpaket bestimmt ist.

Unverzweigt deshalb, weil die MAC-Adresse aufgrund ihres Aufbaus nicht dafür geeignet ist, in weitere Teilbereiche zerlegt zu werden.

  • Eine Zuordnung des Adressaten zu einem bestimmten Subnetz ist also mit der MAC-Adresse nicht möglich.
  • Anders formuliert lassen sich MAC-Adressen wie Hausnummern nutzen, aber darüber hinaus weder einer Straße noch einem Bewohner des Hauses zuordnen.

Die Lösung bieten höhere Kommunikationsprotokolle, die über die MAC-Adresse gelegt werden.

  • Ein Netzwerkpaket wird also bildlich gesehen mehrfach verpackt, wobei die MAC-Adresse das äußere Paket darstellt und die weiteren Pakete Schicht für Schicht in diesem Paket stecken.
  • Innerhalb eines TCP-/IP-Netzes bildet die IP-Adresse das nächsthöhere Protokoll, also die nächste Verpackung.

Es handelt sich dabei um mehrere Ziffernblöcke, vergleichbar mit einer Hausadresse, die eine Straßennummer und eine Hausnummer enthält (welcher Teil der IP-Adresse sinnbildlich die Straßennummer, genauer die Netzwerk-ID, repräsentiert und welcher Teil die Hausnummer darstellt, genauer die Rechner-ID, wird durch die Subnetzmaske definiert).

In einem solchen Netz bildet das nächsthöhere Protokoll, also die Verpackung nach der IP-Adresse, den Port ab.

  • Der Port ist vergleichbar mit einer Raumnummer oder einem Namensschild.
  • Er bestimmt, für wen genau „im Haus“ das Paket bestimmt ist (genauer: welches Programm das Paket erhalten soll).

All diese „Verpackungen“ kann eine Firewall auswerten und die Netzwerkpakete entsprechend filtern, indem sie anhand eines „Wer darf worauf zugreifen“-Regelwerks entscheidet, welche Anfragen zulässig sind und welche nicht.

Die Adressenfilterung bildet die Grundform sämtlicher weiterer Firewall-Arten.

  • Filter, die der reinen Filterung von Netzwerkadressen dienen, also Paketfilter, kommen somit auch auf allen anderen Firewalls vor.

Firewall-Router

Ein Firewall-Router wird als Paketfilter-Firewall klassifiziert und ist eine Software, die auf einem Router installiert ist und die dort die Netzwerkverbindung beschränkt.

  • Dieser Firewall-Typ kann im einseitig transparenten (Router im NAT-Modus) oder beidseitig transparenten Modus in Erscheinung treten (Router ohne NAT).

Er wird hauptsächlich mit Firewall-Geräten assoziiert, die statische (zustandslose) Paketfilter verwenden, obgleich genau genommen auch eine Stateful Inspection Firewall auf einem Router aufsetzen kann.

  • Andere Firewall-Arten unterscheiden sich von einem Firewall-Router also dadurch, dass sie zumindest eine dynamische Form der Paketfilterung anbieten (Stateful Inspection) oder auf einem vom Router abweichenden Konzept basieren und dabei neben dem Paketfilter meist eine erweiterte Form der Filterung anbieten (wie Proxy Firewall und Personal Firewall).
Datei:Grafik11.png

Der Firewall-Router ist bei gleicher Hardware verglichen mit anderen Firewall-Arten sehr schnell.

OSI-Schichten

Das OSI-Schichtenmodell beschreibt die Designgrundlage von Kommunikationsprotokollen in Rechnernetzen.

  • Ein Paketfilter greift nach diesem Schichtenmodell auf die OSI-Schicht 3 (IP-Adresse) und 4 (Port) aus den Header-Informationen eines Netzwerkpaketes zu.
Beispiel für ein Regelwerk

Bei den folgenden beispielhaften Filterregeln ist zu beachten, dass nicht inhaltlich nach den genannten Protokollen, sondern den zu dem entsprechenden Netzwerkdienst gehörenden TCP- bzw. 

  • UDP-Ports gefiltert wird:* Aus dem Internet sind zum Mailserver in der DMZ Mail-Dienste (SMTP – TCP-Port 25, POP3 – TCP-Port 110 und IMAP – TCP-Port 143) erlaubt.
  • Der Mailserver darf aus der DMZ in das Internet Mails per SMTP verschicken und DNS-Anfragen stellen.
  • Aus dem lokalen Netz sind Administrationsdienste (SSH, Remote Desktop, Backup – TCP-Port 22) zum Mailserver erlaubt.
  • Alle anderen Pakete in oder aus der DMZ werden in eine Logdatei geschrieben und danach verworfen.

Die Filterentscheidungen werden für jedes Paket einzeln und unabhängig getroffen.

Stateful Inspection

Stateful Inspection: Die Eigenschaften ausgehender Datenpakete werden in einer Statustabelle gespeichert.

  • Mit dieser werden eingehende Datenpakete verglichen.

Im Unterschied zu dem statischen (zustandslosen) Paketfilter wird hier die Firewall-Regel bei jeder Verbindungsanfrage dynamisch konkretisiert, um den Zugriff auf eine etablierte Verbindung genauer zu beschränken.

  • Dabei stellt die Firewall den Rückkanal (Ziel- zu Quellsystem) in direkter Beziehung zur zuvor etablierten Verbindung (Quell- zu Zielsystem) und schränkt den Zugriff entsprechend ein, sodass ausschließlich die beteiligten Kommunikationspartner auf die Verbindung zugreifen können.
  • Das ist die Grundfunktion, die alle Stateful Inspection Firewalls beherrschen.

Spezielle Filter zahlreicher Stateful Inspection Firewalls können darüber hinaus die Nutzdaten einer Kommunikation einsehen.

  • Das ist beispielsweise für Netzwerkprotokolle sinnvoll, die über die Nutzdaten eine zweite Verbindung zwischen den Kommunikationspartnern aushandeln (siehe aktives FTP).

Die Einsicht in die Nutzdaten erlaubt es dem Filter, die Adressfilterung der Pakete weiter zu präzisieren, er ist im Unterschied zu einem Proxyfilter jedoch nicht in der Lage, die Verbindung selbst zu beeinflussen (er kann die Daten nicht verändern).

Je nach Produkt kann die Stateful Inspection Firewall auch nach einem Verbindungsaufbau erkennen, ob und wann der zu schützende PC (genauer der Client) mit dem Zielsystem kommuniziert, wobei die Firewall nur dann Antworten darauf zulässt.

  • Sendet das Zielsystem also Daten, die von dem Client nicht angefordert wurden, so blockiert die Firewall den Transfer selbst nach erfolgter Verbindung zwischen Client und Zielsystem.
OSI-Schichten

Ein Paketfilter, der auf die Technik der Stateful Inspection basiert, greift auf die OSI-Schicht 3 (IP-Adresse), 4 (Port) und ggf. 7 (Nutzdaten) eines Netzwerkpaketes zu.

Mögliche Funktionen

Abhängig von der Konfiguration des Gerätes, auf dem die Firewall-Software installiert wurde und dem Firewall-Produkt, kann eine Stateful Inspection Firewall unter anderem die folgenden Funktionen bieten:* Schutz vor SYN-Flooding, z. B. 

Proxy Firewall

Die Filter einer Proxy Firewall (auch Application Layer Firewall genannt) beachten zusätzlich zu den reinen Verkehrsdaten wie Quelle, Ziel und Dienst typischerweise noch die Nutzdaten, also den Inhalt der Netzwerkpakete.

Im Unterschied zur Stateful Inspection Technologie, die abhängig vom Produkt mitunter auch auf die Nutzdaten zugreift, reicht der typische Proxyfilter die Netzwerkanfrage des Quellsystems nicht einfach an das Zielsystem weiter.

  • Vielmehr baut er selbst eine eigene Verbindung zum Zielsystem auf.

Da er stellvertretend für den anfragenden Client mit dem Zielsystem kommuniziert, kann er die Pakete zusammenhängend analysieren und Einfluss auf die Verbindung nehmen.

  • So ist er in der Lage, Anfragen auch in Bezug auf den Kommunikationsfluss der Nutzdaten zu filtern und kann entscheiden, welche Antworten des Zielsystems er an den anfragenden Client weiterreicht.
  • Dabei kann er den Paketinhalt beliebig verändern.

Technisch gesehen arbeitet ein solcher Filter als ein in den Verkehr eingreifender Kommunikationspartner, der die Verbindungen auf beiden Seiten terminiert (es handelt sich um zwei eigenständige Verbindungen), statt die Netzwerkpakete durchzureichen.

Der Filter selbst ist ein Dienstprogramm für Computernetze, das im Datenverkehr vermittelt, und wird daher auch Proxy-Server genannt: Als aktiver Vermittler verhält er sich dem anfragenden Client gegenüber wie ein Server, der anderen Seite, dem Zielsystem, gegenüber wie ein Client.

Da er das Kommunikationsprotokoll kennen muss, gibt es für jedes höhere Kommunikationsprotokoll (HTTP, FTP, DNS, SMTP, POP3, MS-RPC, usw.) einen eigenen Filter (man spricht daher auch von dedicated Proxys).

  • Sie können u. a. unerwünschte Protokolloptionen verbieten, indem sie etwa in einer SMTP-Transaktion kein BDAT, VRFY o. Ä. zulassen.

Es kann sogar für ein und dasselbe Protokoll mehrere dedicated Proxys geben, beispielsweise um unterschiedliche Webdienste unter HTTP zu filtern; beispielsweise je einen pro genutzte Webanwendung in einem Unternehmen.

Eine Ausnahme bildet der Generische Proxy, auch Circuit Level Proxy genannt.

  • Er findet als protokollunabhängiger Filter auf der Proxy Firewall Anwendung und realisiert dort ein port- und adressbasiertes Filtermodul, welches zudem eine (mögliche) Authentifizierung für den Verbindungsaufbau unterstützt.
  • Dabei ist der Filter nicht in der Lage, die Kommunikation einzusehen, sie selbst zu führen und zu beeinflussen, da er das Kommunikationsprotokoll nicht kennt.

OSI-Schichten

Ein dedicated Proxy als Filter, der auf ein bestimmtes Protokoll spezialisiert ist, arbeitet als vermittelndes Dienstprogramm und greift daher (wie jedes Dienst- oder Anwendungsprogramm) auf die OSI-Schicht 7 (Application Layer) zu.

Der Circuit Level Proxy als generischer (protokollunabhängiger) Filter nutzt dagegen die OSI-Schicht 3 (IP-Adresse), 4 (Port) und ggf. 5 (bei Authentifizierung für den Verbindungsaufbau).

Hinweis: Entgegen einem populären Missverständnis besteht die grundlegende Aufgabe einer Application Layer Firewall nicht darin, bestimmten Applikationen (Programmen) den Zugriff zum Netz zu gewähren oder zu verbieten.

Der Name Application wurde lediglich aus dem Application Layer der OSI-Schicht 7 abgeleitet, der dafür steht, dass ein entsprechender Filter in die Nutzdaten der Netzwerkpakete hineinsehen kann.

  • Die Aufgabe, den Netzwerkzugriff auf Anwendungen zu beschränken, die sich der Firewall gegenüber authentifiziert haben, fällt (wenn überhaupt) meist dem generischen Proxyfilter zu, also ausgerechnet dem Filter, der den Application Layer nicht einmal nutzt.

Grenzen: Durchtunnelung

Grundsätzlich kann jeder Dienst auf jeder Portnummer funktionieren.

  • Wenn im Regelwerk der TCP-Port 80 für HTTP freigeschaltet ist, kann darüber trotzdem ein anderes Protokoll laufen.
  • Es müssen nur beide Kommunikationspartner (der Client im internen Netz wie auch der Dienst auf dem Server aus dem externen Netz) entsprechend konfiguriert worden sein.

Einen Versuch, dies mithilfe der Firewall zu unterbinden, kann mit Application Layer Firewalls erfolgen.

  • Sie können den Aufbau der Nutzdaten untersuchen und alle Pakete blockieren, welche nicht dem Protokoll des freigegebenen Dienstes entsprechen.
  • Allerdings soll jedes Protokoll Daten übertragen, weshalb die Daten in diesem Fall lediglich entsprechend konvertiert werden müssen.

Bettet die Software die zu übertragenden Daten also in HTTP ein, ohne dabei den Standard des Protokolls zu verletzen, ist auch diese Firewall dagegen machtlos (die Gegenstelle, der Dienst auf dem Server also, muss diese Art der Konvertierung allerdings verstehen).

  • Ein Tunnel nimmt eine solche Konvertierung vor.
  • Manipulierte Daten können z. B. 
  • in Bilddaten verpackte Datenströme sein.

Tunnel bieten daher eine Methode, um die Kontrolle einer Firewall zu umgehen.

  • Tunnel werden auch verwendet, um unsichere Netzwerkprotokolle mithilfe eines gesicherten und verschlüsselten Netzwerkprotokolls abhör- und manipulationssicher zu transportieren.
  • Dies kann beispielsweise durch einen SSH- oder VPN-Tunnel innerhalb einer legitim freigeschalteten Verbindung geschehen.

Sowohl OpenVPN als auch viele SSH-Clients (z. B. PuTTY) sind zudem in der Lage, einen Tunnel über einen HTTP-Proxy aufzubauen, der eigentlich nur Webseiten weiterleiten sollte.

  • Daneben gibt es spezielle Tunnel-Software für Protokolle wie DNS oder ICMP.

Insbesondere Skype ist ein Beispiel dafür, wie gut sich die meisten Firewalls von innen nach außen umgehen lassen.

  • Solange die Benutzer aus dem internen Netz die Möglichkeit haben, auf Webseiten zuzugreifen, hat der Firewall-Administrator durch die Kryptografie technisch kaum eine Chance, eine Durchtunnelung zu verhindern.

Dank Whitelists, die den Zugriff auf bestimmte Server beschränken, können Firewalls das Durchtunneln immerhin stark erschweren.

  • Organisationen erweitern die technischen Maßnahmen mitunter durch organisatorische Sicherheitsmaßnahmen, z. B. 
  • ein Verbot der bewussten Tunnelnutzung in der Sicherheitsrichtlinie, die der Mitarbeiter unterzeichnen muss.

Ein transparentes Durchdringen einer Firewall wird auch als Firewall Piercing oder FWPRC bezeichnet.

Paketfilter

Ein Paketfilter ist eine Software, die den ein- und ausgehenden Datenverkehr in einem Computernetz filtert.

  • Dies dient in der Regel dem Schutz des Netzes vor Angreifern.

Ebenso wichtig wie der Schutz gegen Angreifer von Außen ist der Schutz gegen ungewollt ausgehende Pakete; damit kann man z. B. 

  • erschweren, dass der eigene Rechner ungewollt und unbemerkt Viren im Internet verbreitet.
  • Ein Paketfilter kann Teil einer Firewall sein.

Verwendung

Paketfilter werden verwendet, um das Konzept einer Firewall umzusetzen.

Auf Routern kommen sie zum Einsatz um sogenannte Ingress-Filter zu implementieren.

  • Mit solchen Filtern wird verhindert, dass Datenpakete aus oder in ein Netz gesendet werden, die ungültige Absender- oder Ziel-Adressen beinhalten.

Ist zum Beispiel an einer Router-Schnittstelle nur das Netz 10.1.1.0/24 angeschlossen, und es kommt ein Datenpaket mit der Absender-Adresse 172.16.1.42 aus diesem Netz, sollte der Router das Paket verwerfen.

  • Es liegt entweder ein Konfigurationsfehler vor oder ein Angreifer versucht seine Absender-Adresse zu fälschen.
  • Auch Multicast- und Broadcast-Absender-Adressen lassen sich so filtern.

Funktionsweise

Die Daten werden in einem Netz von dem sendenden Host in Datenpakete verpackt und versendet.

  • Jedes Paket, das den Paketfilter passieren will, wird untersucht.
  • Anhand der in jedem Paket vorhandenen Daten, wie Absender- und Empfänger-Adresse, entscheidet der Paketfilter auf Grund von Filterregeln, was mit diesem Paket geschieht.

Ein unzulässiges Paket, das den Filter nicht passieren darf, wird entweder verworfen (im Fachjargon DENY oder DROP genannt), an den Absender zurückgeschickt mit der Bemerkung, dass der Zugriff unzulässig war (REJECT), oder weitergeleitet (FORWARD oder PERMIT) beziehungsweise durchgelassen (ALLOW oder PASS).

Ein Paketfilter heißt „stateful“, wenn er für ein ausgehendes Paket automatisch eine Regel erzeugt, die in einem bestimmten Zeitfenster (im Minutenbereich) die Antwort auf dieses Paket akzeptiert.

  • Kommt die Antwort nicht oder wird die Zeit überschritten, verfällt die Regel.
  • Prinzipiell können solche Filter auch mit Protokollen umgehen, die auf zwei Ports arbeiten, zum Beispiel FTP.

Paketfilterbeispiel

Der Paketfilter ist für Aufgaben wie das Vergleichen von Quell- oder Zieladresse der Pakete, die die Firewall passieren, zuständig und muss dafür bestimmte Filterungen oder Reglementierungen im Datenverkehr vornehmen.

  • Wenn man sich das Internet als eine gigantische Ansammlung von Häusern vorstellt, dann stellen die IP-Adressen sozusagen die Hausnummern dar.
  • Unter einer bestimmten IP-Adresse kann man direkt mit einem Rechner kommunizieren.

In den einzelnen „Etagen“ dieser Rechner (gekennzeichnet mit einer Nummer, die man auch Port nennt) wohnen nun die verschiedenen Dienste wie HTTP, FTP oder SSH.

  • Ein Paketfilter kann verschiedene Ports für die Besucher aus dem Internet sperren, d. h.
  • jede Verbindung aus dem Internet wird an der Haustür abgewiesen.
  • Durch die entsprechende Konfiguration einer Firewall kann so ein Rechnernetz vor Angriffen oder Zugriffen geschützt werden.

Ein Paketfilter definiert Regeln, die festlegen, ob einzelne oder zusammenhängende Pakete das Zugangsschutzsystem passieren dürfen oder abgeblockt werden.

  • Eine solche Regel wäre zum Beispiel: Verwirf alle Pakete, die von der IP-Adresse 1.2.3.4 kommen.
  • Da Angreifer jedoch von beliebigen IP-Adressen kommen können, ist es praktikabler, den umgekehrten Weg zu gehen und nur Pakete durchzulassen, die von bestimmten IP-Adressen kommen.

Prinzipiell ist dies aber auch kein wirklich sicherer Weg, da ein Übeltäter die Hausnummer ohne größere technische Probleme fälschen kann.

  • Eine sichere Kommunikation z. B. 
  • zwischen Firmennetzen ist nur möglich, wenn Protokolle verwendet werden, die eine Authentifikation und Autorisierung der beteiligten Benutzer oder Systeme vornehmen.

Dies kann beispielsweise mit virtuellen privaten Netzwerken geschehen, oder einfacher durch sogenanntes Portknocking, bei dem der Absender zunächst eine vorher vereinbarte Folge von Paketen sendet (also praktisch mit einem bestimmten Rufzeichen an der Haustür anklopft), und der Port erst daraufhin geöffnet wird.

Implementierungen von Paketfiltern

Stateful Packet Inspection

Unter Stateful Packet Inspection (SPI), deutsche Bezeichnung "Zustandsorientierte Paketüberprüfung", versteht man eine dynamische Paketfiltertechnik, bei der jedes Datenpaket einer bestimmten aktiven Session zugeordnet wird.

Datei:Grafik16.png

Die Datenpakete werden analysiert und der Verbindungsstatus wird in die Entscheidung einbezogen.

  • Bei dieser Technik, die in Firewalls eingesetzt wird, werden die Datenpakete (eigentlich: Segmente) während der Übertragung auf der Transportschicht (4. Schicht des OSI-Modelles) analysiert und in dynamischen Zustandstabellen gespeichert.

Auf Basis des Zustands der Datenverbindungen werden die Entscheidungen für die Weiterleitung der Datenpakete getroffen.

  • Datenpakete, die nicht bestimmten Kriterien zugeordnet werden können oder eventuell zu einer DoS-Attacke gehören, werden verworfen.
  • Firewalls mit SPI-Technik sind daher in sicherheitsrelevanten Anwendungen den reinen Paketfilter-Firewalls überlegen.

Die Firma Check Point Software Technologies Ltd. nimmt für sich in Anspruch, diese Technik erfunden und patentiert zu haben (U.S. Patent # 5,606,668).

Stateful Inspection: die Eigenschaften ausgehender Datenpakete werden in einer Statustabelle gespeichert.

  • Mit dieser werden eingehende Datenpakete verglichen

Funktionsweise

Kommuniziert ein Rechner A mit einem Rechner B über einen einfachen Paketfilter (also ohne Stateful Packet Inspection), so muss dieser in seinem Regelwerk zwei Verbindungen erlauben:

  • Quelle A nach Ziel B mit Dienst HTTP (für die Anfrage, z. B. „Schicke mir Webseite www.example.com“)
  • Quelle B nach Ziel A mit Dienst HTTP (für die Antwortpakete, in diesem Beispiel der Inhalt von www.example.com)

Dadurch ist das Regelwerk unsicherer als eigentlich nötig, da B jederzeit an A senden darf, auch wenn A gar keine Webseite angefordert hat (Bei Netfilter kann mit Hilfe des 'Sync-Flags' verhindert werden, dass B zu A eine Verbindung aufbaut).

Bei der zustandsgesteuerten Filterung (also mit Stateful Packet Inspection) wird nur eine Regel benötigt (bzw. 

  • die zweite wird über eine allgemeine Regel (ESTABLISHED/RELATED) erlaubt.) Damit wird der Regelsatz wesentlich übersichtlicher:* Quelle A nach Ziel B

Der Paketfilter merkt sich, wenn Rechner A mit Rechner B kommuniziert, und erlaubt nur dann Antworten darauf von Rechner B an Rechner A.

  • Rechner B kann dadurch nicht ohne Anforderung von A beginnen.

Die Regeln für Antwortpakete werden dynamisch erzeugt und nach Eintreffen der Antwort oder nach einem Timeout automatisch gelöscht.

Noch weitergehende Systeme prüfen zusätzlich, ob ein Paket zu einem bestimmten Zeitpunkt in der Kommunikation überhaupt erlaubt ist (zum Beispiel weitere Pakete schicken, obwohl der andere Teilnehmer die Kommunikation bereits abgeschlossen hat).

Stateful Inspection bei UDP-Paketen

Auf den ersten Blick sieht eine Stateful Packet Inspection bei UDP-Paketen wie ein Widerspruch aus, da UDP im Gegensatz zu TCP zustandsfrei arbeitet.

  • Die meisten Implementierungen (z. B. 
  • Linux-Netfilter) behandeln UDP trotzdem als stateful, in dem Sinne, dass beim Versenden einer Anforderung per UDP für kurze Zeit eine dynamische Firewall-Regel für die Antwortpakete erzeugt wird.
  • Im Beispiel DNS-Anfragen werden dadurch nur Antwortpakete von den Nameservern erlaubt, die man selbst gefragt hat.

Manche Programme – z. B. Skype – benutzen dies in einem als Hole Punching bezeichneten Verfahren, um durch Firewalls Point-Point-Verbindungen aufzubauen.

  • Beide Teilnehmer erfahren vom Skype-Server, auf welcher IP-Adresse und welchem Port Skype bei der Gegenseite arbeitet.
  • Dann schicken beide ein UDP-Paket an die Gegenseite.

Dort werden diese Pakete beim Eintreffen zwar verworfen, weil keine Input-Regel existiert, erzeugen aber auf der Firewall des ausgehenden Rechners eine Regel, die ab dann 'Antworten' erlaubt.

  • Danach können beide Seiten miteinander kommunizieren.
  • Mit TCP würde das nicht funktionieren, da die Firewall aufgrund von Sequenznummern echte Antwortpakete erkennen kann.

Stateful Inspection bei ICMP

Wer Ping-Anfragen senden will, aber nicht auf Ping antworten möchte, definiert zuerst eine ausgehende Regel für ICMP, und danach eine eingehende Regel, die generell alle eingehenden Pakete zulässt, für die es bereits eingehende Verbindungen gibt (RELATED).

  • Die Antwort wird durchgelassen, wenn die Firewall eine bestehende Verbindung erkennt.

Dann kann er selbst pingen, erlaubt aber keinen eingehenden Ping.

  • Dies funktioniert, obwohl ICMP anders als TCP ein verbindungsloses Protokoll ist.
  • Verbindungslos bedeutet, dass die einzelnen Pakete in keinem Zusammenhang zueinander stehen.

Stateful Inspection bei FTP

FTP ist problematisch.

  • Es werden zwei Ports, 'ftp' und 'ftp-data' (21 und 20), verwendet. 'ftp' wird für die Übertragung von Kommandos verwende, während ftp-data für Datenübertragung (Dateiinhalte oder Verzeichnisinhalte) verwendet wird.
  • Hierbei gibt es zwei verschiedene Arten (active mode und passive mode), in welcher Richtung die Datenverbindung (ftp-data) aufgebaut wird.
  • Im Linux-Kernel gibt es ein Kernelmodul, welches das Zusammenspiel beider Ports beherrscht.

Timeout

Sowohl TCP- als auch UDP-Verbindungen haben bei Stateful Packet Inspection immer einen zugewiesenen Timeout.

  • Bei UDP, weil nicht erkennbar ist, wenn eine Verbindung beendet worden ist; bei TCP, weil es passieren kann, dass Verbindungen nicht ordnungsgemäß abgebaut werden.
  • Der UDP-Timeout liegt üblicherweise im Bereich 20–40 Sekunden, bei TCP 15–60 Minuten.

Ist der Timeout nicht lang genug und werden legitime Verbindungen dadurch von der Firewall beendet, gibt es zwei Lösungsmöglichkeiten.

  • Eine Verlängerung des Timeouts hilft zwar, erhöht aber auch den Speicherbedarf des Systems und reduziert die Sicherheit.
  • Die bevorzugte Methode sollte daher der Einsatz von Keep-Alive-Paketen sein.
  • Diese lassen sich in manchen Applikationen wie SSH-Clients oder auch im Betriebssystem konfigurieren.

Setzen des TCP-Keep-Alives unter Linux auf alle 120 Sekunden:

echo 120 > /proc/sys/net/ipv4/tcp_keepalive_time

Implementierungen von Stateful Firewalls

Weitere Funktionen und Aspekte

Anti-Spoofing (Ingress filtering)

Eine wichtige Funktion von Firewalls ist das Verhindern von IP-Spoofing.

  • Da die Filterung sich wesentlich an den IP-Adressen orientiert, muss so gut wie möglich sichergestellt werden, dass diese nicht gefälscht sind.
  • Firewalls mit Anti-Spoofing-Funktionalität bieten daher die Möglichkeit, bestimmten Netzwerk-Schnittstellen bestimmte IP-Adressen und Netze zuordnen zu können.

Der Internet-Schnittstelle werden dann automatisch alle IP-Adressen außer den anderweitig genutzten zugeordnet.

  • IP-Pakete, die an einer falschen Schnittstelle ankommen, werden protokolliert und verworfen.
  • Firewalls mit Internetanbindung können auf der Internet-Schnittstelle alle Pakete von und an Private IP-Adressen (RFC 1918) verwerfen, da diese im Internet sowieso nicht geroutet werden.

Dadurch ist ein IP-Spoofing mit diesen Adressen aus dem Internet ausgeschlossen.

  • Obwohl die Zuordnung von IP-Netzen zu bestimmten Netzwerk-Schnittstellen eigentlich eindeutig sein sollte, treten in der Praxis manchmal Probleme auf mit Dual homed host und Routing-Loops (Pakete die auf Hin- und Rückweg unterschiedliche Routen nehmen).

Authentifizierung

Da der Filterung anhand von IP-Adressen wegen potenziellem IP-Spoofing niemals vollständig vertraut werden kann, bieten manche Firewalls die Möglichkeit sich authentifizieren zu lassen und erst dann bestimmte Regeln zeitbeschränkt freigeschaltet zu bekommen.

Intrusion Detection und Intrusion Prevention Systeme

„Intrusion Detection Systeme“ (IDS) und „Intrusion Prevention Systeme“ (IPS) werden mitunter auf einem Firewallgerät installiert, gehören jedoch nicht zum Firewallmodul.

Während das Firewallmodul keine Angriffe erkennt, sondern lediglich dafür gedacht ist, bestimmte Kommunikationsbeziehungen – basierend auf Absender- oder Zieladresse und genutzten Diensten – zu erlauben, ergänzen diese zusätzlichen Module das System um die Eigenschaft, nun auch einen Einbruchsversuch anhand von Kommunikationsmustern zu erkennen.

Im Unterschied zum IPS kann ein IDS den Einbruch nur erkennen (Detection (engl.) = Erkennung), während ein IPS (Prevention (engl.) = Verhinderung) den unerwünschten Zugriff auch zu blockieren versucht.

Ein solches System kann mitunter auch erst die Möglichkeit für einen Denial of Service-Angriff schaffen.

  • So legen manche Systeme eine temporäre Firewall-Regel an, die alle weiteren Verbindungsversuche von der vermeintlichen angreifenden IP-Adresse blockieren.

Schickt aber nun ein Angreifer Pakete mit einer gefälschten Absender-Adresse an das System, so kann er damit erreichen, dass der Zugriff auf die gefälschte Adresse nicht mehr möglich ist.

  • So kann er nacheinander sämtliche Adressen von dem angegriffenen System abschotten, die dieses für seine Arbeit benötigt (DNS-Server usw.).

Hochverfügbarkeit

Durch die Bedeutung des Internets sind Firewalls in vielen Firmen mittlerweile zu kritischen Netzwerk/Hardwaren geworden und stellen teilweise sogar einen Single Point of Failure für wichtige Geschäftsprozesse dar.

Ein weiterer Vorteil dieser Techniken ist, dass einzelne Firewalls zu Wartungszwecken oder für Software-Aktualisierungen abgeschaltet werden können, ohne die Verbindung zu unterbrechen.

Zur Umsetzung werden oft die gleichen Lösungen wie bei hochverfügbaren Routern eingesetzt (beispielsweise HSRP, VRRP oder CARP) oder spezielle Produkte wie Rainwall von EMC2.

Für den Failover-Fall gibt es zwei Möglichkeiten, wie die übernehmende Stateful Inspection-Firewall mit den bestehenden Verbindungen umgeht.

  • Eine Methode ist, dass alle Firewalls permanent ihre dynamische Verbindungstabellen untereinander synchronisieren, damit ist jede Firewall in der Lage alle Verbindungen korrekt zuzuordnen.

Das andere Verfahren arbeitet ohne Abgleich, aber alle bestehenden Verbindungen werden nach dem Wechsel von der übernehmenden Firewall nochmals gegen das Regelwerk geprüft.

  • Diese Lösung ist einfacher, bereitet aber Probleme bei komplexen Protokollen wie aktivem FTP.
  • Da die hierbei ausgehandelten Ports für die Daten-Verbindungen zufällig sind, kann die übernehmende Firewall diese Pakete keiner Regel zuordnen und wird sie verwerfen.

Eine Synchronisation der Verbindungstabellen bieten unter anderem die Firewalls von Check Point, OpenBSD (über pf_sync) und Linux (über ct_sync).

Hochsicherheitsumgebungen

Eine hundertprozentige Sicherheit gibt es nicht, erst recht nicht gegen sämtliche nur denkbaren Angriffsformen.

  • Auch eine gut konfigurierte Firewall stellt keinen Sicherheitsmechanismus dar, der nicht über kurz oder lang überwunden werden kann.
  • Bestenfalls lässt sich die Barriere zu einer großen Herausforderung für einen Eindringling gestalten, die so groß ist, dass sich der Angriff für ihn nicht lohnt.

Verschiedene Installationen haben verschiedene Sicherheitsanforderungen.

  • Beispielsweise bei Banken, Börse, Militär usw.
  • gibt es ein hohes Sicherheitsbedürfnis.

Es ist wichtig zunächst herauszufinden, gegenüber welchen Szenarien man ein bestimmtes Maß an Sicherheit erreichen will.

Wenn es beispielsweise darum geht, die Ausnutzung von Sicherheitslücken innerhalb der Firewall zu minimieren, können mehrstufige Lösungen helfen.

  • Im Extremfall könnte ein Netzwerkpaket beispielsweise mehrere hintereinander geschaltete Firewallsysteme mit weitestgehend gleicher Konfiguration passieren, die verschiedene Hardwarearchitekturen und verschiedene Betriebssystem- und Firewallsoftware verwenden.
  • So verlieren systembedingte Fehler oder eventuell von Programmierern/Herstellern eingebaute Hintertüren einen Großteil ihrer Wirksamkeit.

Bei Softwareprodukten ist eine freie Einsicht in deren Quellcode ein Aspekt der Computersicherheit, so auch bei einer Firewallsoftware.

  • Dabei gilt es unter anderem die Gefahr zu minimieren, dass ein Produkt Funktionalitäten enthalten kann, von denen der Anwender nichts wissen soll.
  • Die Verfügbarkeit von Open Source-Produkten lassen es zu, dass ein Audit und eine eigene Übersetzung des Quellcodes durchgeführt werden kann.

Stellt die Durchtunnelung ein Risiko dar, welches minimiert werden soll, kann dies eventuell durch die Regelung des Verkehrs explizit durch Whitelists umgesetzt werden.

  • In einer Hochsicherheitsumgebung bietet es sich ohnehin an, jeglichen Verkehr, der nicht unbedingt benötigt wird, zu unterbinden.

Virtual Local Area Networks

Moderne Firewalls unterstützen Virtual Local Area Networks (VLANs), d. h. über eine physische Netzwerkschnittstelle lassen sich mehrere logische Netze erreichen.

  • Dadurch lassen sich mehr Netze an die Firewall anschließen, als das physikalische Limit an Netzwerk-Interfaces erlaubt.

Die Benutzung von VLANs ist unter Umständen billiger, als weitere Netzwerkschnittstellen für die Firewall zu kaufen.

  • Ein weiterer Vorteil ist, dass zur Verbindung neuer Netze allein eine Software-Konfiguration von Firewall und den weiteren Netzwerk/Hardwaren ausreicht; es müssen keine neuen Kabel gezogen werden.

Nachteilig ist, dass alle VLANs die Kapazität der LAN-Verbindung teilen.

  • Sicherheitstechnisch bedenklich ist, dass die Trennung der verschiedenen Netze nicht der Hoheit der Firewall unterliegt; das System ist somit leichter kompromittierbar.

In einem solchen Fall ist die Firewall auf die Zusammenarbeit mit den eingesetzten Netzwerk/Hardwaren angewiesen.

  • Diese Komponenten sind in der Regel aber keine gehärteten Systeme und bieten oft zusätzliche Angriffsflächen (WWW, SNMP, Telnet usw.).
  • Folglich sind sie für Sicherheitslösungen nicht oder nur bedingt geeignet.

Sicherheitsprobleme können aus verschiedenen Gründen auftauchen: durch eine fehlerhaft arbeitende Netzwerk/Hardware, durch eine falsche Konfiguration der Komponente (z.

  • B.
  • SNMP), eine fehlerhafte Implementierung oder Konfiguration der VLAN-Trennung oder auch durch einen Einbruch in die Administration des Netwerkgerätes.

Möglicherweise wird auch ein Konfigurations-Reset einer Komponente nicht sofort auffallen, denn beispielsweise viele Switches transportieren VLAN-Pakete (solche mit VLAN-TAGs) auch ohne eine entsprechende VLAN-Konfiguration.

  • Weiter können beispielsweise durch Einschleifen eines Hubs LAN-Segmente des VLANs gleichzeitig und unbemerkt abgehört werden.

Auf der WAN-Seite können VLANs wertvolle Dienste leisten, im Bereich der DMZ sind die Nachteile je nach Umgebung mitunter noch akzeptabel; in einer sicherheitsrelevanten Umgebung werden die Nachteile jedoch überwiegen.

Routing und Multicast

Die meisten Firewalls sind als Router aufgebaut.

  • Das ist gerade im SoHo-Bereich praktisch, denn zum Anschluss mehrerer Rechner wird dort üblicherweise ein Router mit kombinierter NAT- und PPPoE-Funktionalität benötigt.
  • Bei Firmennetzwerken wird oft auch die Routingfunktionalität gewünscht, denn hier ersetzt die Routing-Firewall das früher übliche "default Gateway".

Genauso wie das Routing hängt die IP-Multicasting-Fähigkeit einer Firewall vom Betriebssystem des Gerätes ab, auf dem die Firewallsoftware läuft.

  • Die Regeln werden mit den Multicast-Adressen (224.0.0.0–239.255.255.255) eingetragen.
  • Weitere Aspekte sind in RFC 2588 beschrieben.

Ergänzende Technologien

Firewall/Ergänzende Technologien

TMP

Paketfilter-Firewall

  • Filterung von Datenpaketen anhand von Netzwerkadressen
  • Filterung des Ports und der IP-Adresse des Quell- und Zielsystems

Zustandslose Paketfilterung

  • arbeitet auf einem Firewall-Router mit statischen Regeln
  • betrachtet jedes Netzwerkpaket einzeln
  • stellt keine Beziehungen zu den vorherigen Netzwerkpaketen her
  • OSI-Schicht 3 (IP-Adresse) und 4 (Port)

Die zustandsgesteuerten Paketfilterung - Stateful Inspection

  • erfasst Beziehungen mit der Technik der Stateful Inspection
  • stellt die Firewall den Rückkanal (Ziel- zu Quellsystem) in direkter Beziehung zur zuvor etablierten Verbindung
  • nur die beteiligten Kommunikationspartner auf die Verbindung zugreifen kann
  • OSI-Schicht 3 (IP-Adresse), 4 (Port) und ggf. 7 (Nutzdaten)

Application Layer Firewall

Application Layer Firewall

Hybrid-Firewall

  • Hybrid-Firewalls bestehen aus Paketfilter und Application Level Gateway
  • Das Gateway kann die Filterregeln des Paketfilters dynamisch ändern kann
Vorteil
  • Einer Hybrid-Firewall hat gegenüber einem alleinigen Application Level Gateway eine höhere Performance
Nachteil
  • Sicherheitsverlust
  • Bei den meisten Protokollen hat der Proxy keinerlei Kontrolle über die Verbindung, nachdem er den Paketfilter geöffnet hat
  • Deshalb muss ein Angreifer den Proxy nur eine Zeit lang in Sicherheit wiegen, um anschliessend durch den (für ihn geöffneten) Paketfilter freies Spiel zu

Paketfilternde Firewalls

  • normalerweise Router, die über Funktionen zur Paketfilterung verfügen
  • Paketfilter prüfen den Netzwerkverkehr auf OSI-Level 3 (ausschließlich - darüberliegende Schichten bleiben unberücksichtigt)
  • Überprüfung von IP-Adressen, Port-Nummern & Protokollnummern
  • untersucht die Pakete isoliert (keine Datenströme) - erkennt den Kontext nicht
  • Pakete werden vor der Weiterleitung mit definierten Regeln verglichen
  • Bei Verstoß gegen eine dieser Regeln erfolgt keine Weiterleitung an den Empfänger
  • bietet für private Anwender oder kleine Unternehmen ein grundlegendes Sicherheitsniveau und Schutz vor bekannten Bedrohungen
Vorteile
  • kostengünstig
  • gute Performance
  • ein einzelnes Gerät kann den Datenverkehr für das gesamte Netzwerk filtern
Nachteile
  • fehlende Inhaltskontrolle (nur Teile des Headers werden geprüft)
  • unwirksam bei gefälschten IP-Adressen
  • Pflege umfangreicher Filterlisten

Stateful Inspection Firewalls

Zustandsbehaftete Inspektion
  • untersucht den Netzwerkverkehr, um festzustellen, ob ein Paket mit anderen Paketen verknüpft ist (ob dieses Paket Teil einer etablierten TCP- oder anderen Netzwerksitzung ist oder nicht)
  • Zuordnung eines jeden Datenpakets zu einer bestimmten Verbindung
  • überwachet nach dem Öffnen einer Verbindung alle Aktivitäten, bis die Verbindung wieder geschlossen wird
  • Dynamische Erzeugung der Regeln und deren Löschung nach einem Timeout oder nach Eingang der Antwort

Multilayer-Inspection-Firewall

  • erweiterte Variante
  • berücksichtigt auch höher liegende Schichten des OSI-Modells
Vorteile
  • gute Sicherheit
  • Überprüfung mehrerer Schichten des OSI-Modells
  • hohe Leistung
  • bietet ein hohes Maß an Kontrolle darüber, welche Inhalte in das Netzwerk ein- bzw. ausgelassen werden
  • bietet umfassende Protokollierungsfunktionen
Nachteile
  • Ressourcenintensiv und beeinträchtigt die Geschwindigkeit der Netzwerkkommunikation

Application Layer Gateways / Proxy

  • Die Application Layer Gateways oder Proxy-Firewalls sind Firewalls der zweiten Generation
  • kann mit Caching-Proxy kombiniert werden (ist aber nicht sinnvoll)
  • Überprüfung der gesamten Kommunikation auf Applikationsebene (OSI-07) - anwendungsbasierte Filterung von spezifischen Protokollen
  • Zugriff auf den Proxy wird innerhalb der Client-Software realisiert
  • Bietet detaillierte Sicherheitskontrollen, die etwa den Zugriff auf eine Website ermöglichen, aber einschränken, welche Seiten auf dieser Website der Benutzer öffnen kann
  • erlaubt keine direkte Verbindung zwischen internem Netzwerk und dem Internet - nimmt Anforderungen an & führt sie im Namen des Benutzers aus
  • können verwendet werden, um Unternehmen vor Bedrohungen durch Web-Anwendungen zu schützen (Blockieren des Zugriffs auf schädliche Web-Seiten)
  • Nutzung zweier Netzwerkverbindungen – vom Client zur Firewall & von der Firewall zum Server
Vorteile
  • hervorragende Sicherheit
  • Prüfung der Daten möglich (Prüfung auf der obersten Ebene)
Nachteile
  • eingeschränkte Leistung (kann die Netzwerkleistung beeinträchtigen)
  • funktioniert nicht mit allen Netzwerkprotokollen
  • es werden zwei Verbindungen benötigt

Hybrid-Firewalls

  • stellen ein Regelwerk bereit, das die Eigenschaften von Paketfiltern, Stateful Packet Inspection & Application Layer Gateway kombiniert
  • sinnvolle Kombination mehrerer Firewall-Techniken
  • dynamische Änderung der Filterregeln des Paketfilters durch das Gateway
Vorteil
  • eine Hybrid-Firewall hat gegenüber einem alleinigen Application Layer Gateway eine höhere Performance
Nachteil
  • Sicherheitsverlust - bei den meisten Protokollen hat der Proxy keinerlei Kontrolle über die Verbindung, nachdem er den Paketfilter geöffnet hat

Next-Generation Firewalls

Mehrschichtigen Ansatz
  • gehen mittlerweile weit über schlichte Paketfilter und Stateful-Inspections hinaus
  • sind in der Lage, auch deutlich komplexere Bedrohungen abzuwehren (fortschrittliche Malware und Angriffe auf Anwendungsebene)
  • enthalten standardmäßige Firewall-Funktionen wie Stateful-Inspection
  • Integrierte Intrusion Prevention und Intrusion Detection
  • können Aktivitäten der im Netz vorhandenen User erkennen & entscheiden anhand von Richtlinien, was diese dürfen und was nicht
  • bieten eine Anwendungskontrolle, die bestimmte Aktionen bestimmter Applikationen zulassen oder blockieren kann
  • enthalten überlicherweise auch Antivirus- & Antispam-Funktionen
  • Integration diverser anderer Funktionalitäten, wie VPN, Schutz von VoIP-Telefonie
  • entsprechende Produkte verfügen über umfangreiche Report- und Analysefunktionen