19 % najboljših slik Dockerja nima korenskega gesla

Prejšnjo soboto, 18. maja, Jerry Gamblin iz Kenna Security preverjeno 1000 najbolj priljubljenih slik iz Docker Huba na podlagi korenskega gesla, ki ga uporabljajo. V 19 % primerov je bil prazen.

19 % najboljših slik Dockerja nima korenskega gesla

Ozadje z alpskim

Povod za mini raziskavo je bilo poročilo o ranljivosti Talosa, ki se je pojavilo v začetku tega meseca (TALOS-2019-0782), katere avtorji so – zahvaljujoč odkritju Petra Adkinsa iz Cisco Umbrella – poročali, da slike Docker s priljubljeno distribucijo vsebnikov Alpine nimajo korenskega gesla:

»Uradne različice slik Alpine Linux Docker (od v3.3 dalje) vsebujejo NULL geslo za uporabnika root. Ta ranljivost je bila posledica regresije, uvedene decembra 2015. Bistvo tega je, da lahko sistemi, nameščeni s problematičnimi različicami Alpine Linuxa v vsebniku in uporabljajo Linux PAM ali drug mehanizem, ki uporablja sistemsko senčno datoteko kot avtentifikacijsko bazo podatkov, sprejmejo NULL geslo za korenskega uporabnika.«

Različice slik Docker z Alpine, preizkušene za težavo, so bile 3.3–3.9 vključno z najnovejšo izdajo edge.

Avtorji so za prizadete uporabnike podali naslednje priporočilo:

»Korenski račun mora biti izrecno onemogočen v slikah Docker, izdelanih iz problematičnih različic Alpine. Verjetno izkoriščanje ranljivosti je odvisno od okolja, saj njen uspeh zahteva od zunaj posredovano storitev ali aplikacijo, ki uporablja Linux PAM ali drug podoben mehanizem."

Težava je bila odpraviti v različicah Alpine 3.6.5, 3.7.3, 3.8.4, 3.9.2 in edge (posnetek 20190228), lastniki prizadetih slik pa so bili pozvani, da komentirajo vrstico s korenom v /etc/shadow ali se prepričajte, da paket manjka linux-pam.

Nadaljevanje z Docker Hubom

Jerry Gamblin se je odločil, da bo radoveden, "kako pogosta je lahko praksa uporabe ničelnih gesel v vsebnikih." Za to je napisal majhen Bash skript, katerega bistvo je zelo preprosto:

  • prek zahteve curl do API-ja v Docker Hubu se zahteva seznam slik Docker, ki tam gostujejo;
  • prek jq je razvrščeno po polju popularity, iz dobljenih rezultatov pa ostane prvi tisoč;
  • za vsakega od njih je izpolnjeno docker pull;
  • za vsako sliko, prejeto iz Docker Huba, se izvede docker run z branjem prve vrstice iz datoteke /etc/shadow;
  • če je vrednost niza enaka root:::0:::::, se ime slike shrani v ločeno datoteko.

Kaj se je zgodilo? IN to datoteko Bilo je 194 vrstic z imeni priljubljenih slik Docker s sistemi Linux, v katerih root uporabnik nima nastavljenega gesla:

»Med najbolj znanimi imeni na tem seznamu so bili govuk/governmentpaas, hashicorp, microsoft, monsanto in mesosphere. In kylemanna/openvpn je najbolj priljubljen vsebnik na seznamu, njegova statistika skupaj vsebuje več kot 10 milijonov potegov.«

Vendar je treba spomniti, da ta pojav sam po sebi ne pomeni neposredne ranljivosti v varnosti sistemov, ki jih uporabljajo: vse je odvisno od tega, kako natančno se uporabljajo (glej zgornji komentar iz primera Alpine). Vendar smo že večkrat videli "moralo zgodbe": navidezna preprostost ima pogosto slabo stran, ki se je je treba vedno spomniti in katere posledice upoštevati pri scenarijih uporabe tehnologije.

PS

Preberite tudi na našem blogu:

Vir: www.habr.com

Dodaj komentar