19% ng mga nangungunang larawan ng Docker ay walang root password

Noong nakaraang Sabado, ika-18 ng Mayo, si Jerry Gamblin ng Kenna Security sinuri 1000 sa mga pinakasikat na larawan mula sa Docker Hub batay sa root password na ginagamit nila. Sa 19% ng mga kaso, ito ay walang laman.

19% ng mga nangungunang larawan ng Docker ay walang root password

Background na may Alpine

Ang dahilan para sa mini-research ay ang Talos Vulnerability Report na lumabas sa unang bahagi ng buwang ito (TALOS-2019-0782), ang mga may-akda kung saan - salamat sa pagtuklas ni Peter Adkins mula sa Cisco Umbrella - ay nag-ulat na ang mga imahe ng Docker na may sikat na pamamahagi ng lalagyan ng Alpine ay walang root password:

β€œAng mga opisyal na bersyon ng mga larawan ng Alpine Linux Docker (mula noong v3.3) ay naglalaman ng NULL na password para sa root user. Ang kahinaang ito ay nagresulta mula sa isang regression na ipinakilala noong Disyembre 2015. Ang buod nito ay ang mga system na na-deploy na may problemang mga bersyon ng Alpine Linux sa isang lalagyan at ang paggamit ng Linux PAM o isa pang mekanismo na gumagamit ng system shadow file bilang database ng pagpapatunay ay maaaring tumanggap ng NULL na password para sa root user."

Ang mga bersyon ng Docker images na may Alpine na nasubok para sa problema ay 3.3–3.9 inclusive, pati na rin ang pinakabagong release ng edge.

Ginawa ng mga may-akda ang sumusunod na rekomendasyon para sa mga apektadong user:

β€œDapat na tahasang hindi pinagana ang root account sa mga larawan ng Docker na binuo mula sa mga problemadong bersyon ng Alpine. Ang malamang na pagsasamantala sa kahinaan ay nakasalalay sa kapaligiran, dahil ang tagumpay nito ay nangangailangan ng isang externally forwarded na serbisyo o application gamit ang Linux PAM o iba pang katulad na mekanismo."

Ang problema noon inalis sa Alpine na bersyon 3.6.5, 3.7.3, 3.8.4, 3.9.2 at edge (20190228 snapshot), at ang mga may-ari ng mga apektadong larawan ay hiniling na magkomento sa linyang may ugat sa /etc/shadow o siguraduhing nawawala ang package linux-pam.

Nagpatuloy sa Docker Hub

Nagpasya si Jerry Gamblin na maging mausisa tungkol sa "kung gaano karaniwan ang kasanayan ng paggamit ng mga null na password sa mga container." Para sa layuning ito siya ay sumulat ng isang maliit Bash script, ang kakanyahan nito ay napakasimple:

  • sa pamamagitan ng curl request sa API sa Docker Hub, hinihiling ang isang listahan ng mga larawan ng Docker na naka-host doon;
  • sa pamamagitan ng jq ito ay pinagsunod-sunod ayon sa field popularity, at mula sa mga resultang nakuha, ang unang libo ay nananatili;
  • para sa bawat isa sa kanila ito ay natupad docker pull;
  • para sa bawat imahe na natanggap mula sa Docker Hub ay isinasagawa docker run sa pagbabasa ng unang linya mula sa file /etc/shadow;
  • kung ang halaga ng string ay katumbas ng root:::0:::::, ang pangalan ng imahe ay naka-save sa isang hiwalay na file.

Anong nangyari? SA ang file na ito Mayroong 194 na linya na may mga pangalan ng mga sikat na larawan ng Docker na may mga sistema ng Linux, kung saan ang root user ay walang set ng password:

β€œKabilang sa mga pinakakilalang pangalan sa listahang ito ay govuk/governmentpaas, hashicorp, microsoft, monsanto at mesosphere. At ang kylemanna/openvpn ay ang pinakasikat na container sa listahan, ang mga istatistika nito ay may kabuuang higit sa 10 milyong pulls.

Gayunpaman, nararapat na alalahanin na ang hindi pangkaraniwang bagay na ito sa kanyang sarili ay hindi nangangahulugang isang direktang kahinaan sa seguridad ng mga system na gumagamit ng mga ito: ang lahat ay nakasalalay sa kung paano eksaktong ginagamit ang mga ito. (tingnan ang komento mula sa Alpine case sa itaas). Gayunpaman, nakita namin ang "moral ng kuwento" nang maraming beses: ang maliwanag na pagiging simple ay kadalasang may downside, na dapat palaging tandaan at ang mga kahihinatnan nito ay isinasaalang-alang sa iyong mga sitwasyon ng application ng teknolohiya.

PS

Basahin din sa aming blog:

Pinagmulan: www.habr.com

Magdagdag ng komento