19% no populārākajiem Docker attēliem nav root paroles

Pagājušajā sestdienā, 18. maijā, Džerijs Gamblins no Kenna Security pārbaudīts 1000 populārāko attēlu no Docker Hub, pamatojoties uz to izmantoto root paroli. 19% gadījumu tā bija tukša.

19% no populārākajiem Docker attēliem nav root paroles

fons ar Alpu

Minētā pētījuma iemesls bija Talos ievainojamības ziņojums, kas parādījās šī mēneša sākumā (TALOS-2019-0782), kuras autori, pateicoties Pītera Adkinsa atklājumam no Cisco Umbrella, ziņoja, ka Docker attēliem ar populāro Alpine konteineru izplatīšanu nav root paroles:

“Alpine Linux Docker attēlu oficiālajās versijās (kopš v3.3) saknes lietotājam ir NULL parole. Šī ievainojamība radās 2015. gada decembrī ieviestās regresijas rezultātā. Būtība ir tāda, ka sistēmas, kas izvietotas ar problemātiskām Alpine Linux versijām konteinerā un izmanto Linux PAM vai citu mehānismu, kas izmanto sistēmas ēnas failu kā autentifikācijas datu bāzi, var pieņemt NULL paroli saknes lietotājam.

Problēmas pārbaudei pārbaudītās Docker attēlu versijas ar Alpine bija 3.3–3.9 ieskaitot, kā arī Edge jaunākā versija.

Autori sniedza šādu ieteikumu ietekmētajiem lietotājiem:

“Saknes konts ir skaidri jāatspējo Docker attēlos, kas izveidoti no problemātiskām Alpine versijām. Iespējamā ievainojamības izmantošana ir atkarīga no vides, jo tās panākumiem ir nepieciešams ārēji pārsūtīts pakalpojums vai lietojumprogramma, izmantojot Linux PAM vai citu līdzīgu mehānismu."

Problēma bija likvidēta Alpine versijās 3.6.5, 3.7.3, 3.8.4, 3.9.2 un edge (20190228 momentuzņēmums), un ietekmēto attēlu īpašniekiem tika lūgts komentēt rindiņu ar saknes vērtību /etc/shadow vai pārliecinieties, ka iepakojuma nav linux-pam.

Turpinājums ar Docker Hub

Džerijs Gamblins nolēma interesēties par to, "cik izplatīta varētu būt nulles paroļu izmantošana konteineros". Šim nolūkam viņš uzrakstīja nelielu Bash skripts, kuras būtība ir ļoti vienkārša:

  • izmantojot locīšanas pieprasījumu API Docker Hub, tiek pieprasīts tur mitināto Docker attēlu saraksts;
  • izmantojot jq, tas tiek sakārtots pēc lauka popularity, un no iegūtajiem rezultātiem paliek pirmais tūkstotis;
  • katram no viņiem tas ir izpildīts docker pull;
  • katram attēlam, kas saņemts no Docker Hub, tiek izpildīts docker run nolasot pirmo rindiņu no faila /etc/shadow;
  • ja virknes vērtība ir vienāda ar root:::0:::::, attēla nosaukums tiek saglabāts atsevišķā failā.

Kas notika? IN šo failu Bija 194 rindas ar populāru Docker attēlu nosaukumiem ar Linux sistēmām, kurās saknes lietotājam nav iestatīta parole:

“Starp vispazīstamākajiem nosaukumiem šajā sarakstā bija govuk/governmentpaas, hashicorp, microsoft, monsanto un mesosphere. Un kylemanna/openvpn ir vispopulārākais konteiners sarakstā, tā statistika kopumā pārsniedz 10 miljonus.

Tomēr ir vērts atgādināt, ka šī parādība pati par sevi nenozīmē tiešu ievainojamību to sistēmu drošībā, kuras tās izmanto: viss ir atkarīgs no tā, kā tieši tās tiek izmantotas. (skatīt komentāru no Alpine lietas iepriekš). Tomēr mēs esam daudzkārt redzējuši “stāsta morāli”: šķietamai vienkāršībai bieži ir mīnuss, kas vienmēr ir jāatceras un kura sekas jāņem vērā savos tehnoloģiju pielietošanas scenārijos.

PS

Lasi arī mūsu emuārā:

Avots: www.habr.com

Pievieno komentāru