El 19% de les imatges principals de Docker no tenen una contrasenya d'arrel

Dissabte passat, 18 de maig, Jerry Gamblin de Kenna Security comprovat 1000 de les imatges més populars de Docker Hub en funció de la contrasenya d'arrel que utilitzen. En un 19% dels casos estava buit.

El 19% de les imatges principals de Docker no tenen una contrasenya d'arrel

Fons amb Alpine

El motiu de la mini-investigació va ser l'Informe de vulnerabilitat de Talos que va aparèixer a principis d'aquest mes (TALOS-2019-0782), els autors de la qual, gràcies al descobriment de Peter Adkins de Cisco Umbrella, van informar que les imatges de Docker amb la popular distribució de contenidors Alpine no tenen una contrasenya d'arrel:

"Les versions oficials de les imatges d'Alpine Linux Docker (des de la v3.3) contenen una contrasenya NULL per a l'usuari root. Aquesta vulnerabilitat va ser el resultat d'una regressió introduïda el desembre de 2015. L'essència d'això és que els sistemes desplegats amb versions problemàtiques d'Alpine Linux en un contenidor i que utilitzen Linux PAM o un altre mecanisme que utilitzi el fitxer d'ombra del sistema com a base de dades d'autenticació poden acceptar una contrasenya NULL per a l'usuari root.

Les versions d'imatges de Docker amb Alpine provades per al problema eren de 3.3 a 3.9 inclosos, així com la darrera versió de Edge.

Els autors van fer la següent recomanació per als usuaris afectats:

"El compte root s'ha de desactivar explícitament a les imatges de Docker construïdes a partir de versions problemàtiques d'Alpine. L'explotació probable de la vulnerabilitat depèn de l'entorn, ja que el seu èxit requereix un servei o aplicació reenviada externament que utilitzi Linux PAM o un altre mecanisme similar".

El problema era eliminat a les versions Alpine 3.6.5, 3.7.3, 3.8.4, 3.9.2 i edge (20190228 instantània), i es va demanar als propietaris de les imatges afectades que comentessin la línia amb root a /etc/shadow o assegureu-vos que falti el paquet linux-pam.

Va continuar amb Docker Hub

Jerry Gamblin va decidir tenir curiositat per "com de comuna podria ser la pràctica d'utilitzar contrasenyes nul·les als contenidors". Amb aquest propòsit va escriure un petit Guió Bash, l'essència de la qual és molt senzilla:

  • mitjançant una sol·licitud de curl a l'API a Docker Hub, es demana una llista d'imatges de Docker allotjades allà;
  • mitjançant jq s'ordena per camp popularity, i dels resultats obtinguts en queda el primer miler;
  • per a cadascun d'ells es compleix docker pull;
  • per a cada imatge rebuda de Docker Hub s'executa docker run amb la lectura de la primera línia del fitxer /etc/shadow;
  • si el valor de la cadena és igual a root:::0:::::, el nom de la imatge es desa en un fitxer independent.

Què va passar? EN aquest fitxer Hi havia 194 línies amb els noms d'imatges populars de Docker amb sistemes Linux, en les quals l'usuari root no té una contrasenya establerta:

"Entre els noms més coneguts d'aquesta llista es trobaven govuk/governmentpaas, hashicorp, microsoft, monsanto i mesosphere. I kylemanna/openvpn és el contenidor més popular de la llista, les seves estadístiques sumen més de 10 milions de tirades.

Val la pena recordar, però, que aquest fenomen en si mateix no suposa una vulnerabilitat directa en la seguretat dels sistemes que els utilitzen: tot depèn de com s'utilitzen exactament. (vegeu el comentari del cas alpí anterior). No obstant això, hem vist la "moral de la història" moltes vegades: la senzillesa aparent sovint té un inconvenient, que sempre cal recordar i les conseqüències de les quals tenir-ne en compte en els vostres escenaris d'aplicació tecnològica.

PS

Llegeix també al nostre blog:

Font: www.habr.com

Afegeix comentari