Zum Inhalt springen

Firewall

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 30. Oktober 2006 um 13:45 Uhr durch YourEyesOnly (Diskussion | Beiträge) (Änderungen von 84.185.207.231 (Beiträge) rückgängig gemacht und letzte Version von WikiMax wiederhergestellt). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Eine Firewall (von engl. firewall [ˈfaɪəwɔːl] „die Brandwand“) ist ein System aus Software- und Hardwarekomponenten, das den Zugriff zwischen verschiedenen Rechnernetzen beschränkt, um ein Sicherheitskonzept umzusetzen.

Hardwarekomponenten einer Firewall sind Rechner mit Netzwerkschnittstellen wie Router oder Hosts; Softwarekomponenten sind beispielsweise Paketfilter oder Proxyserver. Ein häufiger Einsatzzweck einer Firewall besteht darin, den Datenverkehr zwischen einem zu schützenden lokalen Netzwerk (LAN) und dem Internet zu kontrollieren.

Grundgedanke

Firewalls sitzen an den Schnittstellen zwischen einzelnen Netzen oder Computersystemen und kontrollieren den Datenverkehr zwischen den Teilbereichen, um ungewünschten Verkehr zu verhindern und nur den gewünschten Verkehr passieren zu lassen. Der häufigste Einsatz einer Firewall besteht darin, den Verkehr zwischen einem lokalen Netz (LAN) und dem Internet zu kontrollieren. Ein komplexes Szenario stellt die Demilitarized Zone (DMZ) dar. Prinzipiell rechtfertigt nicht nur der Übergang LAN-Internet den Einsatz einer Firewall. Auch zwischen zwei oder mehreren organisationsinternen Netzen kann eine Firewall verwendet werden, um dem unterschiedlichen Schutzbedarf der Zonen Rechnung zu tragen.

Dementsprechend besitzt eine Firewall zwei wesentliche Aufgaben:

  • Unterbinden von ungewolltem Datenverkehr von externen Computersystemen zum geschützten Bereich
  • Unterbinden von ungewolltem Datenverkehr vom geschützten Bereich zu externen Systemen

Umgangssprachlich ist mit einer Firewall häufig die Software gemeint, welche den Datenverkehr zwischen den getrennten Bereichen kontrolliert und regelt. Man muss also zwischen dem (Sicherheits-)Konzept Firewall und der konkreten Realisierung der Firewall unterscheiden. Das Sicherheitskonzept beschreibt Regeln, welche Informationen die Firewall passieren dürfen und welche nicht. Realisiert wird das Konzept durch eine Software, die auf einer (oftmals speziellen) Hardware läuft. Die Hardware ist dabei 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?) Dabei ist die Hardware häufig wie bei anderen Netzwerkelementen (Routern oder Gateways) auch für die Aufgabenstellung optimiert (schnelle Prüfung von Paketen, hochperformantes Empfangen und Senden von Paketen, etc.).

Prinzipiell trennt man die Firewalltypen spezifisch, d.h. eine Softwarefirewall sichert einzelne PCs und Workstations, da sie als Software auf den Systemen installiert ist. Eine Hardwarefirewall schützt Hardware, also das Netzwerk als solches. Dies hat nicht zwangsweise was mit der Technik zu tun, es dient nur der Begrifflichkeitenerklärung.

Host-Firewall (Software) und Netzwerk-Firewall (Hardware)

Umgangssprachlich wird häufig von Hardware- oder Software-Firewall gesprochen. Bei dieser Unterscheidung handelt es sich in erster Linie um eine nicht-technische Definition. Die Unterscheidung von Hard- und Software-Firewall ist technisch gesehen unsinnig. Zu jeder Firewall gehört Software, und diese muss auf Hardware ausgeführt werden. Fälschlicherweise werden dedizierte Router, auf denen die Firewallsoftware ausgeführt wird, als Hardware-Firewall bezeichnet. Personal Firewalls werden oft als Software-Firewall bezeichnet, aber auf dem PC ausgeführt. Sie benötigen also den PC als Hardware.

