9 најбољих пракси за безбедност контејнера у ДевОпс-у

Контејнери у ДевОпс-у нису нови концепт. Они су виртуелни сандбокови са свим потребним алатима за покретање микросервиса, укључујући велике апликације.

Контејнере можете замислити као системе за паковање који вам (као програмеру) омогућавају да ускладиштите све што вам је потребно за покретање апликације, на пример, времена извођења и бинарне кодове, из централизоване тачке.

Контејнери помажу програмерима да пребацују апликације из једног окружења у друго (као што је слање апликације са локалне машине у виртуелно окружење или премештање из почетне у фазу производње), елиминишући све проблеме везане за различите софтверске и конфигурационе поставке код програмера и производње. крај.

Статиста’с Извештај о технологији контејнера показује да је 50% организација у свету усвојило оркестрацију контејнера. Иако је ова технологија повећала усвајање на основу њених предности, контејнери би могли да отворе капију за нападе на сајбер безбедност ако се не провере.

ЦВЕ детаљисуштински извор података о безбедносној рањивости, је забележен 62 Рањивости прилагођене Доцкеру од овог писања. Зар ово не захтева најбоље праксе програмера за решавање ових замки и чување контејнера за успешне ДевОпс процесе?

Овај пост разлаже концепт безбедности контејнера, истиче неколико изазова и води вас о најбољим праксама које треба применити када користите технологију контејнера.

Шта је безбедност контејнера?

Безбедност контејнера је непрекидан процес који користи безбедносне протоколе (алатке и политике) за заштиту контејнера и њиховог окружења од потенцијалних претњи.

Ако се не означи, претње могу да нашкоде вашој апликацији, њеној инфраструктури, времену рада, системским библиотекама, оперативном систему и кернелу, између осталих функција.

Узимајући у обзир да су контејнери доступни у транзијентима (тренутно) и да су такође намењени за динамичку примену и скалирање, постоји потреба за аутоматизованом безбедношћу и сваком стадијумом животног циклуса развоја софтвера (СДЛЦ).

Такође прочитајте: Увод у Кубернетес Копс за почетнике

Који су изазови у безбедности контејнера?

Иако контејнери имају много награда (као што је убрзање испоруке софтвера) испод себе, они нису имуни на изазове, углавном зато што су им потребне мере безбедности (недостају им самобезбедносне могућности).

То је зато што контејнери приступају хардверу преко хостованог оперативног система (ОС). То значи да један контејнер може имати неколико основних слика контејнера што представља шири опсег за нападне површине, што представља неке изазове.

Прва је неисправна конфигурација контејнера, где програмери заборављају да прилагоде и користе подразумеване конфигурације контејнера које имају неке замке као што су неки изложени, несигурни портови који можда нису идеални за вашу апликацију, процурели акредитиви као што су лозинке и токени за аутентификацију и претерано издавање дозволе за времена извођења контејнера (када се покреће као роот). Када се не заобиђу, ове подразумеване конфигурације пружају путеве за нападе.

Следеће је рањивост инфраструктуре контејнера. Овде, пакети уграђени у контејнер, као што су код апликације, библиотеке и конфигурације, или они на оперативном систему домаћина, уводе рањивости. Подложност се може увести у било којој фази животног циклуса апликације, на пример, када су спољне зависности уграђене у слику контејнера, библиотеке отвореног кода се инсталирају као део апликације, слике базе контејнера долазе из регистара контејнера и хостова трећих страна. које је могуће искористити кроз мреже и крајње тачке.

  Улепшајте свој сан са ових 8 апликација за спавање

Видљивост радних оптерећења контејнера је један од највећих изазова за контејнере. Ово је због веома динамичне природе контејнера због којих алати за праћење не могу да лоцирају који контејнери раде и прегледају њихово мрежно понашање. Побољшана видљивост спречава кршења и побољшава време одговора на инциденцију ако се до њих догоди.

Поред тога, контејнер је подложан ако је било која фаза ЦИ/ЦД цевовода несигурна, било на коду апликације или инфраструктури радног оптерећења контејнера. Иако је на програмерима да се позабаве безбедношћу на крају животног циклуса апликације, администрирање у сваком кораку развоја штити ваше апликације од овог застоја.

Који алати могу да реше изазове у безбедности контејнера?

Можете осигурати да су ваша примењена решења за предузећа безбедна тако што ћете применити безбедност и интегритет контејнера помоћу безбедносних алата. Ови алати скенирају у потрази за рањивостима и стално их надзиру ради напада, грешака или било каквих проблема.

Било да тражите алати за безбедност контејнера отвореног кода или комерцијализовани тип, сви ће служити истој сврси. Сви они раде тако што ревидирају вашу инфраструктуру контејнера и раде против уобичајених рањивости и изложености (ЦВЕ).

