19% fan 'e top Docker-ôfbyldings hawwe gjin root-wachtwurd

Lêste sneon 18 mei Jerry Gamblin fan Kenna Security kontrolearre 1000 fan 'e populêrste ôfbyldings fan Docker Hub basearre op it root-wachtwurd dat se brûke. Yn 19% fan de gefallen wie it leech.

19% fan 'e top Docker-ôfbyldings hawwe gjin root-wachtwurd

Eftergrûn mei Alpine

De reden foar it mini-ûndersyk wie it Talos Vulnerability Report dat earder dizze moanne ferskynde (TALOS-2019-0782), wêrfan de auteurs - troch de ûntdekking fan Peter Adkins fan Cisco Umbrella - rapporteare dat Docker-ôfbyldings mei de populêre Alpine-kontenerdistribúsje gjin rootwachtwurd hawwe:

"Offisjele ferzjes fan Alpine Linux Docker-ôfbyldings (sûnt v3.3) befetsje in NULL-wachtwurd foar de root-brûker. Dizze kwetsberens ûntstie út in regression yntrodusearre yn desimber 2015. De essinsje hjirfan is dat systemen ynset mei problematyske ferzjes fan Alpine Linux yn in kontener en Linux PAM brûke as in oar meganisme dat it systeemskaadbestân brûkt as in autentikaasjedatabase in NULL-wachtwurd kin akseptearje foar de root-brûker.

De ferzjes fan Docker-ôfbyldings mei Alpine testen foar it probleem wiene 3.3–3.9 ynklusyf, lykas ek de lêste release fan edge.

De auteurs makken de folgjende oanbefelling foar troffen brûkers:

"It root-akkount moat eksplisyt útskeakele wurde yn Docker-ôfbyldings boud fan problematyske ferzjes fan Alpine. De wierskynlike eksploitaasje fan 'e kwetsberens hinget ôf fan' e omjouwing, om't har sukses in ekstern trochstjoerde tsjinst of applikaasje fereasket mei Linux PAM of in oare ferlykbere meganisme."

It probleem wie eliminearre yn Alpine ferzjes 3.6.5, 3.7.3, 3.8.4, 3.9.2 en edge (20190228 momintopname), en eigners fan troffen ôfbyldings waarden frege om kommentaar út de line mei root yn /etc/shadow of soargje derfoar dat it pakket ûntbrekt linux-pam.

Trochgean mei Docker Hub

Jerry Gamblin besleat nijsgjirrich te wêzen oer "hoe gewoan de praktyk fan it brûken fan nulwachtwurden yn konteners kin wêze." Foar dit doel skreau er in lyts Bash skript, wêrfan de essinsje hiel ienfâldich is:

  • fia in krulfersyk oan de API yn Docker Hub, wurdt in list mei Docker-ôfbyldings dy't dêr host wurde oanfrege;
  • fia jq wurdt it sortearre op fjild popularity, en út de resultaten krigen, de earste tûzen bliuwt;
  • foar elk fan harren is it folbrocht docker pull;
  • foar elke ôfbylding ûntfongen fan Docker Hub wurdt útfierd docker run mei it lêzen fan de earste rigel út de triem /etc/shadow;
  • as de wearde fan 'e tekenrige is gelyk oan root:::0:::::, de namme fan de ôfbylding wurdt bewarre yn in apart bestân.

Wat is bard? YN dizze triem D'r wiene 194 rigels mei de nammen fan populêre Docker-ôfbyldings mei Linux-systemen, wêryn de root-brûker gjin wachtwurd ynsteld hat:

"Under de bekendste nammen op dizze list wiene govuk/governmentpaas, hashicorp, microsoft, monsanto en mesosphere. En kylemanna / openvpn is de populêrste kontener op 'e list, syn statistiken binne yn totaal mear dan 10 miljoen lûken.

It is lykwols de muoite wurdich om te ûnthâlden dat dit ferskynsel op himsels gjin direkte kwetsberens betsjuttet yn 'e feiligens fan' e systemen dy't se brûke: it hinget allegear ôf fan hoe krekt se wurde brûkt (sjoch opmerking fan 'e Alpine-saak hjirboppe). Wy hawwe lykwols de "moraal fan it ferhaal" in protte kearen sjoen: skynbere ienfâld hat faaks in neidiel, dy't altyd moat wurde ûnthâlden en de konsekwinsjes wêrfan rekken holden wurde yn jo technologyapplikaasje-senario's.

PS

Lês ek op ús blog:

Boarne: www.habr.com

Add a comment