Најлакши начин да пронађете рањивости у Доцкер сликама помоћу Сник-а

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

Сник прво нуди платформу у облаку, али нуди различите производе.

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

Сник Инфраструцтуре ас Цоде, с друге стране, анализира рањивости и поправља их у ЈСОН и ИАМЛ Кубернетес конфигурационим датотекама. Овде, механизам правила вам омогућава да конфигуришете осетљивост детекција у Гит репозиторијумима према параметрима које су одредили администратори.

Сник Цонтаинер вам омогућава да тестирате доцкер слике и повезане регистре у време њиховог креирања и после. Програм се може интегрисати у ЦЛИ, СЦМ, ЦИ алате, регистре контејнера и Кубернетес.

Данас ћемо видети како можемо да користимо Сник Цонтаинер, који долази уграђен у Доцкер за откривање рањивости.

Пример доцкер датотеке

Прва ствар која вам је потребна да бисте користили Сник за откривање рањивости је доцкер слика. У овом примеру користићемо следећу доцкер слику:

FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
EXPOSE 8000 CMD
[“python”, “app.py”]

Прва ствар коју морамо да урадимо је да локално генеришемо слику помоћу следеће команде:

docker build -t 0xyz0/python-app.

Сада имамо слику за анализу.

  Шта је ЕВ федерални порески кредит и како функционише?

Скенирајте слику са Доцкер клијента

Интеграција услуге Сник са Доцкер-ом чини овај процес невероватно једноставним. Да бисте покренули скенирање, само морате да извршите следеће:

docker scan 0***0/python-app

Ово ће почети са анализом где ће дати мање или више обимне резултате, у зависности од рањивости које пронађе, и са коначним резимеом:

Доцкер скенирање показује све рањивости слике

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

Такође можете проверити детаље о рањивости са Сник база података рањивости.

У мом случају, нуди ми неколико алтернатива, тако да ћу модификовати свој Доцкерфиле са првом опцијом:

FROM python:3.7.11-slim

ADD . /code

WORKDIR /code

RUN pip install -r requirements.txt

EXPOSE 8000

CMD ["python", "app.py"]

Ако поново направим слику и скенирам је:

docker build -t 0***0/python-app . && docker scan 0***0/python-app

Видећете да излаз сада показује мање рањивости, ау овом случају вам говори да тренутно користите безбеднију основну слику:

Доцкер скенирање осигурава да користите најбезбеднију основну слику

Такође можете добити детаљнији извештај ако у команду додате доцкер датотеку која генерише слику:

docker scan -f Dockerfile 0***0/python-app

Па чак и искључите основну слику из анализе, само у случају да желите да се фокусирате на оно што сте погрешили:

docker scan -f Dockerfile --exclude-base 0***0/python-app

Ова услуга такође може да се интегрише са Доцкер Хуб репозиторијумима:

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

  Шта гледати на Куибију: 10 најбољих емисија

Коришћење Сник-а са Гитхуб акцијама

Прва ствар коју треба да урадите је да направите спремиште и унутар њега направите фасциклу.

.github / worflows /

Следеће, коришћење Сник контејнера у Гитхуб-у је креирање нове слике или преузимање те слике коју смо креирали у Доцкер Хуб-у. Да бисте користили Сник, морате да креирате нову тајну под називом СНИК_ТОКЕН, а да бисте добили токен, морате да направите налог на Сник-у. Из Општих подешавања, где пише АПИ токен, можете га брзо генерисати.

Са токеном можете креирати тајну на Гитхуб-у и користити је у акцији. Сада морате да му пренесете име спремишта које је креирано у Доцкер Хуб-у. Затим морате проследити поруку коју мора да пошаље. Можете приступити излазима корака које ћете користити као променљиву у поруци.

with:
args: 'A new commit has been pushed. Please verify github action:
| worflow $ {{fromJson (steps.repo.outputs.result) .html_url}} / actions
| Exec: $ {{steps.prep.outputs.created}}
| Version: $ {{steps.prep.outputs.version}} '

Како покренути цео ток посла? Једноставно притиском на Мастер. Гитхуб Ацтион ће открити датотеку унутар .гитхуб / воркфловс /.

Завршне речи 👈

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