Ево неколико алата које можете испробати: Пингсафе Едиторс Цхоице, Датадог Цлоуд СИЕМ, Анцхоре, Сопхос Цлоуд-Нативе Сецурити, Битдефендер ГравитиЗоне, Сисдиг сецуре, Акуа Сецурити и РедХат Адванцед Цлустер Сецурити за Кубернетес.

Такође прочитајте: 11 скенера безбедности контејнера за проналажење рањивости

Најбоље праксе за безбедност контејнера

Упркос горе наведеним изазовима у безбедности контејнера, овде је преглед најбољих конвенција које можете применити да бисте оптимизовали безбедност контејнера у свим фазама животног циклуса апликације.

Обезбеђивање ваших слика

За креирање контејнера користите слике контејнера. Најмања погрешна конфигурација или злонамерне радње могу да изазову рањивости у контејнерима у производњи. Овоме можете супротставити:

  • Коришћење поузданих слика – Када не креирате своје слике од нуле, увек бисте се одлучили за рад са сликама из поузданих извора. Јавна спремишта као што је Доцкер Хуб имају слике, укључујући оне са малвером и погрешном конфигурацијом.
  • Укључујући само неопходне компоненте – Ако постоје компоненте које вашој апликацији нису потребне, било би најбоље да их уклоните. На пример, УНИКС систем природно представља бинарне датотеке „авк“ и „сед“.
  • Укључивање ваше апликације у слику контејнера – Слика контејнера спаја подскуп оперативног система (ОС) и покренуту апликацију. За сваки алат и библиотеку увучену у контејнер, то је потенцијална претња. Било би најбоље да укључите апликацију у слику контејнера да бисте ово решили. Ово се ради преко статички компајлиране бинарне датотеке са свим потребним зависностима.

Аутоматизација скенирања рањивости и управљања

Редовно скенирање рањивости и управљање вашим контејнером и хостовима помажу у откривању рањивости у било којој фази животног циклуса апликације.

У овом случају, можете покренути скенирање кода да бисте открили грешке и статичко тестирање безбедности апликација (САСТ) да бисте пронашли рањивости у коду апликације. Анализа састава софтвера (СЦА) може да обезбеди увид у компоненте софтвера отвореног кода генеришући софтверски списак материјала који се може упоредити са документованим рањивостима отвореног кода.

  Глобални обрачун плата и запошљавање поједностављени уз Деел

Поред тога, скенирање слике анализира садржај и процес стварања слике контејнера на осетљивост. Са алатима као што су Цлаир, можете скенирати у потрази за познатим рањивостима. Алтернативно, користите динамичко тестирање безбедности апликација (ДАСТ), које указује на безбедносне ризике засноване на понашању контејнера. ДАСТ алати такође могу да изврше скенирање хоста, где прегледате компоненте хоста контејнера (језгро хоста и ОС) на погрешну конфигурацију.

Док се горе наведене мере усвајају у текућем процесу животног циклуса контејнера, можете прихватити филозофију „померања улево“. То значи имплементацију безбедности одмах од почетка вашег животног циклуса развоја. Добар алат ако одаберете овај приступ је Триви.

Обезбеђивање регистара контејнера

Контејнерски регистри су ефикасан централизован начин за складиштење и дистрибуцију слика. Организације ће често имати хиљаде слика ускладиштених у јавним или приватним регистрима. Постоји неколико мера које осигуравају да сви чланови тима и сарадници користе слике без рањивости.

Прво, имплементација контроле приступа корисника (за приватне регистре) утврђује ко може да објављује и приступа сликама. Иако је ово основна безбедносна мера, она спречава неовлашћене особе да објављују, мењају или бришу ваше слике.

Следећа мера је потписивање ваших слика које везује сваку слику са особом која ју је потписала, што отежава замену слике компромитованом. Можете користити Доцкер Цонтент Труст технике за додавање дигиталних потписа подацима који се шаљу и примају из регистара. Коначно, запамтите да скенирање ваших слика (континуирано) помаже у откривању критичних рањивости.

Мониторинг Цонтаинерс

Можете да оптимизујете видљивост радних оптерећења контејнера помоћу алата за посматрање. Алати би требало да буду у стању да надгледају и тестирају рањивости у свим компонентама и омогућавају евидентирање у реалном времену за окружења у контејнерима.

Алати за посматрање откривају претње тако што ревидирају метрике и евиденције из свих компоненти стека контејнера и анализирају их на абнормалности. Овим приступом можете одмах да исправите погрешне конфигурације када се идентификују.

Да бисте прикупили метрику коришћења ресурса, користите алатке као што су цАдвисор или кубе-стате-метрицс. За праћење активности контејнера и перформанси ваших кластера, користите алате као што су Графана или Прометхеус.

Ако желите да анализирате мрежни саобраћај између контејнера, користите Виресхарк или тцпдумп. Ако користите управљану Кубернетес услугу као што је (АКС), користите Азуре Монитор за праћење ресурса и безбедносних претњи.

