Docker von einem unprivilegierten Benutzer zu steuern, ist eine große Sicherheitslücke. Wie kann man dem entgegenwirken?
Stellen Sie sich einen Webanwendungsentwickler vor, der ein unberechtigtes Benutzerkonto ohne sudo
Berechtigungen durchführt. Da die Tools des Entwicklers keinen Root-Zugriff erfordern, ist dies die sicherste Entwicklungsumgebung (die Art der Entwicklungsumgebung, die ich vorziehen). Wenn man mit Tausenden von unbekannten Bibliotheken arbeitet und Webbrowser in seiner Entwicklungsumgebung verwendet, halte ich dies für eine sinnvolle und empfehlenswerte Vorsichtsmaßnahme.
Normalerweise geben die Entwickler ihr Passwort nur ein, um ihren Rechner zu entsperren, niemals aber auf der Kommandozeile. Arbeit ist auf diese Weise angenehm. Um diesen Komfort zu gewährleisten, fügt der Entwickler, nachdem er sich für die Installation von Docker entschieden hat, seinen nicht privilegierten Benutzer der docker
Gruppe hinzu. Diese verwandelt ihr nicht privilegiertes Konto heimlich in ein Konto mit Superuser-Befugnissen: Ein Docker-Container-Mounting-Systemverzeichnis kann alles tun, sogar Dateien ändern, deren Eigentümer es ist root
, das ist ein riesiges Sicherheitsloch.
Um diese Lücke zu schließen, könnte man den nicht privilegierten Benutzer aus der docker
Gruppe entfernen und stattdessen NOPASSWD
der sudoers
Datei Einträge für die wichtigsten, aber immer noch harmlosen Docker-Befehle wie docker start some-container
oder hinzufügen docker ps
.
Beispiel: sudo docker ps
Wenn die Ausführung eines zulässigen Docker-Befehls zu Container-Builds (wie docker build
oder docker-compose up
) führen kann, müssen Eingabedateien für den nicht privilegierten Benutzer schreibgeschützt sein und sich im Besitz eines root
oder eines anderen "sicheren" Benutzers befinden, damit sie von keinem Rogue-Benutzer manipuliert werden können. Das zu erledigen ist etwas umständlich.
Abgesehen davon kommen mir zwei Fragen in den Sinn:
- Ist das sicher genug oder sieht der Entwickler immer noch etwas Gefährliches durch die Arbeit mit Docker?
- Ist dies die einzige sichere Möglichkeit, Docker zu steuern, ohne das Kennwort eingeben zu müssen, wenn Sie
sudo
Docker verwenden möchten?
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Welche Software sollte ich verwenden, um meine Festplatte zu verschlüsseln?
-
2
Erinnert sich Windows 7 Home Premium an Netzwerkfreigaben-Passwörter?
-
3
Kann die vorhandene drahtlose Netzwerkverschlüsselung ein Netzwerk wirklich schützen?
-
2
Welche Sicherheitsprobleme hat ein Computer, der direkt an ein Modem angeschlossen ist?
-
2
Wie kann ich mein drahtloses Netzwerk für höchste Sicherheit konfigurieren?
-
2
Wie kann ich meinen Computer am besten vor Viren und Bildschirmlesern schützen?
-
2
Sicherung meines drahtlosen Netzwerks
-
1
Wie kann ich die Sicherheit meines Portals erhöhen?
-
2
RootKit Hunter-Warnungen unter Mac OS X