In 19 % der beliebtesten Docker-Images gibt es kein Passwort für root.

Am vergangenen Samstag, dem 18. Mai, überprüfte Jerry Gamblin von Kenna Security eine von 1000 beliebtesten Images auf Docker Hub hinsichtlich des verwendeten Passworts für den Benutzer root. In 19 % der Fälle war es leer.

In 19 % der beliebtesten Docker-Images gibt es kein Passwort für root.

Hintergrund zu Alpine

Auslöser für die durchgeführte Mini-Studie war der zuvor in diesem Monat veröffentlichte Talos Vulnerability Report (TALOS-2019-0782), dessen Autoren—dank einer Entdeckung von Peter Adkins von Cisco Umbrella—berichteten, dass Docker-Container-Images mit der beliebten Distribution Alpine kein Passwort für root haben:

„Die offiziellen Versionen der Docker-Images von Alpine Linux (ab v3.3) enthalten ein NULL-Passwort für den Benutzer root. Diese Schwachstelle entstand durch einen Rückschritt, der im Dezember 2015 eingeführt wurde. Es geht darum, dass Systeme, die mit fehlerhaften Versionen von Alpine Linux in einem Container bereitgestellt wurden und Linux PAM oder einen anderen Mechanismus verwenden, der die systemweite Datei shadow als Datenbank für die Authentifizierung nutzt, ein Null-Passwort für den Benutzer root akzeptieren können.“

Die betroffenen Docker-Images mit Alpine waren die Versionen 3.3 bis 3.9 einschließlich, sowie die neueste Edge-Version.

Die Autoren gaben folgende Empfehlung an die Benutzer, die von diesem Problem betroffen sind:

Das root-Konto sollte in Docker-Images, die auf problematischen Versionen von Alpine basieren, ausdrücklich deaktiviert sein. Eine potenzielle Ausnutzung der Schwachstelle hängt von der Umgebung ab, da der Erfolg einen nach außen freigegebenen Dienst oder eine Anwendung erfordert, die Linux PAM oder einen ähnlichen Mechanismus verwendet.

Das Problem wurde die Schwachstelle in den Alpine-Versionen 3.6.5, 3.7.3, 3.8.4, 3.9.2 und edge (20190228-Snapshot), und den betroffenen Image-Besitzern wurde empfohlen, die Zeile mit root in /etc/shadow oder sicherzustellen, dass das Paket linux-pam.

nicht vorhanden ist.

Fortsetzung mit Docker Hub Bash-SkriptJerry Gamblin wollte herausfinden, "wie verbreitet die Praxis der Verwendung von Null-Passwörtern in Containern sein könnte". Zu diesem Zweck schrieb er ein kleines

  • , dessen Kern sehr einfach ist:
  • über einen curl-Befehl wird eine Liste der dort gehosteten Docker-Images über die API von Docker Hub angefordert; mittels jq wird sie nach dem Feldpopularität
  • sortiert, und aus den erhaltenen Ergebnissen bleibt die erste Tausend; docker pull;
  • für jedes von Docker Hub erhaltene Image wird docker run die erste Zeile aus der Datei gelesen; /etc/shadow;
  • wenn der Wert der Zeile gleich root:::0:::::, wird der Name des Images in eine separate Datei gespeichert.

Was kam dabei heraus? In dieser Datei Es wurden 194 Einträge mit Namen beliebter Docker-Images auf Linux-Systemen gefunden, bei denen der Root-Benutzer kein Passwort hat:

„Zu den bekanntesten Namen in dieser Liste gehören govuk/governmentpaas, hashicorp, microsoft, monsanto und mesosphere. Der kylemanna/openvpn ist das beliebteste Container-Image in dieser Liste mit mehr als 10 Millionen Pulls.“

Es ist jedoch wichtig zu betonen, dass dieses Phänomen nicht unbedingt eine direkte Sicherheitsanfälligkeit in den Systemen bedeutet, die diese verwenden: Es hängt alles davon ab, wie sie tatsächlich eingesetzt werden. (siehe Kommentar zum Alpine-Fall oben). Die „Moral der Geschichte“ haben wir bereits oft gesehen: Offensichtliche Einfachheit hat oft auch eine andere Seite, an die man immer denken und deren Folgen man in den Anwendungsszenarien der Technologie berücksichtigen sollte.

P.S.

Lesen Sie auch in unserem Blog:

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster