Firewalls
Schutz vor Gefahren aus dem Internet

von Aron Vrtala (Ausgabe 02/2, Oktober 2002)

 

Kasten: Personal Firewalls
Tabelle: Übersicht über die wichtigsten Protokolle und Ports

 

Durch den Einsatz von Firewalls kann man die Sicherheit von Rechnersystemen, die an Datennetze angeschlossen sind, heute generell stark erhöhen. Sowohl ihr Name als auch ihr Konzept erinnern dabei an eine Brandmauer: Eine Firewall bildet eine Barriere gegen Hacker und sich selbst verbreitende Viren und Trojaner aus dem Internet.

Was ist eine Firewall?

Eine Firewall kontrolliert die Internetverbindungen des zu schützenden Netzwerkbereichs (dies kann ein einzelner PC, eine Gruppe von Rechnern oder ein großes Netzwerk sein), indem sie alle Netzwerkdatenströme anhand von Zugriffsregeln filtert, mit denen definiert wird, welcher Datenverkehr erwünscht bzw. unerwünscht ist. Diese Schutzfunktion gegen potentiell gefährliche Netzwerkaktivitäten wirkt in zwei Richtungen:

  • Durch die Zugriffskontrolle von außen (das ist die nicht vertrauenswürdige Seite) nach innen werden Hacker und bösartige Programme daran gehindert, in geschützte Rechner oder Netzwerke einzudringen.
  • Die Zugriffskontrolle von innen nach außen erscheint zwar zunächst als unnötige Selbstbeschränkung, ist aber eine ausgezeichnete Methode, um beispielsweise Trojanern den Weg ins Netz zu versperren. Indem Sie festlegen, welche Netzwerkaktivitäten der Rechner durchführen darf, verringern Sie das Risiko, daß im Falle einer "feindlichen Übernahme" des PCs andere Rechner oder ganze Netzwerke in Mitleidenschaft gezogen werden können.

Firewalls treten in verschiedenen Erscheinungsformen auf: Zur Abschirmung großer Netzwerkbereiche sind oft teure Geräte erforderlich, deren Hard- und Software speziell für diesen Zweck entwickelt wurde und die dadurch auch starkem Netzwerkverkehr gewachsen sind. Zum Schutz einer kleineren Anzahl von Rechnern genügt meistens ein nur dieser Aufgabe gewidmeter PC mit zwei Netzwerkkarten und entsprechender Software. Einen einzelnen Arbeitsplatzrechner kann man absichern, indem man ein Firewall-Programm (eine sogenannte Personal Firewall, siehe Kasten) am PC installiert und betreibt.

Wogegen schützt eine Firewall nicht?

Nicht alle Bedrohungen lassen sich durch eine Firewall abwenden: Auch wenn die Internetverbindungen eines Rechners auf die absolut notwendigen Zugriffe beschränkt werden und die Angriffsfläche somit stark reduziert ist, kann man sich dennoch über essentielle Services wie eMail und WWW diverses "Ungeziefer" (z.B. Mail-Würmer oder Computerviren) auf den PC holen. Dagegen ist eine Firewall machtlos - schließlich wurde die entsprechende Netzwerkverbindung explizit zugelassen, um eMail lesen oder surfen zu können. Hier hilft nur die richtige Konfiguration der Anwendungsprogramme und vor allem das Abschalten aller überflüssigen Automatismen.

Firewalls aus Benutzersicht

