Raspberry Pi geschützt durch eine DMZ

Bei der Verwendung eines Computers sollte man sich immer Gedanken über die Sicherheit machen. Zwar sind Linux Systeme im Gegensatz zu Windows Systemen nicht so stark durch Viren gefährdet, herausfordern sollte man die Sache aber nicht. Problematisch sind vor allem jene Systeme, die eine Verbindung mit dem Internet benötigen (Fileserver, Mailserver, Webserver, …). Ein in der IT übliches Vorgehen ist es, zwischen Router und internes Netzwerk eine so genannte DMZ („demilitarisierte Zone„) einzuführen in der alle solchen Server stehen und die nicht unbedingt Zugriff auf die Rechner des internen Netzwerks benötigen. Diese Zone kann man über 1 bis 2 Firewalls schützen, die einzelne Verbindungen erlaubt, oder verweigert.

Raspberry Pi geschützt durch eine DMZ

Raspberry Pi geschützt durch eine DMZ

Der Plan ist nun die Verbindung vom Raspberry Pi zum Router so einzuschränken, dass nur noch Port 80 und 443 durchgelassen werden. Im Fall eines Webservers kann man so von außen nur durch HTTP oder HTTPS auf den Pi zugreifen. Wer unbedingt auch den Pi von außen bedienen können muss, kann hier auch den SSH Port freigeben (22) oder besser einen anderen SSH Port definieren (zB 22356 oder ähnliches).

Konfiguration

Um den Netzwerk Verkehr zu kontrollieren brauchen wir iptables. Dafür müssen wir folgendes machen:
Zuerst müssen wir sichergehen, dass wir die aktuellsten CA (Certificate authorities) installiert haben:

Als nächstes benötigen wir die IP Adresse des Routers. Außerdem müssen wir herausfinden wie der Raspberry Pi mit dem Router kommuniziert. Das geht mit dem folgenden Kommando:

hier ist entweder wlan0 konfiguriert und hat eine IP Adresse oder eth0. Je nachdem ob der Pi WLAN verwendet oder kabelgebunden am Router steckt. Als nächstes erstellen wir nun die Regeln für die iptable:

In der network interfaces Datei müssen wir noch eine Zeile hinzufügen, damit die Einstellungen auch nach dem Systemstart enthalten bleiben:

Ganz ans Ende folgende Zeile einfügen:

Nun müssen wir die Regeln unserer Firewall definieren:

Eine mögliche Konfiguration ist folgende:

Diese Konfiguration erlaubt nur noch HTTP und HTTPS Verbindungen. Sollte man über SSH am Raspberry Pi über den Router verbunden sein, so funktioniert das danach nicht mehr. Soll man trotzdem auch weiterhin SSH über Port 22 verwenden ist diese Konfiguration besser:

Wichtig ist bei beiden Konfigurationen, dass sie auf das eigene System angepasst werden. Je nachdem ob man WLAN oder die Ethernet Schnittstelle zum Netzwerk nutzt muss man entweder wlan0 oder eth0 verwenden. Bei den IP Adressen bitte die des eigenen Netzes angeben. 192.168.1.1 ist bei mir der Router.
Der letzte Schritt ist die Konfiguration der Firewall mitteilen:

Man kann nun mit folgendem Kommando testen, ob die Firewall korrekt eingestellt ist:

Die Ausgabe ist die aktuelle Firewall Konfiguration.

Probleme

Sollte man über SSH arbeiten und sich irrtümlich selbst ausgesperrt haben, dann bleibt nur noch eins: Bildschirm und Tastatur einstecken und die Firewall manuell am Raspberry Pi ändern.

(Visited 1.018 times, 1 visits today)

Das könnte auch interessant sein...

1 Antwort

  1. Danke für diese tolle How To.
    Werde ich gleich mal ausprobieren!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.