Leitfaden Firewalls

Anwender-Leitfaden Firewalls an der TUD

M.Würtz

Version 1.6

16. August 2005

Firewalls an der TU

Neben der Antivirus-Software gehört die Firewall zu den grundlegenden Sicherheits-Einrichtungen für Computer – auch wenn sie nur gelegentlich (per Modem z.B.) online sind. Während der Einsatz in Firmen längst gang und gäbe ist, findet man sie im universitären Umfeld bisher nur recht vereinzelt. Als Begründung mag die heterogene Struktur einer Universität dienen, die auf der viel zitierten Freiheit von Forschung und Lehre basiert.

Doch Freiheit bedingt auch Pflichten. So ist laut der IT-Sicherheits-Richtlinie der TU Darmstadt der jeweilige Administrator für die Sicherheit seines Systems und der darauf befindlichen Daten selbst verantwortlich. Neben der heutzutage unerlässlichen Antivirus-Software können Firewalls helfen, eine Verseuchung oder Kompromittierung des Systems (Übernahme durch Fremde) zu vermeiden.

Was ist eine Firewall?

Wörtlich übersetzt ist eine Firewall eine Brandschutzmauer. Die Wirkungsweise ist identisch: Ein Rechner verfügt über viele Türen im Netz (so genannte Ports), an denen andere Rechner anklopfen und sich mit den jeweiligen Diensten (beispielsweise ftp, www, Netzlaufwerk) verbinden können. Eine Firewall sorgt dafür, dass nur die Ports für nur die Computer zugänglich sind, denen Sie das nötige Vertrauen entgegen bringen. Man unterscheidet zwischen ,,Firewalls`` als stand-alone Maschinen, die ein ganzes Netzwerk absichern und quasi den Verkehr regeln, und ,,Personal Firewalls`` oder ,,Paketfiltern``, die das lokal auf dem jeweiligen Computer oder Laptop tun. Beide Varianten haben ihre Berechtigung.

Firewalls an der TU Darmstadt

Auf Grund der akuten Bedrohungslage wurden im Oktober 2003 einige Filter-Regeln an der Internet-Grenze der TU Darmstadt etabliert. Dabei handelt es sich um eine minimale Filterung, die nur einen Teil der Bedrohungen ausschließen kann, aber dafür die Benutzer an der TU Darmstadt möglichst wenig einschränkt. Einige Institute haben nach entsprechenden Erfahrungen eigene Firewalls installiert, oder lassen diese vom HRZ betreiben.

Personal Firewalls

Von ,,Fachleuten`` hört man oft die Kritik, eine Personal Firewall sei unsinnig, denn wenn der Rechner erst einmal mit Viren verseucht ist, kann der Virus die Personal Firewall evtl. abschalten. Einige Viren sind inzwischen darauf programmiert worden. Aber dazu muss es erst einmal kommen – und das kann auch eine Personal Firewall verhindern. Ein anderes Gegenargument ist, dass eine Firewall nur in einem Netzwerk als globales Konzept wirklich zu mehr Sicherheit verhilft. Das stimmt natürlich, aber zum einen gibt es an der TU Darmstadt bislang ziemlich wenig solcher geschützter Inseln, zum anderen hilft auch eine Firewall am Gateway wenig, wenn der Kommilitone oder Kollege seinen Laptop an die nächste Netzwerk-Dose anschließt und Viren von außen mitbringt. Auch hier die Analogie zur Brandschutzmauer: das Feuer breitet sich innerhalb des Brandabschnittes munter aus.

Wie kann ich mich schützen?

Eine Personal Firewall ist – genau wie ein Antivirus-Programm – ein Stück Software, das zunächst für den jeweiligen Rechner / Betriebssystem angeschafft werden muss. In Linux ist die Personal Firewall im Betriebssystem enthalten (iptables), bei Windows XP gibt es eine ähnliche, etwas rudimentäre Funktionalität ab Service Pack 2. Die kommerziellen Produkte, wie Zonealarm und Kerio, sind für den privaten Gebrauch freigegeben. Der Betrieb auf Universitäts-Rechnern fällt leider nicht in diese Kategorie.

Ok, ich hab das Programm. Und nun?

Die Installation und Bedienung sind wie immer völlig unterschiedlich, je nach Betriebssystem und Software-Hersteller. Derzeit können wir an dieser Stelle noch kein Beispiel zeigen und verweisen daher auf die Software-Hersteller. Eine Anleitung für iptables unter Linux finden Sie demnächst auf unseren WWW-Seiten.

Was soll / kann / muss ich filtern?

Die Personal Firewall Programme unter Windows fragen jeweils nach, wenn eine Internet-Verbindung (das Anklopfen an die Netzwerk-Tür) initiiert werden soll. Beispielsweise wird gefragt, ob das Programm ,,Internet Explorer`` (WWW Browser) Verbindungen nach außen auf Port 80 aufmachen darf. Das ist seine Aufgabe, also sollte man ihm das generell erlauben. Wenn Sie allerdings einen Versuch feststellen, dass von einer unbekannten Adresse auf Ihr Netzlaufwerk zugegriffen werden soll, müssen Sie diesen Vorgang verbieten. Grundsätzlich gilt: je genauer man die Regeln fast, desto sicherer ist das System (vorausgesetzt, man hat keinen Fehler eingebaut).

Jetzt wird's technisch…

Die Kommunikation im Internet basiert auf dem IP-Protokoll, die Adressierung erfolgt über Adressen wie z.B. 130.83.47.128 (die Namen, z.B. www.tu-darmstadt.de, werden von so genannten DNS Servern in Adressen umgesetzt). Auf dem IP-Protokoll bauen weitere Protokolle wie TCP, UDP, ICMP u.a. auf, die unterschiedliche Funktionen zur Verfügung stellen: verbindungsorientierte oder verbindungslose Kommunikation, Kontroll-Nachrichten…