Wichtiger als die Bezeichnung als Hard- oder Software-Firewall ist das zugrunde liegende Betriebssystem. Software-Firewalls werden wie oben beschrieben auf PCs installiert und sind dadurch natürlich auch von den Sicherheitslücken des Betriebssystems betroffen. Hardware-Firewalls können auch auf Standard-Betriebssystemen beruhen (dort in der Regel Unix) und somit auch von Problemen dieser Betriebssysteme betroffen. Dazu kommen noch Bugs und Sicherheitslücken in der eigentlichen Firewall-Software.

Es gibt jedoch auch Hardware-Firewalls, welche mit einem speziell dafür entwickeltem Betriebssystem funktionieren, das heißt, das Betriebssystem ist gleichzeitig auch die Firewall-Software. Auch diese kann natürlich Bugs und Sicherheitslücken enthalten, jedoch fällt die zusätzliche Fehlerquelle (Betriebssystem / Firewall-Software) durch die einheitliche Struktur (Firewall-Betriebssystem) weg.

Hardware-Firewalls werden deshalb als sicherer angesehen als Software-Firewalls.

Firewalltypen

Personal Firewalls

Hauptartikel: Personal Firewall

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 umstritten.

Netzwerk-Firewall

Ü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 mehreren 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:

  1. das externe Netz (WAN), heutzutage häufig das Internet, welches als nicht vertrauenswürdig gilt (Untrusted)
  2. die so genannte demilitarisierte Zone (DMZ), in der vom externen Netz aus erreichbare Server beherbergt sind
  3. das interne Netz (LAN), welches als vertrauenswürdig gilt (Trusted)

Es kann auch mehrere DMZs (typischerweise 3–6) mit jeweils unterschiedlichen Rechten geben, um z. B. gut gewarteten Serven mehr Rechte im LAN zu geben als Servern, die eher unregelmäßig gewartet werden. Ebenso werden oftmals unterschiedliche Diensttypen, insofern sie auf unterschiedlicher Hardware untergebracht sind, ebenso in unterschiedlichen DMZs platziert. Die Verwendung von mehreren DMZs begrenzt die Möglichkeiten des Angreifers bei der Kompromittierung einer einzelnen DMZ. Im Extremfall geht dies bis zu einer kompletten Abschottung einer DMZ vom LAN (= Verbindung nur zum WAN).

Oftmals handelt es sich bei einer Hardware-Firewall jedoch um eine Software-Firewall, die mit spezieller Hardware gebundelt wird.

Host-Firewall

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 auf die spezielle Software genommen und nennt es dann Software-Firewall. So werden zum Beispiel Personal Firewalls als Software-Firewalls 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 Technologien (Teile) sollen hier kurz beschrieben werden:

Firewalltechnologien

Paketfilter

Ein Paketfilter verwirft oder lässt Pakete passieren auf Grund von Headerinformationen (zum Beispiel Quell- und Zieladresse, Port, TCP-Flags). Hauptsächlich werden hierbei die OSI-Layer 3 und 4 Header ausgewertet.

Für weitere Informationen siehe Artikel Paketfilter

Stateful Inspection

Stateful Inspection (Zustandsgesteuerte Filterung) ist eine Methode zur Erweiterung der Funktion einer Firewall. 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. Die Zustandsgesteuerte Filterung merkt sich dagegen den Status einer Verbindung (identifiziert durch geeignete Kenndaten, beispielsweise IP-Adressen und Ports) und kann ein neues Datenpaket einem zusammenhängenden logischen Datenstrom zuordnen. Diese Information kann als weiteres Filterkriterium herangezogen werden. Im Gegensatz zu einem Proxy wird aber die Verbindung selbst nicht beeinflusst. 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).

Vorteil

Der Vorteil von der Zustandsgesteuerten Filterung 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 der Zustandsgesteuerten Filterung 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. Die Regeln für Antwortpakete werden dynamisch erzeugt und verschwinden nach Eintreffen der Antwort oder nach Timeout.

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 Firewall und UDP

Auf den ersten Blick sieht dies wie ein Widerspruch aus, da UDP ja per Definition zustandsfrei ist. Manche Implementierungen, zum Beispiel Linux Netfilter, behandeln aber UDP trotzdem als stateful, in dem Sinne, dass beim Versenden eines UDP-Pakets zum Rechner 'A' eine dynamische Inputregel für UDP und diesen Rechner erzeugt wird (auf dem gleichen Port natürlich). Auch wenn dies nicht ganz im Sinne der reinen Lehre ist, ist es doch sehr praktisch. Bei DNS zum Beispiel tut es nämlich genau das, was man braucht: Antwortpakete werden nur von den Nameservern erlaubt, die man selbst gefragt hat.

