Firewall
Als eine Firewall [] oder ein Zugangsschutz(system) bezeichnet man bei Rechnernetzen ein organisatorisches und technisches Konzept zur Trennung von Netzbereichen, dessen korrekte Umsetzung und dauerhafte Pflege. Umgangssprachlich werden fälschlicherweise häufig Paketfilter als Firewalls bezeichnet.
Grundgedanke
Firewalls sitzen an den Schnittstellen zwischen einzelnen Netzen und kontrollieren den Datenverkehr zwischen den Netzen, um ungewünschten Verkehr zu verhindern und nur den gewünschten Verkehr weiterzuleiten. Der häufige Einsatz einer Firewall besteht darin, den Verkehr zwischen einem lokalen Netz (LAN) und dem Internet zu kontrollieren und zu steuern. Ein komplexes Szenario stellt die Demilitarized Zone (DMZ) dar.
Rund um das Thema Firewall existieren viele Begriffe, die teilweise richtig sind, aber manchmal nur die halbe Wahrheit vermitteln. Umgangssprachlich ist mit einer Firewall sehr oft die Software gemeint, welche den Datenverkehr zwischen den getrennten Netzbereichen kontrolliert und regelt. Man muss also zwischen dem (Sicherheits-)Konzept Firewall, und den zwei Hauptbestandteilen der Firewall, nämlich Hardware und Software, unterscheiden. Die Hardware ist für das Empfangen und Senden der einzelnen Datenpakete zuständig (und somit eigentlich kein sicherndes Element) und die Software regelt den Verkehr. (Was wird durchgelassen? Was wird nicht durchgelassen?)
Software-Firewall oder Hardware-Firewall?
Umgangssprachlich wird häufig von Hardware- oder Software-Firewalls gesprochen. Bei dieser Unterscheidung handelt es sich in erster Linie um eine nicht-technische Definition. Es ist eher eine Aussage, um einzelne Produkte zu differenzieren.
Üblicherweise wird ein Gerät Hardware-Firewall genannt, wenn es sich um ein spezifisches Produkt für genau diesen Zweck handelt. Es ist ein Gerät mit Netzwerk-Schnittstellen und einer darauf laufenden Software (!), welche hauptsächlich als Firewall dient.
Die Hardwarekomponente hat im Regelfall drei Netzwerkschnittstellen, an denen jeweils die zu trennenden Netze angeschlossen sind. Die drei Schnittstellen werden aus Sicherheitsgründen (oft aber wegen der Netzstruktur und damit aus der konzeptionellen Notwendigkeit) gewählt, damit gewährleistet ist, dass nur solche Pakete von einem Netz ins andere durchgelassen werden, die von der Software als gültig anerkannt werden.
Dabei unterscheidet man drei Netzwerkzonen:
- Das externe Netz (WAN), heutzutage häufig das Internet
- Die sogenannte demilitarisierte Zone (DMZ), in der vom externen Netz aus erreichbare Server beherbergt sind
- Das interne Netz
Oftmals handelt es sich bei einer Hardware-Firewall jedoch um eine Software-Firewall die mit spezieller Hardware gebundelt wird.
Die Unterscheidung von Hard- und Softwarefirewall ist unsinnig. Zu jeder Firewall gehört Software, und die muß auf Hardware ausgeführt werden. Fälschlicherweise werden dedizierte Router, auf denen die Firewallsoftware ausgeführt wird, als Hardwarefirewall bezeichnet. Personalfirewalls werden oft als Softwarefirewall bezeichnet, die aber werden auf dem PC ausgeführt. Sie benötigen also den PC als Hardware.
Software
Handelt es sich bei der Hardware, auf welcher die Firewall-Software läuft, nicht um ein spezifisches Gerät (sondern um beispielsweise einen PC mit Linux, Windows oder auch eine Sun Workstation), so wird eher Bezug darauf genommen, dass die Software speziell ist und nennt es dann Software-Firewall. So werden zum Beispiel Personal Firewalls als Software Firewall bezeichnet, weil sie ja normalerweise auf dem (auch für andere Zwecke verwendeten) PC laufen.
Die Softwarekomponente der Firewall arbeitet auf den Schichten 2 bis 7 des OSI-Referenzmodells und demzufolge kann das Implementationsniveau sehr unterschiedlich ausfallen. Deswegen besteht eine Firewall oft aus verschiedenen Softwarekomponenten. Die verschiedenen Teile sollen hier kurz beschrieben werden:
Vorlage:Doppeleintrag Für solch einfache Aufgaben wie das Vergleichen von Quell- und/oder Zieladresse der Pakete, die die Firewall passieren, ist der Paketfilter zuständig. Er hat die Aufgabe, bestimmte Filterungen oder Reglementierungen im Datenverkehr vorzunehmen. Wenn man sich das Internet als eine gigantische Ansammlung von Häusern vorstellt, dann stellen die IPs sozusagen die Hausnummern dar. (Straßennamen sind in der Welt des Internets unbekannt.) Unter einer bestimmten Hausnummer kann man nun direkt mit einem Rechner kommunizieren, egal wo sich dieser Rechner befindet. In den einzelnen Etagen dieser Rechner wohnen nun die verschiedenen Dienste wie HTTP, FTP oder SSH. Die einzelnen Etagen sind mit einer Nummer gekennzeichnet, die man auch Port nennt. Ein Paketfilter kann nun verschiedene Etagen/Ports für die Besucher aus dem Internet sperren, d. h. jede Verbindung aus dem Internet wird an der Haustüre schon abgewiesen. Durch die entsprechende Konfiguration einer Firewall kann so ein Rechnernetz vor Angriffen und/oder Zugriffen geschützt werden. Ein Paketfilter definiert Regeln, welche festlegen, ob einzelne oder zusammenhängende Pakete das Zugangsschutzsystem passieren dürfen oder abgeblockt werden. Eine solche Regel wäre zum Beispiel: verwerfe alle Pakete, die von der IP-Adresse 1.2.3.4 kommen. Eine solche Regel ist programmtechnisch einfach: es ist nur ein Zahlenwert zu vergleichen. Nur nicht pragmatisch: die Anzahl dieser Nummern im Internet geht in die Millionen. Übeltäter wechseln häufig das Wohnhaus, d.h. Ihre IP-Adresse. Für einen wirklichen Schutz ist der Verwaltungsaufwand zu groß. Deshalb geht man oft den umgekehrten Weg und stellt folgende Regel auf: Lasse nur Pakete durch, die von der IP-Adresse 2.3.4.5 kommen. Somit kann man z.B. Firmennetze sicher miteinander verbinden.
Content-Filter
Eine Firewall kann aber nicht nur auf der niedrigen Ebene des Paketfilters arbeiten, sondern auch komplexere Aufgaben übernehmen. Ein Content-Filter überprüft zum Beispiel die Inhalte der Pakete und nicht nur die Meta-Daten der Pakete wie Quell- und/oder Zieladresse. Solche Aufgaben können zum Beispiel folgende sein:
- Herausfiltern von ActiveX und/oder JavaScript aus angeforderten HTML-Seiten.
- Filtern/Kennzeichen von Spam-Mails
- Löschen von Viren-Mails
Solche Regeln sind normalerweise sehr einfach zu definieren, ihre Ausführung ist aber sehr komplex: hierfür müssen einzelne Pakete zusammengesetzt werden, damit die HTML-Seite als Ganzes erkannt, durchsucht und verändert werden kann. Anschließend muss die Seite wieder in einzelne Pakete zerteilt werden und kann weitergeschickt werden. Anmerkung: I) Üblicherweise ist das Löschen von Viren-Mails die Aufgabe von Virenscannern. Virenscanner durchsuchen u.a. den gesamten ausgehenden und eingehenden Datenstrom nach Viren und löschen diese bei Entdecken. Typischerweise ist dies nicht Aufgabe einer Firewall. II) Spam-Mails werden von Spam-Filtern gekennzeichnet. Typischerweise ist dies nicht Aufgabe einer Firewall.
Proxy / Application-Level-Gateway
Bereits hier bestens beschrieben: http://de.wikipedia.org/wiki/Proxy
Stateful inspection
Vorlage:Doppeleintrag Stateful Inspection (zustandsgesteuerte Filterung) ist eine Methode zur Erweiterung der Funktion eines Paketfilters. Die Schwäche eines einfachen Paketfilters ist es, dass jedes Paket einzeln betrachtet wird und nur anhand der Informationen in diesem einen Datenpaket entschieden wird, ob es gültig ist oder nicht. Stateful inspection merkt sich dagegen den Status einer Verbindung und kann ein neues Datenpaket einer bestehenden Verbindung zuordnen. Diese Information kann als weiteres Filterkriterium herangezogen werden. Im Gegensatz zu einem Proxy wird aber die Verbindung selbst nicht beeinflusst.
Der Vorteil von Stateful Inspection anhand eines Beispiels:
Kommuniziert ein Rechner A mit einem Rechner B über einen einfachen Paketfilter, so muss dieser zwei Verbindungen erlauben (NAT und ähnliches weggelassen):
- Quelle A nach Ziel B
- Quelle B nach Ziel A (für die Antwortpakete)
Das bedeutet, dass beide Rechner die Kommunikation aufnehmen können, da es keine Möglichkeit gibt zu klären, wer anfangen darf.
Bei Stateful Inspection wird nur eine Regel benötigt (bzw. die zweite wird implizit hinzugefügt):
- Quelle A nach Ziel B
Der Paketfilter merkt sich, dass Rechner A mit Rechner B kommuniziert und erlaubt auch Antworten darauf von Rechner B an Rechner A. Rechner B kann aber nicht beginnen. Im Normalfall wird auch auf Quell- und Zielport getestet (diese dürfen sich nicht mehr ändern, damit sie zur gleichen Verbindung gehören) und somit die Kommunikation auf genau eine mögliche Kommunikation beschränkt.
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).
Ein Socks-(Secure Sockets)Server wird in einem Netz dazu verwendet, Anwendungen und Protokolle zu bedienen, die von dem Proxy nicht unterstützt oder von der Firewall geblockt werden. Die Socks-Software hört als Server auf dem Port 1080. Eine Clientanwendung kann, wenn sie socksifiziert ist, eine Verbindung zu dem Socks-Server aufbauen und die Daten durch diesen Tunnel an den Server schicken. Der Server packt das Socks-Paket aus und schickt die Anfrage 1-zu-1 weiter ins Internet – und die entsprechende Antwort wieder zurück an den Client.
Routing-Funktionalitäten
Damit die Pakete von der einen Seite der Firewall auch auf die andere Seite weitergeleitet werden können, besitzt eine Firewall in der Regel Routing-Funktionaliäten. Ausnahmen bilden hierbei „transparente Firewalls“, die aufgrund einer Bridge-Funktion ohne jegliche IP-Adressen auskommen. (Sie werden meist mithilfe eines Linux Systems realisiert.)
Beispiel
Ein einfaches Konzept soll diese trockene Materie verdeutlichen: Eine Firma möchte ihre Arbeitsplatzrechner ins Internet bringen. Man entscheidet sich für eine Firewall, und aufgrund der Viren-/Würmergefahr möchte man nur die Verbindungen zu einem Mail-Server aufbauen. Damit auch eine Recherche im Internet möglich ist, soll ein PC über einen Proxy Zugriff zu Webseiten erhalten. Weiterhin steht der Firma nur eine öffentliche IP zur Verfügung, so dass NAT genutzt werden muss. Der Surf-Rechner wird zusätzlich dadurch geschützt, dass ActiveX aus den angeforderten HTML-Seiten aus Sicherheitsgründen herausgefiltert wird.
Sonstige Zugriffe von außen auf das Firmennetz sollen einfach geblockt werden.
DSL-Modems/DSL-Router
DSL-Router übernehmen normalerweise die Routing-Funktionalität und können Zugriffe aus dem Internet auf das lokale Netz blockieren (Portfilter-Funktionalität). Mit Hilfe von NAT ist es möglich, mehrere Rechner an einem DSL-Modem zu betreiben. Einen Content-Filter enthalten solche Produkte zumeist nicht.
Personal Firewalls
Personal Firewalls oder auch Desktop Firewalls sind Programme, die lokal auf dem zu schützenden Rechner installiert sind. Somit ist diese Art von Firewall nicht dafür gedacht, den Verkehr zwischen mehreren Netzen zu kontrollieren, sondern bestimmten Verkehr nicht in den lokalen Rechner hineinzulassen oder hinauszulassen. Die Installation auf dem zu schützenden Rechner erlaubt es auch, anwendungsspezifisch zu filtern. Viele Produkte legen ihren Schwerpunkt auf einfache Konfiguration. Die Schutzwirkung von Personal Firewalls ist allerdings eher gering.
Produkte
- Astaro Security Linux eine kommerzielle Linux-Firewall.
- Smoothwall eine kommerzielle Linux-Firewall.
- SACO-Firewall eine kommerzielle Linux-Firewall.
- Securepoint Firewall eine kommerziele Firewall.
- Netfilter - Paketfilter innerhalb des Linux Kernel
- Die Eindiskettenfirewall fli4l ist neben der CD-Variante Gibraltar ein Projekt, das im Sinne einer nachhaltigen Nutzung die Verwendung von alten PCs als Firewall gestattet.
- IPCop ist eine einfach zu bedienende Linux-Distribution, die zum Ziel hat, eine durch und durch sichere Firewall zu sein.
- M0n0wall ist eine BSD basierende Firewall, die teilweise mit ihren Funktionen an Profi-Firewalls herankommt und trotzdem sehr einfach zu konfigurieren ist.
- pfSense ist ein Fork der "m0n0wall" Firewall.
- mGuard eine Hardware-Firewall zur Absicherung einzelner Server der Firma Innominate
Siehe auch
Literatur
- Zwicky, Cooper, Chapman, Einrichten von Internet Firewalls, O'Reilly 2001, ISBN 3897211696
- W. R. Cheswick, S. M. Bellovin, A. D. Rubin, Firewalls and Internet Security - Repelling the Wily Hacker, 2nd Edition, Addison-Wesley 2003, ISBN 0-201-63466-X
- Wolfgang Barth Das Firewall Buch, Grundlagen, Aufbau und Betrieb sicherer Netzwerke mit Linux (iptables), SuSE Press, ISBN 3-934678-40-8
- Stefan Strobel Firewalls und IT-Sicherheit, Dpunkt Verlag, ISBN 389864152X
Weblinks
- security.firewall FAQ
- Firewallprodukte im dmoz (englisch)