19 % der Top-Docker-Images haben kein Root-Passwort

Letzten Samstag, den 18. Mai, Jerry Gamblin von Kenna Security geprüft 1000 der beliebtesten Bilder von Docker Hub basierend auf dem verwendeten Root-Passwort. In 19 % der Fälle war es leer.

19 % der Top-Docker-Images haben kein Root-Passwort

Hintergrund mit Alpine

Der Grund für die Mini-Recherche war der Talos Vulnerability Report, der Anfang dieses Monats erschien (TALOS-2019-0782), deren Autoren – dank der Entdeckung von Peter Adkins von Cisco Umbrella – berichteten, dass Docker-Images mit der beliebten Alpine-Container-Distribution kein Root-Passwort haben:

„Offizielle Versionen der Alpine Linux Docker-Images (seit v3.3) enthalten ein NULL-Passwort für den Root-Benutzer. Diese Sicherheitslücke resultierte aus einer im Dezember 2015 eingeführten Regression. Der Kern davon ist, dass Systeme, die mit problematischen Versionen von Alpine Linux in einem Container bereitgestellt werden und Linux PAM oder einen anderen Mechanismus verwenden, der die Systemschattendatei als Authentifizierungsdatenbank verwendet, möglicherweise ein NULL-Passwort für den Root-Benutzer akzeptieren.“

Die Versionen der Docker-Images mit Alpine, die auf das Problem getestet wurden, waren 3.3–3.9 (einschließlich) sowie die neueste Version von Edge.

Für betroffene Nutzer haben die Autoren folgende Empfehlung ausgesprochen:

„Das Root-Konto muss in Docker-Images, die aus problematischen Versionen von Alpine erstellt wurden, explizit deaktiviert werden. Die wahrscheinliche Ausnutzung der Schwachstelle hängt von der Umgebung ab, da für den Erfolg ein extern weitergeleiteter Dienst oder eine extern weitergeleitete Anwendung unter Verwendung von Linux PAM oder einem anderen ähnlichen Mechanismus erforderlich ist.“

Das Problem war eliminiert in den Alpine-Versionen 3.6.5, 3.7.3, 3.8.4, 3.9.2 und Edge (Snapshot 20190228) und Besitzer betroffener Bilder wurden gebeten, die Zeile mit root auskommentieren /etc/shadow oder stellen Sie sicher, dass das Paket fehlt linux-pam.

Fortsetzung mit Docker Hub

Jerry Gamblin beschloss, neugierig zu sein, „wie verbreitet die Praxis der Verwendung von Null-Passwörtern in Containern sein könnte.“ Zu diesem Zweck verfasste er eine kleine Bash-Skript, dessen Essenz sehr einfach ist:

  • Durch eine Curl-Anfrage an die API im Docker Hub wird eine Liste der dort gehosteten Docker-Images angefordert;
  • über jq wird nach Feldern sortiert popularity, und aus den erzielten Ergebnissen bleiben die ersten tausend übrig;
  • für jeden von ihnen ist es erfüllt docker pull;
  • für jedes vom Docker Hub empfangene Bild wird ausgeführt docker run mit dem Lesen der ersten Zeile aus der Datei /etc/shadow;
  • wenn der Wert der Zeichenfolge gleich ist root:::0:::::, wird der Name des Bildes in einer separaten Datei gespeichert.

Was ist passiert? IN Diese Datei Es gab 194 Zeilen mit den Namen beliebter Docker-Images bei Linux-Systemen, in denen der Root-Benutzer kein Passwort festgelegt hat:

„Zu den bekanntesten Namen auf dieser Liste gehörten Govuk/Governmentpaas, Hashicorp, Microsoft, Monsanto und Mesosphere. Und kylemanna/openvpn ist der beliebteste Container auf der Liste, seine Statistiken belaufen sich auf mehr als 10 Millionen Aufrufe.“

Es sei jedoch daran erinnert, dass dieses Phänomen an sich keine direkte Gefährdung der Sicherheit der Systeme, die sie nutzen, bedeutet: Es hängt alles davon ab, wie genau sie genutzt werden (siehe Kommentar zum Alpine-Fall oben). Die „Moral von der Geschichte“ haben wir jedoch schon oft gesehen: Scheinbare Einfachheit hat oft eine Kehrseite, die man sich immer vor Augen halten muss und deren Konsequenzen man in den Anwendungsszenarien der Technologie berücksichtigen muss.

PS

Lesen Sie auch auf unserem Blog:

Source: habr.com

Kommentar hinzufügen