Eine Firewall, die den Datenverkehr nicht einschränkt, ist nutzlos. Man sollte sich daher bewußt sein, daß gewisse Behinderungen bei der Kommunikation mit anderen Rechnersystemen unvermeidbar sind, wenn die Firewall ihre Aufgabe erfüllen soll. Als Benutzer kann man auf mehrere Arten mit Firewalls in Kontakt kommen:

  • Ihr Rechner befindet sich in einem Netzwerkbereich, der durch eine Firewall abgeschirmt ist. Welche Datenverbindungen zugelassen sind und welche nicht, bestimmt der Firewall-Administrator auf Basis eines Sicherheitskonzepts. Falls die Firewall unüberwindbare Probleme beim Datenaustausch mit Kollegen verursacht, sollten Sie dies mit dem Administrator der Firewall besprechen.
  • Sie sichern Ihren eigenen Rechner mit Hilfe einer Personal Firewall ab. Dies ist nicht nur dann sinnvoll, wenn er ansonsten vollkommen ungeschützt wäre - gerade auch als Ergänzung zu einer übergeordneten Firewall machen Personal Firewalls Hackern und Trojanern das Leben sehr schwer: Ein solcher "Tiefenschutz" kann einerseits die Filter der vorgeschalteten Firewall weiter verfeinern, andererseits wirkt er auch gegenüber Rechnern, die sich ebenfalls in der Schutzzone der "großen" Firewall befinden und Sicherheitsprobleme verursachen können.

    Auch wenn es Ihnen vielleicht nicht auf Anhieb gelingt, Ihre Personal Firewall optimal zu konfigurieren, können Sie rasch ein akzeptables Grundniveau für Ihre Systemsicherheit erreichen. Beachten Sie dazu auch den Kasten Personal Firewalls.
  • Sie sind als Administrator für die Sicherheit eines bestimmten Netzwerkbereichs zuständig. In diesem Fall haben Sie nicht nur eine technisch interessante Aufgabe, sondern auch eine große Verantwortung übernommen. Wenn Sie eine Firewall zur Absicherung Ihres Netzwerks einsetzen wollen, sollten Sie Ihr Vorgehen unbedingt mit dem Zentralen Informatikdienst koordinieren.

Indem Sie Ihren Rechner (oder Ihr Netzwerk) durch eine Firewall absichern, verbessern Sie die Sicherheitssituation nicht nur für sich selbst, sondern letztlich auch für alle anderen Netzwerkteilnehmer. Um eine Firewall konfigurieren und betreiben zu können, benötigt man allerdings Kenntnisse über die Struktur und Funktionsweise von Netzwerken und Rechnersystemen - ein kundiger und sorgfältiger Administrator ist für den Betrieb einer Firewall mindestens genauso wichtig wie leistungsfähige Hard- und Software.

Künftige Firewall-Betreiber sollten sich davon jedoch nicht abschrecken lassen: Nur wenige Menschen können alle Fragen, die im Zusammenhang mit Firewalls auftreten, souverän beantworten; der Einstieg in diese Materie ist jedoch mit ein wenig Lernbereitschaft, Überlegung und Sorgfalt durchaus zu schaffen. Wenn Sie anschließend regelmäßig Informationen zum Thema Computersicherheit sowie die Log-Dateien der Firewall lesen und mit anderen Firewall-Administratoren Ihre Erfahrungen austauschen, wird sich Ihr Wissensstand schnell vertiefen. Der Zentrale Informatikdienst steht Ihnen beim Start - aber auch später - gerne beratend zur Seite.

Grundprinzipien