Application-Layer-Firewall

Ist eine Firewall, welche auf Schicht 7 (Applikationsschicht) des ISO-OSI-Modells arbeitet. Deshalb kann die Firewall mit Hilfe eines Content-Filters die Nutzdaten auswerten oder nicht erwünschte Anwendungsprotokolle (zum Beispiel peer-to-peer) blockieren.

Content-Filter

Ein Content-Filter überprüft die Inhalte der Pakete und nicht nur die Layer3- und -4-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
  • Herausfiltern von vertraulichen Firmeninformationen (z. B. Bilanz)

Die meisten Systeme lassen nur die Definition von sehr einfachen Regeln zu; das Problem ist aber prinzipiell sehr komplex und das Konzept ist eventuell technisch nicht vollständig umsetzbar (sollen z. B. wirklich sicher und vollständig vertrauliche Informationen aus dem Datenverkehr zu nicht autorisierten Systemen herausgefiltert werden, so müsste u. a. das technische Problem gelöst werden, wie vertrauliche steganografische oder verschlüsselte Informationen erkannt und gefiltert werden sollen).

Trotz der in aktuellen Firewall-Systemen recht einfach gestalteten Regeln kann deren Ausführung sehr komplex werden: Häufig müssen einzelne Pakete zusammengesetzt werden, damit der betrachtete Datenverkehr (z. B. HTML-Seite) als Ganzes erkannt, durchsucht und eventuell verändert werden kann. Anschließend muss der Datenverkehr wieder in einzelne Pakete zerteilt werden und kann dann 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 positivem Befund. Typischerweise ist dies nicht Aufgabe einer Firewall. II) Spam-Mails werden von Spam-Filtern gekennzeichnet. Typischerweise ist dies nicht Aufgabe einer Firewall.

Proxy

Hauptartikel: Proxy

Die meisten Application-Level-Firewalls setzen integrierte Proxys ein. Ein Proxy baut stellvertretend (daher auch der Name: Proxy = Stellvertreter) für die LAN-Clients die Verbindung zu Servern im Internet auf. Von außen ist nur die IP-Adresse und der/die Port(s) des Proxys sichtbar. Die Struktur des LANs ist damit aus dem Internet nicht erkennbar. Die Clients fordern Webinhalte direkt beim Proxy an. Dieser holt sie bei Bedarf aus dem Internet oder direkt aus seinem Cache (Zwischenspeicher). Da die Inhalte dabei vollständig auf dem Proxy zwischengespeichert werden, können sie entsprechend analysiert werden, zum Beispiel durch Virenscanner und Content-Filter. Firewallsysteme unterscheiden sich stark in der Anzahl und Art der von Proxys unterstützten Protokolle (z. B. FTP, DNS, HTTP, SMTP, SQL*Net, POP3, MS-RPC usw.) sowie ggf. vorhandenen Konfigurationsmöglichkeiten für diese Proxys. Ohne Proxy-Konzept sind die Möglichkeiten der Protokollauswertung sehr begrenzt, da ein aktives Eingreifen in den Datenstrom sich auf Verbindungsabbruch/Blacklisting beschränkt. Viele Firewalls mit Proxy können darüber hinaus Protokolloptionen anpassen, etwa in einer SMTP-Transaktion kein BDAT, VRFY o. Ä. zulassen.

IDS und IPS

Hauptartikel: Intrusion Detection System und Intrusion Prevention System

„Intrusion Detection Systeme“ und „Intrusion Prevention Systeme“ werden immer öfter in eine Firewall integriert. Da IDS einen Einbruchversuch in ein System nur an Hand von Kommunikationsmustern (zum Beispiel Portscanns) aufdeckt ist es aber wohl nicht wirklich als Firewalltechnologie anzusehen. IPS hingegen ist als tatsächliche Firewalltechnologie anzusehen, da hierbei nach dem Erkennen eines Einbruchsversuches Gegenmaßnahmen getroffen werden (zum Beispiel das zeitlich begrenzte Sperren einer IP-Adresse).