Поред тога, Азуре Лог Аналитицс може да прикупља и анализира ваше АКС ресурсе. Ако одаберете Амазон ЕКС, Амазон ЦлоудТраил је добар за евидентирање и гледање; користите Амазон Цлоуд Ватцх.

Имплементација мрежне безбедности

Мере контроле безбедности мреже могу помоћи у заштити од неовлашћеног приступа контејнеру. Критеријум који се овде користи је сегментација мреже која изолује контејнере, ограничавајући их на приступ само неопходним сервисима.

Ако покрећете своје контејнерске апликације на Кубернетес-у, можете користити К8с мрежне смернице да бисте конфигурисали долазни и одлазни под саобраћај у кластерима. Ово, заузврат, ограничава саобраћај на одређене подове на основу ознака.

Сигурност транспортног слоја (ТЛС) се може повећати за комуникацију под. Можете се одлучити за ТЛС или технике слоја сигурних сокета (ССЛ) за безбедну комуникацију између АПИ сервера и других компоненти. Балансери оптерећења су добро решење ако такође желите да ограничите улазак саобраћаја у своје кластере.

  Како договорити плаћање са Цок-ом

Ако ваши кластери имају микросервисе, можете да обезбедите безбедан саобраћај преко сервисних мрежа као што су Месхери или Линкерд. На крају, осигурајте своју мрежу ако користите клауд продер за хостовање својих кластера.

Ако користите Азуре Кубернетес услугу (АКС), користите групе за безбедност мреже (НСГ) за управљање саобраћајем. Ако користите Амазон Еластиц Кубернетес Сервице (ЕКС), најбоље би вам одговарале безбедносне групе Амазон виртуелног приватног облака (ВПЦ).

Смањење површинских напада

Минимизирање површине напада има две предности; повећана брзина услуге и смањење потенцијала за нарушавање безбедности.

Користећи вишестепену израду, можете креирати лагане слике са малим површинским нападом и побољшаним временом покретања и перформансама. Постоји неколико решења за ово. Ако користите Линук, можете користити Алпине Линук, БусиБок или Тини Цоре Линук.

За Убунту постоји Убунту Минимал. Такође можете да користите Сцратцх, специјалну Доцкер слику – у суштини отворени контејнер, за прављење минималистичких слика од самог почетка.

Ограничавање привилегија контејнера

Принцип који се овде примењује подразумева давање минималне дозволе за обављање датог задатка. Када се контејнери покрећу као роот, они дају кориснику различите оперативне привилегије као што је инсталирање пакета или моћ операције читања и писања на вашем оперативном систему.

Ризик је да нападачи могу да искористе ескалацију моћи на време извршавања контејнера ако су компромитовани. У том случају постоје два одржива решења. Можете покренути контејнере у режиму без корена или ограничити способности ЛИНУКС кернела само на оне потребне за радно оптерећење контејнера.

Безбедно управљање тајнама

Ваши конфигурациони фајлови контејнера и доцкер-а не би требало да садрже тајне. Тајне укључују сертификате, лозинке, кључеве интерфејса апликацијског програма (АПИ) и токене. И иако је ово најбоља пракса, често ћете видети ове тајне чврсто кодиране у процесу изградње или сликама изворног кода.

У таквим случајевима, осетљиви подаци доспевају у контејнере и кеширају се у средњим слојевима контејнера чак и када су контејнери уклоњени. За такве случајеве, најбољи приступ је да се примени решење за управљање тајнама као што је АВС Сецретс Манагер и Трезор за чување и управљање тајним акредитивима.

Оснаживање вашег тима

Као последња од безбедносних мера, едукација вашег тима о најбољим безбедносним праксама је кључна. То значи да сви играчи вашег тима могу да идентификују безбедносне претње и реагују на њих.

Добар начин да се ово спроведе је додавање безбедности контејнера у процесе укључивања вашег тима. Нудећи практичну обуку, континуирано учење и редовне безбедносне процене издвајају ваш ДевОпс тим тако што га опремају ажурираним безбедносним трендовима.

Последње мисли

Сигурност контејнера је кључни континуирани процес животног циклуса развоја софтвера. Најбољи приступ овом упиту је укључивање безбедносног права од кода апликације до времена извршавања контејнера, оперативног система хоста и основне мрежне инфраструктуре.

Ово можете да остварите тако што ћете пратити стратешки план који укључује проверу контејнера и коришћење само оних из поузданих извора. Предузмите очвршћавање контејнера како бисте били сигурни да у себи имају само неопходне услуге. Уградите методе евидентирања које се лако примењују помоћу алата за праћење. Сегментирајте своју мрежу тако да контејнери буду одвојени од укупне инфраструктуре.

Увек потписујте своје слике да бисте потврдили унос и излаз података кроз своје услуге. Поред тога, требало би да имате редовна скенирања и тестове пенетрације да бисте проверили да ли постоје рањивости и одмах предузели корективне мере. И како се технолошки пејзаж развија, увек будите у току са најновијим безбедносним праксама.

Затим погледајте како да аутоматизујете безбедност.