19 % geriausių Docker vaizdų neturi root slaptažodžio

Praėjusį šeštadienį, gegužės 18 d., Jerry Gamblin iš Kenna Security patikrinta 1000 populiariausių „Docker Hub“ vaizdų pagal jų naudojamą pagrindinį slaptažodį. 19% atvejų jis buvo tuščias.

19 % geriausių Docker vaizdų neturi root slaptažodžio

Alpių fonas

Mažo tyrimo priežastis buvo Talos pažeidžiamumo ataskaita, kuri pasirodė anksčiau šį mėnesį (TALOS-2019-0782), kurio autoriai dėl Peterio Adkinso iš Cisco Umbrella atradimo pranešė, kad Docker vaizdai su populiariu Alpine konteinerių platinimu neturi root slaptažodžio:

„Oficialiose Alpine Linux Docker vaizdų versijose (nuo 3.3 versijos) yra NULL root vartotojo slaptažodis. Šis pažeidžiamumas atsirado dėl regresijos, įvestos 2015 m. gruodžio mėn. Esmė ta, kad sistemos, įdiegtos su probleminėmis Alpine Linux versijomis konteineryje ir naudojant Linux PAM arba kitą mechanizmą, kuris naudoja sistemos šešėlinį failą kaip autentifikavimo duomenų bazę, gali priimti NULL slaptažodį pagrindiniam vartotojui.

„Docker“ vaizdų versijos su „Alpine“, išbandytos dėl problemos, buvo 3.3–3.9 imtinai, taip pat naujausia „Edge“ versija.

Autoriai pateikė šią rekomendaciją paveiktiems vartotojams:

„Šakninė paskyra turi būti aiškiai išjungta „Docker“ vaizduose, sukurtuose iš probleminių Alpine versijų. Tikėtinas pažeidžiamumo išnaudojimas priklauso nuo aplinkos, nes jo sėkmei reikalinga išoriškai persiųsta paslauga ar programa naudojant Linux PAM ar kitą panašų mechanizmą.

Problema buvo pašalinta Alpine versijose 3.6.5, 3.7.3, 3.8.4, 3.9.2 ir edge (20190228 momentinė nuotrauka), o paveiktų vaizdų savininkų buvo paprašyta pakomentuoti eilutę, kurios šaknis yra /etc/shadow arba įsitikinkite, kad pakuotės nėra linux-pam.

Tęsinys su Docker Hub

Jerry Gamblinas nusprendė pasidomėti, „kaip įprasta gali būti tuščių slaptažodžių naudojimas konteineriuose“. Šiuo tikslu jis parašė mažą Bash scenarijus, kurio esmė labai paprasta:

  • per curl užklausą į API Docker Hub, pateikiamas ten priglobtų Docker vaizdų sąrašas;
  • per jq jis rūšiuojamas pagal lauką popularity, o iš gautų rezultatų lieka pirmasis tūkstantis;
  • kiekvienam iš jų jis išsipildo docker pull;
  • kiekvienam iš Docker Hub gautam vaizdui vykdomas docker run nuskaitydami pirmąją failo eilutę /etc/shadow;
  • jei eilutės reikšmė lygi root:::0:::::, vaizdo pavadinimas išsaugomas atskirame faile.

Kas nutiko? IN šį failą Buvo 194 eilutės su populiarių „Docker“ vaizdų pavadinimais su „Linux“ sistemomis, kuriose pagrindinis vartotojas neturi slaptažodžio:

„Tarp žinomiausių vardų šiame sąraše buvo govuk/governmentpaas, hashicorp, microsoft, monsanto ir mesosphere. O kylemanna/openvpn yra populiariausias konteineris sąraše, jo statistika iš viso ištraukia daugiau nei 10 mln.

Tačiau verta priminti, kad šis reiškinys pats savaime nereiškia tiesioginio jas naudojančių sistemų saugumo pažeidžiamumo: viskas priklauso nuo to, kaip tiksliai jos naudojamos. (žr. komentarą iš Alpių bylos aukščiau). Tačiau mes ne kartą matėme „istorijos moralę“: akivaizdus paprastumas dažnai turi neigiamą pusę, kurią visada reikia atsiminti ir į kurios pasekmes atsižvelgti savo technologijų taikymo scenarijuose.

PS

Taip pat skaitykite mūsų tinklaraštyje:

Šaltinis: www.habr.com

Добавить комментарий