Үздік Docker кескіндерінің 19% түбірлік құпия сөзге ие емес

Өткен сенбіде, 18 мамырда, Kenna Security компаниясының Джерри Гэмблин тексерілді Түбірлік пайдаланушы үшін пайдаланатын құпия сөз бойынша Docker Hub 1000 ең танымал кескіндері. 19% жағдайда бос болып шықты.

Үздік Docker кескіндерінің 19% түбірлік құпия сөзге ие емес

Альпі бар фон

Шағын зерттеудің себебі осы айдың басында пайда болған Talos осалдығы туралы есеп болды (TALOS-2019-0782), оның авторлары - Cisco Umbrella-дан Питер Адкинстің ашылуының арқасында - танымал Alpine контейнер дистрибуциясы бар Docker кескіндерінде түбірлік құпия сөз жоқ екенін хабарлады:

“Alpine Linux Docker кескіндерінің ресми нұсқаларында (v3.3 бастап) түбірлік пайдаланушы үшін NULL құпия сөзі бар. Бұл осалдық 2015 жылдың желтоқсанында ұсынылған регрессия нәтижесінде пайда болды. Оның мәні контейнерде Alpine Linux-тың проблемалық нұсқаларымен орналастырылған жүйелер және Linux PAM немесе аутентификация үшін дерекқор ретінде жүйелік көлеңкелі файлды пайдаланатын басқа механизм түбірлік пайдаланушы үшін нөлдік (NULL) құпия сөзді қабылдай алатындығына байланысты.

Мәселе үшін сыналған Alpine Docker кескіндерінің нұсқалары 3.3-3.9 қоса алғанда, сонымен қатар edge соңғы шығарылымы болды.

Авторлар зардап шеккен пайдаланушыларға келесі ұсыныс жасады:

«Alpine проблемалы нұсқаларынан жасалған Docker кескіндерінде түбірлік тіркелгіні анық ажырату керек. Осалдықты пайдалану ықтималдығы қоршаған ортаға байланысты, өйткені оның сәттілігі Linux PAM немесе басқа ұқсас механизмді пайдаланатын сырттан жіберілген қызметті немесе қолданбаны қажет етеді.

Мәселе болды жойылды Альпі 3.6.5, 3.7.3, 3.8.4, 3.9.2 және жиегі (20190228 сурет) нұсқаларында және зардап шеккен кескіндердің иелерінен түбірі бар жолға түсініктеме беру сұралды. /etc/shadow немесе пакеттің жоқтығына көз жеткізіңіз linux-pam.

Docker хабынан жалғасы

Джерри Гэмблин «контейнерлердегі нөлдік құпия сөздерді пайдалану тәжірибесі қаншалықты жиі кездесетіні» туралы сұрауды шешті. Мұны істеу үшін ол шағын жазды bash сценарийі, оның мәні өте қарапайым:

  • Docker Hub ішіндегі API бұрау сұрауы арқылы онда орналастырылған Docker кескіндерінің тізімі сұралады;
  • jq арқылы өріс бойынша сұрыптайды popularity, және алынған нәтижелерден алғашқы мың қалады;
  • олардың әрқайсысы үшін, docker pull;
  • Docker Hub жүйесінен алынған әрбір кескін үшін, docker run файлдан бірінші жолды оқу /etc/shadow;
  • егер жолдың мәні тең болса root:::0:::::, сурет атауы бөлек файлға сақталады.

Не болды? IN бұл файл Linux жүйелерімен танымал Docker кескіндерінің атаулары бар 194 жол болды, онда түбірлік пайдаланушыда құпия сөз орнатылмаған:

«Бұл тізімдегі ең танымал атаулар арасында govuk/governmentpaas, hashicorp, microsoft, monsanto және mesosphere болды. Kylemanna/openvpn - бұл тізімдегі ең танымал контейнер, оның 10 миллионнан астам тартуы бар».

Дегенмен, бұл құбылыстың өзі оларды пайдаланатын жүйелердің қауіпсіздігіндегі тікелей осалдықты білдірмейтінін еске түсіру керек: бәрі олардың қаншалықты нақты пайдаланылғанына байланысты. (жоғарыдағы Альпі жағдайындағы түсініктемені қараңыз). Дегенмен, біз «бұл оқиғаның моральдық жағын» бірнеше рет көрдік: көрінетін қарапайымдылықтың жиі кемшіліктері бар, сіз оны әрқашан есте сақтауыңыз және технологияны пайдалану сценарийлеріңізде оның салдарын ескеруіңіз керек.

PS

Біздің блогта да оқыңыз:

Ақпарат көзі: www.habr.com

пікір қалдыру