Më 18 maj, të shtunën e kaluar, Jerry Gamblin nga Kenna Security 1000 imazhe më të njohura nga Docker Hub për fjalëkalimin e përdoruesit root. Në 19% të rasteve, ai rezultoi bosh.

Historia me Alpine
Motivi për këtë mini-hetim ishte Raporti i Ndjeshmërisë Talos (), autorët e të cilit — falë zbulimit të Peter Adkins nga Cisco Umbrella — njoftuan se imazhet Docker me distribucionin popullor për kontejnerë Alpine nuk kanë fjalëkalim për root:
"Versionet zyrtare të imazheve Docker të Alpine Linux (nga v3.3 e lart) përmbajnë fjalëkalim NULL për përdoruesin root. Kjo ndjeshmëri shfaqur si rezultat i një regresioni të prezantuar në dhjetor 2015. Thelbi i saj është se sistemet e vendosura me versionet problematike të Alpine Linux në kontejner dhe që përdorin Linux PAM ose një mekanizëm tjetër që angazhon skedarin sistemik shadow si bazë të dhënash për autentifikim, mund të pranojnë një fjalëkalim null (NULL) për përdoruesin root."
Versionet e imazheve Docker me Alpine që ishin verifikuar për problemin ishin nga 3.3 deri në 3.9 përfshirë, si dhe rrelease i fundit edge.
Autorët dhanë rekomandimin e mëposhtëm për përdoruesit e prekur nga problemi:
«Llogaria root duhet të jetë qartë e çaktivizuar në imazhet Docker që janë ndërtuar mbi versione problematike të Alpine. Shfrytëzimi i mundshëm i dobësisë varet nga mjedisi, pasi suksesi i saj kërkon një shërbim ose aplikacion të ekspozuar jashtë, që përdor Linux PAM ose një mekanizëm të ngjashëm».
Problemi u në Alpine versionet 3.6.5, 3.7.3, 3.8.4, 3.9.2 dhe edge (20190228 snapshot), dhe pronarët e imazheve të ndjeshme ndaj saj u këshilluan të komentojnë linjën me root në /etc/shadow ose të sigurohen që paketa linux-pam.
Vazhdimi nga Docker Hub
Jerry Gamblin vendosi të kuriozojë, «sa e përhapur mund të jetë praktika e përdorimit të fjalëkalimeve null në kontejnerë». Për këtë, ai shkroi një skenar të vogël , i cili është mjaft i thjeshtë:
- përmes një kërkese curl në API-në në Docker Hub kërkohet lista e imazheve të vendosura atje;
- përmes jq ai filtrin sipas fushës
popularity, dhe nga rezultatet e marra mbeten mijë të parat; - për secilin prej tyre ekzekutohet
docker pull; - për secilin imazh të marrë nga Docker Hub ekzekutohet
docker runme leximin e rreshtit të parë nga skedari/etc/shadow; - nëse vlera e rreshtit doli të ishte
root:::0:::::, emri i imazhit ruhet në një skedar të veçantë.
Çfarë doli nga kjo? Në u zbuluam 194 rreshta me emrat e imazheve të njohura Docker me sisteme Linux, ku përdoruesi root nuk ka një fjalëkalim të vendosur:
«Среди наиболее известных имён в этом списке оказались govuk/governmentpaas, hashicorp, microsoft, monsanto и mesosphere. А kylemanna/openvpn — самый популярный контейнер из списка, его статистика насчитывает более 10 миллионов pull’ов».
Megjithatë, është e rëndësishme të theksohet se ky fenomen kaq i zakonshëm nuk do të thotë domosdoshmërisht një dobësi të drejtpërdrejtë në sigurinë e sistemeve që i përdorin ato: gjithçka varet nga mënyra se si ato përdoren. (shih komentarin në rastin me Alpine më sipër). Por «moraliteti i kësaj storje» e kemi parë më parë shpesh: dukshmëria e thjeshtësisë shpesh ka një anë tjetër, të cilën gjithmonë duhet ta kemi parasysh dhe pasojat e saj duhet të merren parasysh në skenarët e përdorimit të teknologjisë.
P.S.
Lexoni gjithashtu në blogun tonë:
- «»;
- «»;
- «»;
- «».
Burimi: habr.com