ICMP: dieses Protokoll wird für Kontroll-Nachrichten verwendet, die für die Kommunikation zwischen zwei Maschinen unerlässlich sind. Ein Teil dieser Nachrichten kann zu ,,Denial of Service`` Attacken missbraucht werden. Dennoch kann man dieses Protokoll auf einer Personal Firewall komplett durchlassen.
UDP:
dieses Protokoll wird für Kontroll-Nachrichten verwendet, die für die Kommunikation zwischen zwei Maschinen unerlässlich sind. Ein Teil dieser Nachrichten kann zu ,,Denial of Service`` Attacken missbraucht werden. Dennoch kann man dieses Protokoll auf einer Personal Firewall komplett durchlassen.
TCP: ist das Protokoll für ,,verbindungsorientierte``, 2-Wege Kommunikation. Hierbei wird vor Verbindungsaufnahme ein sog. Handshake durchgeführt, und für jedes empfangene Paket wird eine Empfangsbestätigung zurück gesendet. Hier gibt es die meisten Regeln, je nachdem, welcher Dienst von welchem Rechner zugänglich sein soll oder in Anspruch genommen werden soll. Einzelheiten weiter unten. Handelt es sich um eine ,,stateful inspection`` Firewall, kann die Firewall einzelne Datenpakete zu bestehenden Verbindungen zuordnen. Das ist eine praktische Sache, so kann man z.B. erlauben, dass nur Verbindungen von drinnen nach draußen aufgebaut werden dürfen, aber nicht umgekehrt. Eine einfache und sehr wirkungsvolle Regel.

Tja. Die einzelnen Regeln hängen stark davon ab, wie die jeweilige Maschine verwendet wird, wo sich der Nameserver befindet, wo sich befreundete Nachbar-Netze befinden, und vor allem, welche Dienste in Anspruch genommen werden. Wird auf eine Datenbank zugegriffen? Auf ein Netzlaufwerk? Was ist mit den verschiedenen Messengern, IRC, file sharing?

Wir können hier nur versuchen, Anhaltspunkte zu geben und auf die wichtigsten Dienste hinzuweisen.

  • Vom eigenen Rechner zum eigenen Rechner sollte man alles erlauben. Vor allem Unix Programme kommunizieren gerne über das Netzwerk, auch wenn keine Daten mit anderen Rechnern ausgetauscht werden.
  • ICMP sollte man der Einfachheit halber komplett durchlassen. Normalerweise geht von ICMP, abgesehen von DoS-Attacken (Denial of Service), keine große Gefahr für das eigene System aus. Je nach Firewall kann man auch eine Mengen-Begrenzung einstellen. Durchlassen sollte man auf jeden Fall die folgenden Typen:

3 destination unreachable, Ziel kann nicht erreicht werden

4 source quench, ,,bitte langsamer senden``

8 echo request, ping (nicht notwendig, aber hilfreich)

11 time exceeded, Zeitüberschreitung

12 parameter problem

UDP wird gebraucht:
  • Port 53 Nameserver
  • Port 123 NTP Server (Zeit-Synchronisierung, an der TUD das jeweilige Gateway)
  • NFS / NIS : beschränken sich leider nicht auf einen bestimmten Port, also für die jeweiligen Server komplett erlauben.
  • Ports 427 und 524: Netware (s.u.)
  • Multicast-Anwendungen.
TCP:
  • Wenn möglich: Regeln so spezifizieren, dass Verbindungen nur in eine Richtung aufgebaut werden können, z.B. von drinnen nach draußen
  • Port 80 und 443: WWW und https (zum Proxy oder generell, 443 geht oft nur direkt)
  • Port 25 zum Mail-Gateway (oder direkt nach draußen)
  • Port 110 zum POP-Server
  • Port 119 zum News-Server
  • Port 21: ftp (Entweder erlaubt man zusätzlich Verbindungen, die zu bestehenden Verbindungen gehören, oder generell Verbindungen nach draußen (passive ftp), oder man muss Port 20 von außen generell freigeben (active ftp))
  • Port 22: ssh
  • Ports 135-139: NCP und Netbios (Windows Netzlaufwerke – werden an der TUD Grenze gefiltert)
  • Port 220: imap (Mail Protokoll)
  • Ports 427 und 524: SLP und NCP (Netware, Netzlaufwerke)
  • Freundlicherweise kann man alle Ports >1024 von draußen nach drinnen freigeben, das ermöglicht IRC, Messenger, etc., verletzt aber den Grundsatz ,,nur erlauben, was unbedingt nötig ist`` aufs Schärfste.
  • … und andere, je nach Bedarf

GANZ WICHTIG: Alles, was nicht explizit erlaubt ist, verbieten.

Bei manchen Firewalls kann eingestellt werden, ob unzulässige Pakete verworfen (drop) oder zurück gewiesen werden (reject). Im letzteren Falle wird ein ICMP Paket zurück geschickt, dass dem Absender freundlicherweise signalisiert, dass dieser Port geschlossen ist. Andernfalls muss dieser auf ein timeout (ca. 30 Sekunden) warten.

Die Vorgehensweise sollte so sein, dass man zunächst nur die grundlegenden Dienste ermöglicht. Falls etwas nicht funktioniert, hilft dann ein Blick in die Firewall-Logs.

Das war's erstmal, ich freue mich über Ergänzungen und Diskussion. Eine kleine Anleitung zur Einrichtung der Windows Firewall finden Sie auf der Seite von M.Stögbauer.