In dieser Aufgabe werden wir uns praktisch mit der Einrichtung von Firewalls in Filius beschäftigen. Wir betrachten dabei speziell Netwerk-Firewalls, die auf Gateway-Routern installiert sind und die hinter ihnen liegenden lokalen Netzwerke schützen, indem Sie den Datenverkehr beschränken, der sie passiert. Dazu werden Sie sich Firewall-Regeln überlegen, um den Datenverkehr in Abhängigkeit von Sender-/Empfänger-IP, Port und Protokoll zu erlauben oder zu verbieten.
Öffnen Sie die Projektdatei Firewall_Vorlage-1.fls ( Download) in Filius und untersuchen Sie das vorhandene Netzwerk, das auch in der folgenden Abbildung dargestellt ist:
Das Netzwerk besteht aus einem Heimnetz, das aus zwei Subnetzen besteht, die über einen Router untereinander und mit dem Internet verbunden sind. In diesem Heimnetz befinden sich die Rechner von Alice, Bob, Carol und Dave.
Über das Internet sind (unter anderem!) zwei weitere Subnetze erreichbar, in denen sich Webserver A und Webserver B befinden. Auf Webserver A wird die Website www.keks.de
gehostet, auf Webserver B die Website www.horror.de
. Die Namensauflösung übernimmt der DNS-Server, der sich im selben Subnetz wie Webserver A befindet.
Setzen Sie die Simulationsgeschwindigkeit von Filius für diesen Versuch auf 100%, damit die Clients die Webseiten von den Webservern möglichst schnell abrufen können.
In den folgenden beiden Aufgaben werden Firewall-Regeln für das Heimnetz festlegt, in den letzten beiden Aufgaben Regeln für das Netzwerk, in dem der Webserver liegt.
Die Lösungen und Erläuterungen zu den Aufgaben finden Sie im Abschnitt Lösungen.
Richten Sie auf dem Router des Heimnetzes eine Firewall ein (im Entwurfsmodus auf den Router doppelklicken und “Firewall einrichten” auswählen). Auf der zweiten Seite des Einrichtungsdialogs können Sie Firewall-Regeln festlegen.
In diesem Szenario möchten wir zunächst nur den Zugriff eines bestimmten Clients auf einen bestimmten Server im Internet verbieten: Legen Sie eine Regel fest, die Dave den Zugriff auf Webserver B über das Protokoll HTTP verbietet.
Verwenden Sie hier als Standardaktion, wenn keine Regel greift, “akzeptieren” und fügen Sie anschließend die Regel für den Zugriff hinzu, der nicht erlaubt sein soll.
HTTP-Nachrichten werden üblicherweise über TCP Port 80 übertragen.
Aktivieren Sie anschließend die Firewall auf der ersten Seite des Einrichtungsdialogs. Wechseln Sie anschließend in den Aktionsmodus und testen Sie Ihre Firewall-Konfiguration, indem Sie vom Webbrowser auf Daves Rechner aus versuchen, zuerst die Website www.keks.de
(sollte erfolgreich sein) und anschließend die Website www.horror.de
aufzurufen (sollte fehlschlagen). Testen
Sie sicherheitshalber auch für die anderen Clients, ob sich beide Websites nach wie vor in ihren Webbrowsern öffnen lassen.
Legen Sie nun weitere Regeln fest, die dafür sorgen, dass alle Clients im linken Subnetz (in dem sich Alice und Bob befinden) ausschließlich die Website www.keks.de
nutzen dürfen. Dazu brauchen Sie Zugriff auf Webserver A (TCP Port 80) und auf den DNS-Server (UDP Port 53). Andere Anfragen aus diesem Subnetz sollen verworfen werden.
Fügen Sie ganz unten eine Regel hinzu, die alle Anfragen aus diesem Subnetz verbietet (an beliebige Ziele und Ports). Fügen Sie anschließend darüber (!) Ausnahme-regeln für die erlaubten Anfragen aus diesem Subnetz hinzu.
Wenn Sie die Felder bei Ziel-IP/Netzmaske leer lassen, bedeutet das, dass diese Regel für beliebige Ziel-Adressen greift. Das gleiche gilt für den Port, wenn Sie das Feld leerlassen, und für das Transport-Protokoll, wenn dort * ausgewählt wird.
Wechseln Sie anschließend in den Aktionsmodus und testen Sie Ihre Firewall-Konfiguration, indem Sie von allen vier Clients aus versuchen, zuerst die Website www.keks.de
und anschließend die Website www.horror.de
im Webbrowser aufzurufen. Die erste Website sollte von allen Clients aus erreichbar sein, die zweite nur noch von Carol.
Die Betreiber von Website A wollen den Datenverkehr mit ihrem Subnetz 172.10.12.0/24 aus Sicherheitsgründen auf das Nötigste beschränken. Die erste Überlegung ist also, nur HTTP-Anfragen aus dem Internet in das Subnetz zuzulassen.
Aktivieren Sie dazu die Firewall im Router von Webserver A und richten Sie sie so ein, dass nur eingehende HTTP-Anfragen (d. h. TCP Port 80) akzeptiert werden und alle anderen Anfragen geblockt werden.
Überlegen Sie dazu: Ist es hier sinnvoller als Standardaktion, wenn keine Regel greift, “akzeptieren” oder “verwerfen” zu verwenden?
Versuchen Sie anschließend im Aktionsmodus, von einem Rechner aus (z. B. Carol) die Website www.keks.de
zu öffnen. Was passiert? Prüfen Sie, ob Carol noch auf www.horror.de
zugreifen kann, was zuvor noch funktioniert hat. Diese Website sollte doch eigentlich nicht von der neuen Firewall betroffen sein. Oder doch?
Überlegen Sie: Woher weiß der Webbrowser von Carol, welche IP-Adresse der Webserver für eine URL wie www.keks.de
oder www.horror.de
hat? Mit wem müsste er dazu kommunizieren können?
Kann Carol die Websites noch aufrufen, wenn sie direkt die IP-Adressen der Webserver in ihren Webbrowser eingibt? Warum?
Überlegen Sie anhand Ihrer Beobachtungen, welche Regel wir in Aufgabe 3 vergessen haben und fügen Sie diese Regel zur Firewall von Webserver A hinzu. Prüfen Sie dann erneut, ob sie die Website www.keks.de
wie zuvor von allen Clients aus öffnen können (und www.horror.de
von Carols Rechner aus).
Es gibt zwei grundlegende Strategien, wie Sie bei der Firewall-Einrichtung vorgehen können:
Beachten Sie außerdem: Als Quelle und Ziel können einzelne IP-Adressen angegeben werden (dazu als Netzmaske 255.255.255.255 verwenden) oder ganze IP-Adressbereiche angegeben werden (z. B. für einen Adressbereich der Form x.x.x.x/24 als Netzmaske 255.255.255.0 verwenden).
Wird ein Feld in einer Regel leer gelassen, gilt die Regel für beliebige Werte an dieser Stelle.
Für diese Aufgabe bietet sich zunächst “Blacklisting” an, da nur eine bestimmte Verbindung verboten werden soll und die Firewall den Datenverkehr ansonsten unberührt lassen soll:
Achtung: Vergessen Sie nicht die Firewall anschließend auf der ersten Seite des Einrichtungsdialogs (unter “Netzwerkschnittstellen”) zu aktivieren!
Wenn wir bei der Standardaktion “akzeptieren” bleiben, lässt sich diese Aufgabe lösen, indem wir zunächst eine Regel mit “verwerfen” festlegen, die alle Anfragen aus dem Subnetz 192.168.0.0/24 verbietet, und anschließend Regeln mit “akzeptieren” festlegen, über die wir Ausnahmen angeben. Diese Regeln müssen dazu vor der “verwerfen”-Regel festgelegt werden!
Wir verwenden hier also kein reines “Blacklisting”, sondern “Blacklisting mit Ausnahmen”:
Eine alternative Lösung zu dieser Aufgabe finden Sie unten unter Ergänzung zu Aufgabe 2.
Hier ist “Whitelisting” geeignet, um alle Anfragen bis auf bestimmte eingehende zu blockieren.
Aktivieren Sie die Firewall des Routers vor Webserver A, legen Sie als Standardaktion, wenn keine Regel greift, “verwerfen” fest und definieren Sie eine neue Regel, die Anfragen aus beliebigen Quellen (Quell-IP/Netzmaske leer lassen) in das Subnetz 172.10.12.0/24 akzeptiert, die HTTP als Protokoll verwenden (TCP Port 80).
Die Website www.keks.de
lässt sich nun von keinem der Clients im Heimnetz mehr im Webbrowser öffnen. Carol kann auch nicht mehr die Website www.horror.de
öffnen, was sie vorher konnte. Wird statt der URL die IP-Adresse des Webservers in den Browser eingegeben, klappt es aber.
Der Grund ist, dass der Webbrowser der Clients zuerst einen DNS-Server kontaktieren muss, um die IP-Adresse zur URL www.keks.de
oder www.horror.de
zu ermitteln. Alle Clients im Heimnetz verwenden den DNS-Server 172.10.12.3, der im Subnetz von Webserver A liegt. Da momentan aber nur eingehende HTTP-Anfragen zugelassen werden, werden DNS-Anfragen durch die Firewall des Routers vor Webserver A geblockt. Die Firewall muss also auch eingehende DNS-Anfragen zulassen. Fügen Sie dazu eine weitere “akzeptieren”-Regel für UDP Port 53 hinzu.
Wenn zusätzlich dafür gesorgt werden soll, dass alle Anfragen von außen (also aus dem Internet in eines der beiden Subnetze 192.168.0.0/24 oder 192.168.1.0/24) geblockt werden sollen, lässt sich diese Aufgabe einfacher mit der Standardaktion “verwerfen” lösen (also durch “Whitelisting” mit Ausnahmen).
In diesem Fall können wir auf die Regel “beliebige Anfragen von 192.168.0.0/24 (bis auf die beiden erlaubten) verbieten” verzichten (siehe Lösung zu Aufgabe 2), müssen aber stattdessen explizit eine “akzeptieren”-Regel hinzufügen, die den Clients im Subnetz 192.168.1.0/24 uneingeschränkte Nutzung des Internets erlaubt (Regel 2 in der Abbildung).