Selbst die teuerste Hard- und Software kann eine mangelhafte Administration nicht kompensieren. Firewalls erfordern ein gewisses Sicherheitskonzept, eine sorgfältige Konfiguration und regelmäßige Überwachung. Eine gut konzipierte und gewartete Firewall erspart letztlich mehr Zeit, als sie kostet. Die Grundregeln eines erfolgreichen Firewall-Einsatzes sind:

  • Handeln Sie nach dem Prinzip der kleinsten benötigten Privilegien und lassen Sie nur diejenigen Internetzugriffe zu, die wirklich gebraucht werden - weniger ist oftmals mehr!
  • Halten Sie die Konfiguration der Firewall möglichst einfach und überschaubar: Unnötig komplizierte Konstruktionen, die auf einer Mischung von Verboten, Geboten und deren Ausnahmen basieren, sind schwer zu überblicken, wartungsintensiv und fehleranfällig. Starten Sie deshalb mit einer Konfiguration, die zunächst alle Zugriffe verbietet, und definieren Sie anschließend wohlüberlegte Ausnahmen. Das macht zwar am Anfang etwas mehr Mühe, bewirkt aber durch die weitreichenden Zugriffsverbote und die einfachere Verwaltung des Regelwerks einen viel besseren Schutz.
  • Vermeiden Sie "überautomatisierte" Mechanismen. Eine Firewall, die nach Bedarf selbständig Zugriffsregeln definiert und jeden Zugriff sofort erlaubt, hat ihren Zweck verfehlt. Auch eine Firewall, die Attacken erkennen kann und daraufhin alle Netzwerkaktivitäten des Rechners stoppt, kommt dem Angreifer entgegen: Ihr System ist vom Netz.
  • Möglicherweise sollten Sie auch eine Neuordnung der Funktionen Ihrer PCs ins Auge fassen: Wenn jedes System gleichzeitig Klient und Server für andere Rechner ist, wird eine Firewall-Konfiguration sehr mühsam.
  • Rechner, die als Server dienen, sollten sowohl in ungeschützten als auch in geschützten Netzwerken durch Personal Firewalls abgesichert werden. Wenn das Netzwerk über eine vorgeschaltete Firewall verfügt, sollten die Server zusätzlich in einem Sicherheitsperimeter (demilitarized zone) positioniert werden, sodaß sie sich in einem eigenen, speziell geschützten Netzwerkbereich befinden. Das wehrt Angriffe aus dem Internet, aber auch aus dem eigenen Netzwerk sehr effektiv ab.
  • Analysieren Sie regelmäßig die Log-Dateien der Firewall, in denen alle unerlaubten Zugriffe verzeichnet sind. Dadurch erfahren Sie einerseits, ob sich jemand an Ihrem System zu schaffen macht - sei es von innen oder von außen. Andererseits finden Sie in den Log-Dateien aber auch Informationen über alle gescheiterten Zugriffsversuche von Rechnern, denen der Zugriff eigentlich erlaubt sein sollte, und können dadurch Konfigurationsmängel leichter beheben. Nicht zuletzt sind Log-Einträge hilfreich, um Regeln für Dienste abzuleiten, deren Funktionsweise nicht bekannt ist.
  • Beachten Sie die Verkettung von Sicherheiten, und bedenken Sie, daß jede Kette nur so stark ist wie ihr schwächstes Glied: Vor Attacken, die von einem mangelhaft abgesicherten Rechner im selben Netz ausgehen, kann Sie eine Personal Firewall nur schützen, wenn Sie diesem Rechner möglichst wenig Zugriffsrechte einräumen.

Grundwissen

Um sinnvolle Zugriffsregeln definieren zu können, sollte man zumindest die folgenden elementaren Fakten kennen:

Basisprotokolle (TCP, UDP, ICMP)

Das im Internet verwendete Übertragungsprotokoll TCP/IP ist eigentlich eine Familie von Protokollen, die ineinander verschachtelt sind: Auf der untersten Ebene wird IP eingesetzt, das Internet Protocol. Auf diesem Protokoll werden die für eine Firewall-Konfiguration wichtigen Basisprotokolle TCP (Transmission Control Protocol), UDP (User Datagram Protocol) und ICMP (Internet Control Message Protocol) transportiert, auf denen wiederum die Protokolle für die diversen Internetanwendungen aufsetzen (HTTP, SSH, TELNET, FTP, SMTP usw.). Nicht jede Internetanwendung kann mit jedem Basisprokoll funktionieren: TCP sorgt für einen geregelten Datenstrom, wie er beispielsweise für das WWW nötig ist; UDP eignet sich hingegen für andere Anwendungen (DNS, NFS, DFS usw.).

IP-Adressen und Ports

