DSL-Router
Ein DSL-Router ist ein Gerät, welches dafür entwickelt wurde, einen DSL-Internetanschluss den Rechnern eines privaten Netzwerks zugänglich zu machen. Im privaten Netz fungieren sie als Router (oft sogar in Form eines Layer-3-Switches, der den Router beinhaltet). Dadurch ist es möglich, den DSL-Router auf den internen Geräten als „default Gateway“ zu konfigurieren, wodurch er zwischen den Subnetzen des internen (privaten) Netzes genauso vermitteln kann, wie zwischen dem privaten Netz und dem Internet.
Der folgende Artikel versucht zu klären, ob es sich bei diesen Geräten um Firewalls handelt und welche sicherheitstechnischen Mängel sie oftmals aufweisen.
Inhaltsverzeichnis |
Die Umsetzung der IP-Adresse vom internen zum externen Netz (Internet)
Als NAT-Gerät (Network Adress Translation) setzt der DSL-Router die Netzwerkadresse um, während er ein Paket aus dem privaten Netz in das Internet leitet. Dabei bildet er seine eigene externe IP-Adresse auf das jeweilige interne Gerät ab, welches die Verbindung zum Internet hergestellt hat.
Bildlich gesehen funktioniert er wie ein automatisiertes Postfach, welches alle ausgehenden Pakete, die den DSL-Router passieren, mit seiner eigenen Absenderadresse versieht. Dadurch stellt er sicher, dass das Zielsystem die Antwortpakete auch wieder an das „Postfach“ schicken wird. Dank einer speziellen Verwaltung (Port and Address Translation; kurz PAT) erkennt er, zu welchem internen Gerät ein aus dem Internet eingehendes Antwortpaket gehört. Dorthin leitet er das Paket weiter, ohne dass der Versender aus dem Internet die wirkliche (interne) Adresse seines Kommunikationspartners kennt.
DSL-Firewall
Basierend auf „Stateful Packet Inspection“ (SPI), wenigstens aber auf PAT, realisiert der DSL-Router eine dynamische Portfilterung, weshalb er manchmal auch als DSL-Firewall betitelt wird. Für PAT muss er sowohl auf die OSI-Schicht 3 (Adressumsetzung), als auch auf die OSI-Schicht 4 (Umsetzung der Ports) aufsetzen; für SPI greift er zusätzlich auf die OSI-Schicht 7 zu.
Handelt es sich bei einem DSL-Router wirklich um eine Firewall?
Die populäre Aussage, dass NAT-Geräte keine Firewalls sind, ist korrekt, solange man sich damit auf das ursprüngliche statische NAT bezieht. Dort nimmt das Gerät lediglich eine Adressumsetzung vor und filtert keine Ports. Ganz anders sieht es bei dem moderneren dynamischen NAT (gemeint ist PAT) aus, bei dem eingehenden Ports gefiltert (blockiert) werden, die nicht explizit von innen angefordert wurden. Gängige NAT-Router beherrschen PAT, so auch der DSL-Router.
Ihrem Ursprung nach wurde eine Firewall als eigenständige Netzwerkeinheit beschrieben, die zwischen zwei Netzwerken operiert, welche sie miteinander verbindet und filtert. So basierte die Filterung der ersten Firewallsysteme zunächst auf dem Konzept der statischen Paketfilter. Solange man diesen Paketfiltern die Existenz als Firewall im Nachhinein nicht abspricht, erfüllen auch DSL-Router dank des dynamischen Portfilters alle Bedingungen, um als Firewallsystem klassifiziert zu werden. Obgleich die meisten Produkte eine solche Funktionalität von Haus aus anbieten, ist es für die Klassifizierung nicht einmal erforderlich, dass sie neben der automatisierten Filterung auch eine manuelle Konfiguration der Port- und Adressfilter unterstützen müssen.
Dennoch gibt es immer wieder Menschen, die darauf hinweisen, dass ein DSL-Router keine Firewall ist. Diese Behauptung beruht oft auf dem Glauben, dass man von dem abstrakten Gebilde einer Firewall mehr erwarten muss, als eine bloße Paketfilterung. Eine Firewall sollte schließlich in die Pakete hineinsehen, sie analysieren und entsprechende inhaltsbezogene Regeln zulassen können, wie bei einer Application Level Firewall (ALF), wenigstens aber auf SPI basieren.
Abgesehen davon, dass die allgemeine Klassifizierung einer Firewall nicht von Funktionalitäten wie SPI abhängt, wird dabei oft übersehen, dass viele DSL-Router diese Funktionalität sogar unterstützen. Als Beispiel bildet Netfilter das Herzstück zahlreicher DSL-Router. Hierbei handelt es sich um eine Software, die innerhalb eines Linux-Kernels läuft und für die Port- und Adressumsetzung sorgt. Sie kann Pakete auswerten und filtern (einschließlich „Stateful Packet Inspection“) und Ports weiterleiten (Port-Forwarding). Deren Konfiguration wird meist über Iptables realisiert.
Die dynamische Portfilterung macht den DSL-Router gegenüber statischen Paketfiltern überlegen, wenn es darum geht, ungewollte Zugriffe von außen auf das interne System zu unterbinden. Denn bei diesen Geräten muss man keine Trojanerports mehr sperren, da eingehenden Ports ohnehin gesperrt sind, solange sie zu keiner internen Verbindung gehören. Je nach Implementierung des PAT-Konzepts können selbst die dynamisch geöffneten Ports nur über die Absenderadresse des Kommunikationspartners angesprochen werden. Beherrscht das Gerät SPI, so gelingt es dem DSL-Router nach einem Verbindungsaufbau sogar zu erkennen, ob und wann der interne Client mit dem externen Zielsystem kommuniziert und lässt nur dann Antworten darauf zu. Sendet das Zielsystem also Daten, die von dem internen Client nicht angefordert wurden, so blockiert ein solcher DSL-Router den Transfer selbst bei bestehender Verbindung zwischen Client und Zielsystem.
Allerdings führt die Filterung des DSL-Routers zu Problemen mit einigen Anwendungen. In ihrem Versuch, diese Probleme automatisiert zu umgehen, weichen zahlreiche Hersteller die Firewallfunktion mehr oder weniger stark auf. Wie der Abschnitt „sicherheitstechnische Mängel“ zeigt, ist es im Extremfall sogar möglich, dass sie die Firewall für den internen Rechner praktisch abschalten, indem sie wieder auf den Modus der statischen NAT-Geräte zurückweichen. Der Modus ist in der Regel konfigurierbar, wodurch sich die Firewall auch auf solchen Geräten aktivieren ließe. Es ist zu erwarten, dass diese Möglichkeit aus Unkenntnis der Anwender heraus dort jedoch selten genutzt wird. Auch weist der besagte Abschnitt darauf hin, dass NAT-basierte Geräte gegenüber einer ALF grundsätzliche Schwächen aufweisen.
Abschließend lässt sich sagen: „Die Welt ist voll von Leuten, die darauf bedacht sind, Ihnen weiszumachen, daß etwas keine Firewall ist. […] Wenn es dazu gedacht ist, die bösen Jungs von Ihrem Netzwerk fernzuhalten, dann ist es eine Firewall. Wenn es erfolgreich die bösen Jungs fernhält, ist es eine gute, wenn nicht, ist es eine schlechte Firewall. Das ist alles, was es dazu zu sagen gibt.“ (Elisabeth D. Zwicky, ISBN 3-89721-169-6, 2001, S. 34)
Worin liegt der Unterschied zwischen einem DSL-Router und einer Hardwarefirewall?
Der Begriff Hardwarefirewall definiert eine Firewall, die auf einem externen (dedizierten) Gerät läuft. Der Funktionsumfang der darauf laufenden Firewallsoftware bestimmt den Begriff hingegen nicht. Daher handelt es sich bei dem DSL-Router faktisch um eine Hardwarefirewall. Allerdings mit der Besonderheit, dass ein DSL-Router den Anschluss für das externe Netz ausschließlich als Internetanschluss verwaltet.
Sicherheitstechnische Mängel
Die Klassifizierung als Firewall sagt nichts über die Zuverlässigkeit eines Produktes aus. DSL-Router, die für den privaten Bereich bestimmt sind, machen gegenüber professionellen Geräten sicherheitstechnisch oft eine sehr schlechte Figur. Einer der Gründe dafür ist in den unterschiedlichen Ansätzen zu finden, unter denen die Produkte entwickelt werden:
Für den privaten Anwender scheint es wichtig zu sein, ein billiges Gerät anschließen zu können, welches möglichst ohne Konfigurationsaufwand allen internen Geräten den Zugang zum Internet ermöglicht. Funktioniert der eigene private Rechner auf Anhieb ohne Einschränkung, kommt das Gerät bei den Kunden besonders gut an. Sicherheit spielt hier – wenn überhaupt – nur eine nebensächliche Rolle. Bei professionellen Geräten ist es genau anders herum.
Als Folge dieser verdrehten Prioritäten kann es beispielsweise vorkommen, dass ein DSL-Router für den Heimbereich den ersten von ihm per DHCP verwalteten Rechner per Standardeinstellung als exposed Host behandelt. Die Firewall wird somit für diesen Rechner praktisch ausgeschaltet, wodurch alle Netzwerkdienste des Rechners aus dem Internet heraus zugreifbar sind. Wenigstens in den Haushalten, die lediglich einen einzigen Rechner an den DSL-Router anschließen, hat der Hersteller dadurch zahlreiche mögliche funktionelle Probleme auf einen Schlag eliminiert. Dass dies sicherheitstechnisch bedenklich ist, spielt bei diesen Geräten keine Rolle. Schließlich tun sie dies unter dem Aspekt, dass sonst einige Anwendungen nicht ohne manuellen Konfigurationsaufwand fehlerfrei laufen würden. Damit das alles weniger gefährlich klingt, nennen die Hersteller diese Funktion meist nicht „exposed Host“ und tragen den Rechner besser unter einer eigenen weniger verpönten Bezeichnung ein (z.B. unter „Standardserver“).
Um auch mit weniger drastischen Mitteln eine reibungslose Arbeit ohne manuellen Konfigurationsaufwand zu gewähren, reagieren zahlreiche DSL-Router möglichst offen auf alle denkbaren Kommunikationsanforderungen. Baut ein interner Rechner eine Netzwerkverbindung zu einem Server aus dem Internet auf, so ist es mitunter möglich, dass dieser Internetserver nun willkürlich eigene Verbindungen zu dem internen Rechner aufbauen kann. Dazu wird eine Netzwerkanfrage an einem beliebigen externen Port des DSL-Routers einfach an den internen Rechner durchgereicht, sobald die Absenderadresse zu dem Internetserver passt, zu dem der interne Rechner zuvor eine Verbindung aufgebaut hat. Haben mehrere interne Rechner eine Verbindung zu diesem Server aufgebaut, so versucht der DSL-Router mittels einer Heuristik den passenden Empfänger zu erraten.
Ein Grund für diese Arbeitsweise ist der, dass es Anwendungen gibt, die eigene Dienste anbieten. Ein Zugriff darauf wird normalerweise durch den DSL-Router blockiert, sobald sich der Port des Dienstes von dem Rückgabeport der angeforderten Verbindung unterscheidet. Das hat zur Folge, dass dieser Teil der Anwendung nicht ohne spezielle Konfigurationseinstellungen des DSL-Routers funktioniert. Um dies zu umgehen wird hier einfach das Verhalten des DSL-Routers entsprechend angepasst, um eine Freischaltung der Ports zu „automatisieren“.
Gegen eine automatisierte Freischaltung gibt es an und für sich nichts auszusetzen, sobald der DSL-Router die Protokolle der Dienste sicher beherrscht und einen kontrollierten Zugriff darauf erlaubt. Genau darin besteht aber das Problem vieler DSL-Router. Ihnen fehlt einfach die intime Kenntnis der verwendeten Protokolle. Dies gilt insbesondere bei verschlüsselten Verbindungen und verbindungslosen Protokollen. Da bereits die preiswerte Hardware dieser Geräte eine parallele Analyse der Protokolle ausschließt, wenigstens aber auf ein Minimum beschränkt, versuchen einige Geräte einfach alle externen Anforderungen nach Möglichkeit zuzulassen, in der Hoffnung, dass damit die entsprechende Anwendung fehlerfrei funktioniert.
Wie wenig die Sicherheit bei DSL-Routern eine Rolle spielt, sieht man nicht zuletzt an der unverfrorenen Bezeichnung „DMZ“ für eine Funktionalität, die nicht das Geringste mit einer echten DMZ gemein hat. Da viele dieser Geräte aus Kostengründen nicht die technischen Voraussetzungen dafür bieten, nehmen die Marketingstrategen dort ein vollkommen anderes Feature und bewerben ihr Produkt bewusst mit einem falschen Fachbegriff. So nehmen sie das erhöhte Sicherheitsrisiko des Kunden billigend in Kauf. Mehr dazu kann im Beitrag zu DMZ nachgelesen werden.
Zu generellen sicherheitstechnischen Mängeln von NAT-basierten Geräten siehe RFC2663 "IP Network Address Translator (NAT) Terminology and Considerations", Abschnitt 9 und in diesem Kontext Abschnitt 7 (englisch).
|