19% najboljih Docker slika nema root lozinku

Prošle subote, 18. maja, Jerry Gamblin iz Kenna Security provjereno 1000 najpopularnijih slika sa Docker Hub-a na osnovu root lozinke koju koriste. U 19% slučajeva bio je prazan.

19% najboljih Docker slika nema root lozinku

Pozadina sa Alpine

Povod za mini istraživanje bio je Talosov izvještaj o ranjivosti koji se pojavio ranije ovog mjeseca (TALOS-2019-0782), čiji su autori - zahvaljujući otkriću Petera Adkinsa iz Cisco Umbrella - objavili da Docker slike s popularnom distribucijom Alpine kontejnera nemaju root lozinku:

“Službene verzije Alpine Linux Docker slika (od v3.3) sadrže NULL lozinku za root korisnika. Ova ranjivost je rezultat regresije uvedene u decembru 2015. Suština ovoga je da sistemi koji su raspoređeni s problematičnim verzijama Alpine Linuxa u kontejneru i koji koriste Linux PAM ili neki drugi mehanizam koji koristi sistemsku datoteku sjena kao bazu podataka za autentifikaciju mogu prihvatiti NULL lozinku za root korisnika.”

Verzije Docker slika sa Alpineom testirane za problem bile su 3.3–3.9 uključujući i najnovije izdanje edge.

Autori su dali sljedeću preporuku za pogođene korisnike:

“Root račun mora biti eksplicitno onemogućen u Docker slikama napravljenim od problematičnih verzija Alpine-a. Vjerovatno iskorištavanje ranjivosti ovisi o okruženju, budući da njegov uspjeh zahtijeva eksterno proslijeđenu uslugu ili aplikaciju koja koristi Linux PAM ili drugi sličan mehanizam."

Problem je bio eliminisan u Alpine verzijama 3.6.5, 3.7.3, 3.8.4, 3.9.2 i edge (20190228 snimak), a vlasnici zahvaćenih slika su zamoljeni da komentarišu liniju sa root u /etc/shadow ili provjerite nedostaje li paket linux-pam.

Nastavljeno s Docker Hub-om

Jerry Gamblin je odlučio da bude znatiželjan o tome “koliko je uobičajena praksa korištenja null lozinki u kontejnerima”. U tu svrhu napisao je malu Bash skripta, čija je suština vrlo jednostavna:

  • putem curl zahtjeva do API-ja u Docker Hub-u, traži se lista Docker slika koje se tamo nalaze;
  • preko jq se sortira po polju popularity, a iz dobijenih rezultata ostaje prva hiljadu;
  • za svakog od njih je ispunjeno docker pull;
  • za svaku sliku primljenu od Docker Hub-a se izvršava docker run sa čitanjem prvog reda iz datoteke /etc/shadow;
  • ako je vrijednost niza jednaka root:::0:::::, naziv slike se čuva u zasebnoj datoteci.

Šta se desilo? IN ovaj fajl Bilo je 194 reda s imenima popularnih Docker slika sa Linux sistemima, u kojima root korisnik nema postavljenu lozinku:

“Među najpoznatijim imenima na ovoj listi bili su govuk/governmentpaas, hashicorp, microsoft, monsanto i mesosphere. A kylemanna/openvpn je najpopularniji kontejner na listi, njegova statistika ima više od 10 miliona povlačenja.”

Vrijedi podsjetiti, međutim, da ovaj fenomen sam po sebi ne znači direktnu ranjivost u sigurnosti sistema koji ih koriste: sve ovisi o tome kako se točno koriste (vidi komentar iz slučaja Alpine iznad). Međutim, vidjeli smo „moral priče“ mnogo puta: prividna jednostavnost često ima lošu stranu, koju uvijek morate zapamtiti i čije posljedice treba uzeti u obzir u vašim scenarijima primjene tehnologije.

PS

Pročitajte i na našem blogu:

izvor: www.habr.com

Dodajte komentar