Jeder Rechner im Internet besitzt eine IP-Adresse (z.B. 131.130.1.11). Damit sich die verschiedenen Datenverbindungen des Rechners nicht gegenseitig in die Quere kommen, werden diesen Verbindungen sogenannte Ports zugewiesen, die von 0 bis 65535 durchnumeriert sind. Sie entsprechen den Türnummern in einem großen Mietshaus, während die IP-Adresse mit der Anschrift des Hauses vergleichbar ist. Wenn man die Portnummer gemeinsam mit der IP-Adresse bzw. dem entsprechenden Hostnamen in einem URL angibt, trennt man sie durch einen Doppelpunkt von der Adresse (z.B. <http://131.130.1.78:80 > oder https://data.univie.ac.at:443).

Für die Standarddienste eines Rechners gibt es eine Liste vordefinierter Portnummern (well known port numbers). So wartet ein Webserver üblicherweise am Port 80 darauf, von einem Webbrowser angesprochen zu werden; ein Mailserver hingegen verwendet stets Port 25. Will Ihr PC z.B. einen Webserver kontaktieren, so öffnet er eine Verbindung zu dessen well known port. Er verwendet dabei meist ein sogenanntes "unprivilegiertes" Port auf Ihrem Rechner - eine beliebige, gerade unbenutzte Portnummer zwischen 1025 und 65535. In vielen Firewalls wird dies durch den Begriff Any ausgedrückt. Eine Liste der gängigsten Anwendungsprogramme, ihrer Basisprotokolle und der benötigten (Server-)Ports finden Sie in der Tabelle Übersicht über die wichtigsten Protokolle und Ports.

Vorgangsweise

Bei der Konfiguration einer Firewall muß man im wesentlichen definieren, ob eine Netzwerkverbindung von einem Rechner zum Port eines anderen Rechners unter Verwendung eines bestimmten Basisprotokolls zulässig ist oder nicht. Das ist insofern nicht immer einfach, als kaum jemand alle Dienste und deren Funktionen kennt - wer weiß schon genau, wofür der Microsoft-DS-Dienst oder der linuxconf-Service gedacht sind? Davon sollte man sich jedoch nicht irritieren lassen. Für Personal Firewalls unter Windows und Linux empfehlen wir, unbekannte Dienste zunächst zu blockieren: Falls sie für einen sinnvollen Rechnerbetrieb notwendig sein sollten, macht sich das normalerweise sehr rasch bemerkbar. Informationen über gescheiterte Zugriffsversuche findet man in der Log-Datei der Firewall (vorausgesetzt, diese ist entsprechend konfiguriert).

Beispiel: Ihr Rechner habe die Internet-Adresse 131.130.17.20, der Rechner Ihres Zimmerkollegen habe die Internet-Adresse 131.130.17.21. Wenn Sie nun einen Teil Ihrer Festplatte und Ihren Drucker gemeinsam mit Ihrem Kollegen verwenden wollen, müssen Sie diesem den Zugriff auf ein Windows-Share Ihres Rechners erlauben. Dazu schalten Sie auf dem lokalen Rechner 131.130.17.20 für den Gastrechner (= remote system) 131.130.17.21 die TCP- und UDP-Ports 137, 138 und 139 frei. Die Zugriffe kommen in diesem Fall von allen UDP-Ports (0 bis 65535) sowie von allen unprivilegierten TCP-Ports (1025 bis 65535) des Gastrechners.

Details

Weitere Informationen über den Betrieb von Firewalls, über Internet-Protokolle und deren Funktion sowie Portnummern-Listen finden Sie in den Unterlagen zur Vorlesung Security im Internet, die unter http://www.univie.ac.at/ZID/security/ (Menüpunkt Vorträge) abrufbar sind.

 

Personal Firewalls

Für das Betriebssystem Windows gibt es eine große Auswahl an Personal Firewalls. Zwei davon stellen wir in diesem Comment vor: Die Norton Personal Firewall 2002 und die Tiny Personal Firewall.

  • Die Norton Personal Firewall 2002 besticht durch gefälliges Design und eine gute Online-Dokumentation. Sie bietet neben dem üblichen Funktionsumfang einer Firewall auch ein gewisses Maß an Selbstkonfiguration (was zwar nützlich, aber auch sehr problematisch sein kann) sowie die Möglichkeit, unverschlüsselt abgehende Daten auf heikle Inhalte - z.B. Ihre Kontonummer - zu überprüfen. Ihre Nachteile: Die Norton Personal Firewall ist relativ unübersichtlich und funktioniert nicht auf Window Server-Systemen.
  • Die Tiny Personal Firewall kann hingegen auf allen Windows-Systemen - auch Servern - eingesetzt werden. Sie ist sehr klein (unter 2 MB Speicherplatz) und entsprechend puristisch gestaltet, jedoch erstaunlich vielseitig und zuverlässig. Alle Zugriffsregeln und Log-Meldungen werden sehr klar und übersichtlich dargestellt. Die Tiny Personal Firewall läßt sich mittels Administrator-Paßwort absichern und kann auf Wunsch auch per Fernwartung konfiguriert werden. Durch die Reduktion auf das Wesentliche ist für ihren Betrieb allerdings etwas mehr Hintergrundwissen erforderlich, und auf Freunde bunter Fenster wirkt ihr schlichtes Design möglicherweise abschreckend.
  • Eine weitere Windows-Firewall ist die ZoneAlarm Firewall von Zone Labs, die in mehreren Abstufungen zur Verfügung steht. Davon ist nur die Variante ZoneAlarm Pro sinnvoll einsetzbar.
  • Die bei Windows NT, 2000 und XP in das Betriebssystem integrierten Firewall-Funktionen sind nicht zu empfehlen.

Unter Linux sind zwei Firewalls verfügbar: IP-Chains und IP-Tables. Letztere ist moderner, leistungsfähiger und einfacher zu konfigurieren (siehe Artikel Hitchhikers's Guide to Security).

 

Übersicht über die wichtigsten Protokolle und Ports

Die Tabelle erhebt keinen Anspruch auf Vollständigkeit!
Weitere Informationen finden Sie unter www.univie.ac.at/ZID/security/ (Vorlesung Security im Internet).

Beschreibung

Name des Protokolls bzw. Service

Vorwiegend für (System)

Basisprotokoll

Port bzw. Typ

Interaktives Arbeiten

Telnet

Alle

TCP

23

Dateien kopieren

FTP

Alle

TCP

20, 21

Interaktives Arbeiten / Dateien kopieren, mit Verschlüsselung

SSH

Alle

TCP

22

eMail (Simple Mail Transfer Protocol)

SMTP

Alle

TCP

25

WWW

HTTP

Alle

TCP

80

Weitere WWW-Ports

HTTP

Alle

TCP

8080, 8008

Sicheres HTTP, mit Verschlüsselung

HTTPS

Alle

TCP

443

eMail-Download von Mailservern

POP3

Alle

TCP

110

eMail-Download von Mailservern

IMAP4

Alle

TCP

143

Online-Verzeichnisdienst

LDAP

Alle

TCP

389

Namensauflösung von numerischen IP-Adressen

DNS

Alle

UDP, TCP

53

Zeitstempeldienst (Aktualisierung der Uhr)

Time Service

Alle

UDP

37

Genauer Zeitstempeldienst (stellt den Lauf der Uhr sehr exakt ein)

NTP

Alle

UDP

123

Ausführung von Programmprozeduren auf Servern

RPC

Alle

UDP

111

Dynamische Internetnummern-Konfiguration

DHCP

Alle

UDP

67, 68 1)

Backup-Service an der Uni Wien

DSM

Alle

TCP

1500

Windows-Shares

NetBIOS/IP

Windows

UDP, TCP

137 - 139

Windows-Ereignisanzeige

NetBIOS/IP

Windows

TCP

139

Netzwerkdateisystem (braucht RPC)

NFS

Unix

UDP

2049 2)

