Titelbild Docker Firewall

Docker verbieten die Firewall zu manipulieren

Ich habe in den letzten zwei Artikeln gezeigt, wie ich die Firewall ufw einrichte und Docker installiere. Docker kann jedoch standardmäßig die Firewall-Regeln manipulieren, um den Datenverkehr zu den Docker-Containern zu ermöglichen. Dies kann jedoch ein Sicherheitsrisiko darstellen, da es die Firewall-Regeln des Systems ändert, ohne dass ich es speziell erlaube.

Die Firewall Regeln werden in Linux-Systemen mit iptables verwaltet. Es ermöglicht Benutzern, den Datenverkehr zu kontrollieren, der in und aus einem System fließt, und so die Sicherheit des Systems zu verbessern. Iptables ist ein Teil des Linux-Kernels und bietet eine flexible und anpassbare Methode zur Konfiguration von Firewall-Regeln. Es kann verwendet werden, um Regeln basierend auf IP-Adressen, Ports, Protokollen und anderen Kriterien zu definieren. Das Firewall-Tool ufw und Docker manipulieren diese Tabellen.

Für Docker möchte ich die Manipulation der Firewall-Regeln verbieten. Dazu erstelle bzw. modifiziere ich die Datei /etc/docker/daemon.json.

sudo nano /etc/docker/daemon.json

Der Datei füge ich folgendes hinzu:

{ "iptables": false }

Anschließend muss ich noch den Docker-Service neu starten.

sudo service docker restart

Jetzt kann Docker die selbstständige Freigabe von Ports nicht mehr vornehmen.

!!! WARNUNG – Funktion nicht beständig !!!

Kurze Zeit hat das bei mir funktioniert, aber ein Tag später hat Docker die Ports wieder freigegeben. Also konnte ich weiterhin die Ports der Docker-Container erreichen. Ich habe einen anderen Workaround gesucht. Bei dem Port-Mapping bei Docker-Containern gebe ich die lokale IP mit an.

-p "127.0.0.1:81:81"

Unter Portainer sieht das beispielsweise bei mir so aus:

Portainer Port-Mapping zum Blocken des Ports für die Öffentlichkeit
Mit der lokalen IP 127.0.0.1 kann ich den Port nur für die interne Verfügbarkeit freischalten. In diesem Fall ist das der Port 81.

Das ist für mich eine verlässliche Alternative.

Links

Schreibe einen Kommentar

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