Sicherheit: docker.sock Zugriff eingrenzen.

  • Ich weiß nicht ob es noch andere gibt die es stört wenn man Docker Containern Zugriff auf den Docker Socket gibt und somit die Container quasi mit RootRechten laufen. Dabei benötigen sie oft nur ein paar Leserechte und keinen Vollzugriff.
    Bei mir war Homarr der ausschlaggebende Punkt. Ich nutze es als Dashboard. Darin gibt es zum Beispiel eine schöne Übersicht über alle DockerContainer mit ihrem Status und noch ein paar anderen Dingen.
    Aber dafür Homarr den socket-Zugriff einzubinden ???
    Warum gibt es nicht so etwas wie einen Proxy dafür wie es ihn auch im normalen Netzwerk gibt. Also ging ich auf die Suche und ich fand etwas!
    tecnativa/docker-socket-proxy

    Statt solchen Containern direkt den mächtigen /var/run/docker.sock zu geben, verbindet man sie mit dem Socket-Proxy und gibt nur die API-Bereiche frei, die sie wirklich benötigen.
    Vorteil: Sollte einer dieser Container eine Sicherheitslücke aufweisen, verhindert der Proxy, dass ein Angreifer über den Docker-Socket die volle Kontrolle über den Host übernimmt. Gerade wer sein NAS nach draußen geöffnet hat sollte vielleicht drüber nachdenken.
    Die wichtigsten Vorteile auf einen Blick:

    • Eingeschränkter API-Zugriff: Du bestimmst per Umgebungsvariablen exakt, welche Befehle (z. B. nur lesen/GET) ein Container an Docker senden darf.
    • Schutz vor Manipulation: Gefährliche API-Endpunkte (wie das Starten/Löschen von Containern oder das Erstellen von Privileged-Containern) werden standardmäßig blockiert (HTTP 403 Forbidden).
    • Minimales Rechtesystem: Selbs wenn ein Container über ein Sicherheitsloch gehackt wird, kann der Angreifer nicht über den Docker-Socket die Kontrolle über dein gesamtes System übernehmen.
    • Einfache Konfiguration: Basiert auf HAProxy und lässt sich simpel über Environment-Variablen steuern.

    Als kleines Beispiel hänge ich mal den Stack den ich für Homarr nutze an. Dann könnt ihr vielleicht sehen was ich damit meine:

    Display Spoiler

    Das soll jetzt keine Anleitung sein, aber vielleicht nützt es ja jemandem. Mehr Infos findet ihr auf der Projektseite.

    Signatur ...

    DXP4800Pro
    Windows | Linux | Android | iOS
    Github

  • Moinsen.

    Danke dir für diesen Tipp, werde ich mir mal ansehen, klingt sehr interessant.

    Was ist denn homarr? Ist das aus der R-Reihe und den automatisierbaren Downloadern?

    Warte, ich gehe mal zu Suchmaschine meines Vertraunes.

    Ach was!? Das ist ja ein Dashboard, mit Echtzeit-Funktionen und Remoting?

    Na dann sollte es vielleicht auch soviel Macht erhalten, wenn darurch ganze Container-Flotten manövriert werden sollen.

    Ein hoch auf docker.socke.

    Ihr Name? Socke. Docker, Socke.


    Tüdülüü aus HaHa.

    Standard Nerd. "Have You tried to turn it off and on again?", ist mein Lieblingswitz.

    Außerdem habe ich was wichtiges Programmiert, aber vergessen, wo ich das gespeichert habe und was es macht.

    Gut, dass es NAS gibt, oder? Hab euch alle lieb, so ganz pauschal. :love:

    Meine Hardware


    • DH2300 | 4 GB LPDDR4X-RAM | 1x 4 TB Seagate IronWolf - 1x 22 TB Seagate Exos

    • DH2300 M Kit | 8 GB LPDDR5X-RAM | 1x 2 TB Hitachi - 1x 22 TB Seagate Exos

Participate now!

Join our community with over 10,000 members!

Register yourself now for free to get full access to all content, graphics, downloads and other exclusive features!