Netzwerkdateisystem V3, falls TCP-Verkehr erwünscht (zusätzliche Regel)

NFS V3

Unix

TCP

2049

Primitiver Dateitransfer (ohne Autorisierung)

TFTP

Unix

UDP

69

X Windows (Interaktives Arbeiten mit Unix)

X11

Alle

TCP

6000 - 6063

X Windows-Ankündigungsdienst (Interaktives Arbeiten mit Unix)

XDMCP

Alle

UDP

177

Ausführung von Befehlen (Remote), Autorisierung über Datei am Ziel

rexec

Unix

TCP

512

Interaktives Arbeiten (Remote), Autorisierung über Datei am Ziel

rlogin

Unix

TCP

513

Interaktive Befehlszeile (Remote)

rshell

Unix

TCP

514

Remote Printing

lpd

Unix

TCP

515

Loggen von Ereignissen von anderen Rechnern

syslog

Unix

UDP

514

Erreichbarkeitstest, Anforderung

Ping

Alle

ICMP

Typ 8

Erreichbarkeitstest, Antwort

Ping

Alle

ICMP

Typ 0

Zielport nicht erreichbar

Destination Unreachable

Alle

ICMP

Typ 3

Bandbreitensteuerung

Source Quench

Alle

ICMP

Typ 4

 

1) Zur einfacheren Konfiguration: Für alle Internet-Adressen freischalten.
2) Manche Implementationen benötigen weitere Ports.