19% parimatest Dockeri piltidest ei oma juurparooli

Eelmisel laupäeval, 18. mail, Jerry Gamblin Kenna Securityst kontrollitud 1000 kõige populaarsemat Docker Hubi pilti juurkasutaja jaoks kasutatava parooli järgi. 19% juhtudest osutus see tühjaks.

19% parimatest Dockeri piltidest ei oma juurparooli

Taust Alpiga

Miniuuringu põhjuseks oli Talose haavatavuse aruanne, mis ilmus selle kuu alguses (TALOS-2019-0782), mille autorid – tänu Peter Adkinsi avastusele Cisco Umbrellast – teatasid, et populaarse Alpine konteineri distributsiooniga Dockeri piltidel puudub juurparool:

Alpine Linux Dockeri kujutiste ametlikud versioonid (alates v3.3-st) sisaldavad juurkasutaja jaoks NULL-parooli. See haavatavus ilmnes 2015. aasta detsembris esitatud taandarengu tulemusena. Selle olemus taandub tõsiasjale, et süsteemid, mis on juurutatud Alpine Linuxi probleemsete versioonidega konteineris ja kasutavad Linuxi PAM-i või muud mehhanismi, mis kasutab autentimiseks andmebaasina süsteemi varifaili, võivad aktsepteerida juurkasutaja jaoks nullparooli (NULL).

Probleemi jaoks testitud Alpine Dockeri piltide versioonid olid 3.3–3.9 (kaasa arvatud) ja ka Edge uusim versioon.

Autorid andsid mõjutatud kasutajatele järgmise soovituse:

"Juurkonto tuleb Alpine'i probleemsetest versioonidest ehitatud Dockeri piltides selgesõnaliselt keelata. Haavatavuse tõenäoline ärakasutamine sõltub keskkonnast, kuna selle õnnestumiseks on vaja väljastpoolt edastatud teenust või rakendust, mis kasutab Linuxi PAM-i või muud sarnast mehhanismi.

Probleem oli selles kõrvaldatud Alpine'i versioonides 3.6.5, 3.7.3, 3.8.4, 3.9.2 ja edge (20190228 hetktõmmis) ning mõjutatud piltide omanikel paluti kommenteerida rida, mille juur on /etc/shadow või veenduge, et pakk on puudu linux-pam.

Jätkub Docker Hubist

Jerry Gamblin otsustas küsida, "kui tavaline võib olla konteinerites nullparoolide kasutamine". Selleks kirjutas ta väikese bash skript, mille olemus on väga lihtne:

  • Docker Hubi API-le suunatud curl päringu kaudu taotletakse seal hostitud Dockeri piltide loendit;
  • jq kaudu sorteeritakse väljade järgi popularity, ja saadud tulemustest jääb alles esimene tuhat;
  • igaühe jaoks neist, docker pull;
  • iga Docker Hubilt saadud pildi kohta docker run failist esimese rea lugemine /etc/shadow;
  • kui stringi väärtus on võrdne root:::0:::::, salvestatakse pildi nimi eraldi faili.

Mis juhtus? IN see fail Linuxi süsteemidega populaarsete Dockeri piltide nimedega oli 194 rida, milles juurkasutajal pole parooli määratud:

"Selle loendi kuulsaimate nimede hulgas olid govuk/governmentpaas, hashicorp, microsoft, monsanto ja mesosphere. Ja kylemanna/openvpn on loendis kõige populaarsem konteiner, mida on tehtud üle 10 miljoni.

Siiski tasub meenutada, et see nähtus iseenesest ei tähenda otsest haavatavust neid kasutavate süsteemide turvalisuses: kõik sõltub sellest, kuidas neid täpselt kasutatakse. (vt Alpine juhtumi kommentaari ülalt). Selle loo moraali oleme aga juba korduvalt näinud: näilisel lihtsusel on sageli ka varjukülg, mida tuleks alati meeles pidada ja mille tagajärgedega oma tehnoloogia kasutamise stsenaariumides arvestada.

PS

Loe ka meie blogist:

Allikas: www.habr.com

Lisa kommentaar