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

Am vergangenen Samstag, dem 18. Mai, überprüfte Jerry Gamblin von Kenna Security die 1000 beliebtesten Bilder vom Docker Hub auf das darin verwendete Root-Passwort. In 19% der Fälle war er abwesend.



Hintergrund mit Alpine


Der Grund für die Ministudie war der Talos Vulnerability Report ( TALOS-2019-0782 ), der Anfang dieses Monats erschien und dessen Autoren - dank des Funds von Peter Adkins von Cisco Umbrella - berichteten, dass Docker-Bilder mit dem beliebten Distributionskit für Container Alpine kein Passwort für haben root:

„Die offiziellen Versionen von Alpine Linux Docker-Images (ab Version 3.3) enthalten ein NULL-Passwort für den Root-Benutzer. Diese Sicherheitsanfälligkeit ist auf eine im Dezember 2015 eingeführte Regression zurückzuführen. Das Wesentliche 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 Schattensystemdatei als Authentifizierungsdatenbank verwendet, ein NULL-Kennwort für den Root-Benutzer akzeptieren können. “

Alpine Versionen von Docker-Images, die auf das Problem getestet wurden, wurden als 3.3–3.9 einschließlich sowie als neueste Edge-Version bezeichnet.

Die Autoren haben den vom Problem betroffenen Benutzern die folgende Empfehlung gegeben:

„Das Root-Konto muss in Docker-Images, die auf problematischen Versionen von Alpine basieren, explizit deaktiviert werden. Die wahrscheinliche Ausnutzung der Sicherheitsanfälligkeit hängt von der Umgebung ab, da für ihren Erfolg ein Dienst oder eine Anwendung erforderlich ist, die mit Linux PAM oder einem anderen ähnlichen Mechanismus nach außen weitergeleitet wurde. “

Das Problem wurde in den Alpine-Versionen 3.6.5, 3.7.3, 3.8.4, 3.9.2 und edge (Schnappschuss 20190228) behoben, und den Eigentümern der davon betroffenen Bilder wurde angeboten, die Zeile mit root in /etc/shadow auskommentieren oder sicherzustellen, dass kein linux-pam Paket vorhanden ist linux-pam .

Fortsetzung mit dem Docker Hub


Jerry Gamblin entschloss sich zu fragen, "wie weit verbreitet es sein könnte, Null-Passwörter in Containern zu verwenden". Zu diesem Zweck schrieb er ein kleines Bash-Skript , dessen Kern sehr einfach ist:

  • Durch eine Curl-Anforderung an die API im Docker Hub wird eine Liste der dort gehosteten Docker-Images angefordert.
  • durch jq wird es nach dem popularity sortiert, und die ersten tausend Überreste der erhaltenen Ergebnisse;
  • docker pull wird für jeden von ihnen durchgeführt;
  • Für jedes vom Docker Hub empfangene Bild wird ein docker run ausgeführt, bei dem die erste Zeile aus der Datei /etc/shadow gelesen wird.
  • Wenn sich herausstellt, dass der Zeichenfolgenwert root:::0::::: , wird der root:::0::::: in einer separaten Datei gespeichert.

Was ist passiert? Diese Datei enthielt 194 Zeilen mit den Namen beliebter Docker-Images mit Linux-Systemen, deren Root-Benutzer kein Kennwort hat:

„Zu den bekanntesten Namen auf dieser Liste gehörten Govuk / Governmentpaas, Hashicorp, Microsoft, Monsanto und Mesosphäre. Und kylemanna / openvpn ist der beliebteste Container auf der Liste. Die Statistik umfasst mehr als 10 Millionen Pulls. "

Es sei jedoch daran erinnert, dass dieses Phänomen an sich keine direkte Sicherheitslücke in der Sicherheit der Systeme darstellt, die sie verwenden: Es hängt alles davon ab, wie sie verwendet werden (siehe den Kommentar aus dem Fall Alpine oben) . Wir haben jedoch bereits viele Male „die Moral dieser Fabel“ gesehen: Die scheinbare Einfachheit hat oft einen Nachteil, an den man sich immer erinnern muss und dessen Konsequenzen in Technologieszenarien berücksichtigt werden sollten.

PS


Lesen Sie auch in unserem Blog:

Source: https://habr.com/ru/post/de452754/


All Articles