Wechseln zu: Navigation, Inhalt, Suche

Permalink

0

HowTo: Firewall mit iptables unter Debian oder Ubuntu einrichten

Nachdem dieses Blog einige Jahre auf einem Webspace gehostet war, bin ich nun auf einen eigenen vServer umgezogen. Damit bekommt man zum gleichen Preis eine höhere Leistung, da man sich die zur Verfügung stehenden Ressourcen mit niemandem teilen muss. Außerdem hat man beim Setup wesentlich mehr Freiheiten und kann beispielsweise Webserver und Datenbanken selbst wählen. Das bedeutet aber auch, dass man sich um die Administration kümmern muss.

Zum Einstieg ist es bei mir ein VPS (Virtual Private Server) mit 256 MB RAM, 20 GB Speicherplatz und 250 GB Traffic auf OpenVZ-Basis geworden, den ich auf LowEndBox gefunden habe. In diesem und den folgenden Artikeln werde über meine Erfahrungen beim Installieren berichten.

Bild von Vladimir Kramer auf Unsplash, lizenziert unter CC0 1.0

Bild von Vladimir Kramer auf Unsplash, lizenziert unter CC0 1.0

Erster Schritt nach der Installation des Betriebssystems sollte das Einrichten einer Firewall sein. Bei mir ist die Wahl auf iptables gefallen, das sich unter Debian und Ubuntu als Paket installieren lässt:

IPv4

Zum Initialisieren löscht man erstmal alle bereits vorhandenen Regeln:

Anschließend kann man eigene Regeln anlegen, wobei die Ports natürlich an die eigenen Bedürfnisse angepasst werden müssen, damit man sich nicht versehentlich aussperrt:

Mit diesen Regeln werden Antworten auf ausgehende Verbindungen, Loopback-Verbindungen, die angegebenen Ports der Protokolle HTTP, SMTP, SSH & Co. sowie Pings akzeptiert. Die Ports müssen hierbei noch an die eigenen Bedürfnisse angepasst werden. In der obigen Konfiguration habe ich den SSH-Port beispielsweise von 22 auf 2222 geändert. Alle anderen eingehenden Verbindungen werden dann ignoriert, Weiterleitungen abgelehnt und ausgehende Verbindungen immer zugelassen.

Zum Auflisten der eingerichteten Regeln lässt sich der folgende Befehl verwenden:

Damit die Konfiguration auch nach einem Neustart noch vorhanden ist, wird sie mittels iptables-save abgespeichert:

Nun erstellt man einen Anhang zur Interface-Konfiguration, in dem man festlegt, dass die iptables-Regeln beim Starten geladen werden. Wer möchte, dass die Regeln beim Herunterfahren automatisch gespeichert werden, kann die zweite Zeile auch noch einkommentieren:

IPv6

Es ist allerdings wichtig zu wissen, dass sich die gezeigten Befehle nur auf die IPv4-Implementation von iptables beziehen. Ist der vServer auch per IPv6 erreichbar, sollten die Regeln unbedingt auch mit ip6tables gepflegt werden, da er über IPv6 ansonsten ungeschützt erreichbar wäre.

Auch hier speichert man die Konfiguration mittels ip6tables-save ab:

An die zuvor erstellte Konfiguration hängt man nun noch folgendes an, damit die ip6tables-Regeln beim Starten geladen werden:

Somit ist die grundlegende Konfiguration von iptables und ip6tables abgeschlossen. Ein weiterer sinnvoller Schritt zur Absicherung des vServers ist, die Fernwartung mit SSH auf Authentifizierung über öffentliche Schlüssel umzustellen.

Links

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert. Bitte beachten Sie meine Datenschutzerklärung.