Beispiel

Datei:Konzeptioneller Aufbau einer Firewall.png
Aufbau einer Firewall

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. 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. Wichtig ist, dass in dieser Konstellation die Arbeitsplatzrechner selbst keinerlei direkte Verbindung zum Internet aufbauen können. Damit können einmal eingeschleuste Schadprogramme sich nur weiter verbreiten oder weitere Schädlinge aus dem Internet nachladen, wenn sie erstmal den Proxy oder den Mailserver finden - zum Glück können das (derzeit) die Schädlinge meist nicht.

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 PAT (auch Masquerading) ist es möglich, mehrere Rechner an einem DSL-Modem zu betreiben. Einen Content-Filter enthalten solche Produkte zumeist nicht.

Produkte

  • Astaro Security Linux ist eine kommerzielle Linux-Distribution für Firewall-Systeme.
  • BrazilFW ist eine selbst auf älteren PCs lauffähige Linux-Firewall, die sich auch mit einer Diskette begnügen kann.
  • Endian Firewall ist eine Open Source Linux-Distribution für Firewall-Systeme.
  • Der Eindisketten-Router fli4l ist neben der CD-Variante Gibraltar ein Projekt, das im Sinne einer nachhaltigen Nutzung die Verwendung von alten PCs als Firewall gestattet.
  • gateProtect ist eine kommerzielle Linux-Distribution für Firewall-Systeme mit ergonomischer Bedienerführung.
  • Gibraltar ist eine für Privatuser kostenlose und von CD lauffähige Linux-Distribution für Firewall-Systeme.
  • IPCop ist eine einfach zu bedienende Linux-Distribution, die zum Ziel hat, eine durch und durch sichere Firewall zu sein.
  • ipfw ist ein Paketfilter des FreeBSD-Betriebssystems, als wipfw auch für Windows-Systeme verfügbar.
  • Netfilter – Paketfilter innerhalb des Linux-Kernels.
  • M0n0wall ist eine BSD basierende Firewall, die teilweise mit ihren Funktionen an Profi-Firewalls herankommt und trotzdem sehr einfach zu konfigurieren ist.
  • Microsoft Internet Security and Acceleration Server ist eine kommerzielle Firewall von Microsoft.
  • pf ist eine OpenSource-Firewall die ursprünglich für OpenBSD (Berkeley Software Distribution) entwickelt und später auf andere BSD-Betriebssysteme portiert wurde.
  • Securepoint ist eine kommerzielle Linux-Distribution für Firewall-Systeme.
  • SME Server ist eine auf Open Source Software basierende Firewall welche auch Serverfunktionen zum Einsazt im SOHO-Bereich enthält.
  • Smoothwall ist eine für Firewall-Systeme optimierte Linux-Distribution.
  • .vtFW sind Firewalls auf Basis von OpenBSD pf der Firma .vantronix.

Siehe auch

Literatur

  • Artymiak, Jacek: Building Firewalls with OpenBSD and PF, 2nd ed. devGuide.net, Lublin, 2003, ISBN 83-916651-1-9
  • Barth, Wolfgang: Das Firewall-Buch. Grundlagen, Aufbau und Betrieb sicherer Netzwerke mit Linux. Millin-Verl., Poing, 2004, ISBN 3-89990-128-2
  • Lessing, Andreas: Linux-Firewalls - Ein praktischer Einstieg 2. Auflage, O'Reilly, 2006, ISBN 3-89721-446-6 (Download der LaTeX-Quellen)
  • Cheswick, William R. u.a.: Firewalls and internet security. Repelling the Wily Hacker. Addison-Wesley, Boston, Mass., 2003, ISBN 0-201-63466-X
  • Strobel, Stefan: Firewalls und IT-Sicherheit. Grundlagen und Praxis sicherer Netze. dpunkt-Verl., Heidelberg, 2003, ISBN 3-89864-152-X
  • Zwicky, Elizabeth D. u. a.: Einrichten von Internet Firewalls. Behandelt Unix, Linux, Windows NT. O'Reilly, Beijing 2001, ISBN 3-89721-169-6