19% populaarseimatest Docker-piltidest puudub root'i jaoks parool

Eelmisel laupäeval, 18. mail, viis Jerry Gamblin Kenna Security kontrollimise läbi 1000 populaarseimat pilti Docker Hub'is, et tuvastada nende kasutatavad root'i paroolid. 19% juhtudest osutus see tühi olevaks.

19% populaarseimatest Docker-piltidest puudub root'i jaoks parool

Alpine taust

Uurimuse läbiviimise põhjuseks sai varem sel kuul ilmunud Talos Vulnerability Report (TALOS-2019-0782), mille autorid — tänu Peter Adkins'i avastusele Cisco Umbrella's — teatasid, et Docker-pildid, mis kasutavad populaarset konteineridistributsiooni Alpine, ei oma root'i jaoks parooli:

„Ametlikud Alpine Linux'i Docker-pildid (alates v3.3) sisaldavad NULL-parooli kasutaja root jaoks. See haavatavus tekkis tulemusena regressioonist, mis esitati detsembris 2015. See seisneb selles, et probleemsete versioonidega Alpine Linux'is konteineris käivitatud süsteemid, mis kasutavad Linux PAM'i või muud mehhanismi, mis võtab kasutusele süsteemi failide shadow autentimiseks, võivad aktsepteerida NULL-parooli kasutaja root jaoks.”

Probleemsete versioonidega Docker-pildid Alpine'i kohta loeti versioone 3.3—3.9 (kaasa arvatud) ning viimane edge väljaanne.

Autorid soovitasid kasutajatele, kes on probleemile vastuvõtlikud:

„Root-konto peab olema Docker-piltides, mis on loodud probleemsetel Alpine'i versioonidel, selgelt keelatud. Haavatavuse ärakasutamine sõltub keskkonnast, kuna selle edukuseks on vajalik avalik serv või rakendus, mis kasutab Linux PAM-i või sarnast mehhanismi.“

Probleem oli eemaldatud Alpine versioonides 3.6.5, 3.7.3, 3.8.4, 3.9.2 ja edge (20190228 snapshot), ning neid mõjutavate piltide omanikele soovitati kommenteerida ridu, mis sisaldavad root-i /etc/shadow või veenduda, et paketti ei ole linux-pam.

Jätkub Docker Hub'is

Jerry Gamblin soovis teada, kui levinud praktika null-paroolide kasutamine konteinerites võib olla. Selleks kirjutas ta väikese Bash-skripti, mille olemus on üsna lihtne:

  • curl-päringuga Docker Hubi API-le küsitakse loetelu seal hostitud Docker-piltidest;
  • jal kasutades jq, sorteeritakse see „popularity“ välja; , ja saadud tulemustest jääb alles esimene tuhat;igaühe puhul täidetakse
  • igalt saadud Docker Hub'i pildilt loetakse docker pull;
  • esimese rea failist docker run kui rea väärtus osutus võrdseks /etc/shadow;
  • если значение строки оказалось равным root:::0:::::, kujutise nimi salvestatakse eraldi faili.

Mida siis saadi? Failis oli 194 rida populaarsete Linux-süsteemide Docker-piltide nimedega, mille root-kasutajal ei ole seadistatud parooli: „Selle nimekirja seas olid tuntumad nimed nagu govuk/governmentpaas, hashicorp, microsoft, monsanto ja mesosphere. Ja kylemanna/openvpn on nimekirja kõige populaarsem konteiner, mille statistika ulatub üle 10 miljoni allalaadimise.“

Siiski tasub meeles pidada, et see nähtus ei tähenda iseenesest süsteemide, mis neid kasutavad, otsest turvaauku: kõik sõltub sellest, kuidas neid täpselt rakendatakse

(vt kommentaar ülaltoodud Alpine juhtumi kohta) . Siiski, „selle muinasjutu õpetus“ on meile tuttav juba korduvalt: nähtav lihtsus omab sageli ka varjupoolt, millest tuleb alati teadlik olla ja mille tagajärgi tehnoloogia kasutusstsenaariumites arvesse võtta.Statistika Docker Hubis olevate põhiliste operatsioonisüsteemide kohta

P.S.

Lugege ka meie blogist:

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster