
Tere, Habr!
Kaasaegses reaalsuses, arvestades konteinerimise kasvavat rolli arendusprotsessides, ei tohi alahinnata kĂŒsimust, kuidas tagada erinevate etappide ja konteineritega seotud elementide turvalisust. KĂ€sitsi kontrollide teostamine on aeganĂ”udev tegevus, seetĂ”ttu oleks hea alustada vĂ€hemalt esialgsete sammude astumist selle protsessi automatiseerimiseks.
Selles artiklis jagan valmis skripte mitmete Docker'i turvaarendustooteside juurutamiseks ning juhiseid selle protsessi demonstreerimiseks vÀikese demo-standi loomisel. Need materjalid on kasutatavad katsetamiseks, kuidas korraldada turvatestide protsessi Docker'i piltide ja Dockerfile'i juhiste jaoks. On selge, et arenduse ja juurutamise infrastruktuur on kÔigil erinev, seega toon allpool vÀlja mitmeid vÔimalikke variante.
Turvaproovide tööriistad
On olemas suur hulk erinevaid abirakendusi ja skripte, mis teostavad kontrolli erinevate aspektide ĂŒle Docker'i infrastruktuuris. Osad neist on juba eelnevas artiklis kirjeldatud (), ja kĂ€esolevas materjalis tahaksin peatuda kolmel neist, mis katavad suure osa Docker-piltide turvanĂ”uetest, mis arenduse kĂ€igus luuakse. Lisaks nĂ€itan ka nĂ€idet, kuidas neid kolme tööriista ĂŒhendada ĂŒhte pipelineâi turvakontrollide teostamiseks.
Hadolint
Suhteliselt lihtne konsoolitööriist, mis aitab esialgsel hindamisel hinnata Dockerfileâi kĂ€skude korrektsust ja turvalisust (nĂ€iteks lubatud piltide registrite kasutamine vĂ”i sudo kasutamine).

Dockle
Konsoliline tööriist, mis töötab pildiga (vĂ”i salvestatud tarnarkiviga pildist), kontrollides konkreetse pildi korrektsust ja turvalisust, analĂŒĂŒsides selle kihte ja konfiguratsiooni â millised kasutajad on loodud, milliseid kĂ€ske on kasutatud, millised mahtudeĂŒhendused on olemas, tĂŒhi parool jne. Praegu on kontrollide arv mitte vĂ€ga suur ja pĂ”hineb mitmetel omal tehtud kontrollidel ja soovitustel. Dockerile.

Trivy
See rakendust on suunatud kahe tĂŒĂŒbi haavatavuste leidmisele â operatsioonisĂŒsteemi (toetatakse Alpine, RedHat (EL), CentOS, Debian GNU, Ubuntu) kogumiprobleemide ja sĂ”ltuvuste probleemide (Gemfile.lock, Pipfile.lock, composer.lock, package-lock.json, yarn.lock, Cargo.lock) tuvastamisele. Trivy oskab skaneerida nii repositooriumis olevat pilti kui ka kohalikku pilti ning teostada skaneerimist vastavalt edastatud .tar failile Docker-pildiga.

Tööriistade rakendamise variandid
Kuna soovite kirjeldatud rakendusi isoleeritud tingimustes proovida, toon ma vÀlja juhised, kuidas kÔiki tööriistu installida mÔningate lihtsustatud protsesside raames.
Peamine idee on demonstreerida, kuidas saab automatiseerida Dockerfile ja arenguprotsessi kÀigus loodud Docker-piltide sisu kontrollimist.
Kontroll koosneb jÀrgmistest sammudest:
- Dockerfile'i kÀskude kehtivuse ja turvalisuse kontrollimine - utiliidiga linters Hadolint
- LÔpupiltide ja vahepealsete piltide kehtivuse ja turvalisuse kontrollimine - utiliidiga Dockle
- Avalikult tuntud haavatavuste (CVE) olemasolu kontrollimine baaspildis ja mitmes sÔltuvuses - utiliidiga Trivy
Edasiartiklis toon ma vÀlja kolm varianti nende sammude rakendamiseks:
Esimene â konfiguratsiooni CI/CD pipelines kaudu GitLabis (testkeskkonna seadistamise protsessi kirjeldus).
Teine â shell-skripti abil.
Kolmas â Docker-image'i loomisega Docker-image'ide skaneerimiseks.
Saate valida variandi, mis teile kÔige paremini sobib, viia selle oma infrastruktuurile ja kohandada vastavalt oma vajadustele.
KÔik vajalikud failid ja lisajuhised on samuti repo-s:
Integratsioon GitLab CI/CD-sse
Esimeses variandis vaatleme, kuidas saab turvamist kontrollida GitLabi repode sĂŒsteemi nĂ€itel. Siin lĂ€heme samm-sammult ja selgitame, kuidas nullist testkeskkonda GitLabiga luua, koostada skaneerimisprotsessi ja kĂ€ivitada utiliite test Dockerfile'i ja juhusliku pildi â rakenduse JuiceShop jaoks kontrollimiseks.
GitLabi paigaldamine
1. Paigaldame Docker:
sudo apt-get update && sudo apt-get install docker.io2. Lisame praeguse kasutaja docker-gruppi, et saaks dokkeriga töötada ilma sudo-ta:
sudo addgroup docker3. Leiame oma IP:
ip addr4. Paigaldame ja kÀivitame GitLabi konteineris, asendades hostname'is IP-aadress oma omaga:
docker run --detach
--hostname 192.168.1.112
--publish 443:443 --publish 80:80
--name gitlab
--restart always
--volume /srv/gitlab/config:/etc/gitlab
--volume /srv/gitlab/logs:/var/log/gitlab
--volume /srv/gitlab/data:/var/opt/gitlab
gitlab/gitlab-ce:latestOotame, kuni GitLab tÀidab kÔik vajalikud paigaldusprotseduurid (protsessi saab jÀlgida logifaili vÀljundi kaudu: docker logs -f gitlab).
5. Ava oma brauseris oma kohalik IP ja nÀed lehte, mis pakub muuta root kasutaja parooli:

Sea uus parool ja logi sisse GitLabi.
6. Loo uus projekt, nÀiteks cicd-test ja initsialiseerimine algfailiga. README.md:

7. NĂŒĂŒd peame paigaldama GitLab Runner'i: agendi, mis kĂ€ivitab kĂ”ik vajalikud toimingud soovi korral.
Laadi alla viimase versiooni (antud juhul â Linux 64-bit jaoks):
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd648. Muuda see tÀidetavaks:
sudo chmod +x /usr/local/bin/gitlab-runner9. Lisa operatsioonisĂŒsteemi kasutaja Runner'ile ja kĂ€ivita teenus:
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner startPeaks vÀlja nÀgema umbes nii:
local@osboxes:~$ sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
Runtime platform arch=amd64 os=linux pid=8438 revision=0e5417a3 version=12.0.1
local@osboxes:~$ sudo gitlab-runner start
Runtime platform arch=amd64 os=linux pid=8518 revision=0e5417a3 version=12.0.1 10. NĂŒĂŒd registreerime Runneri, et see saaks meie GitLabi instantsiga suhelda.
Selleks avame lehe Settings-CI/CD (http://OUR_IP_ADDRESS/root/cicd-test/-/settings/ci_cd) ja Runners vahekaardilt leiame URL-i ja registreerimisvÔti:

11. Registreerime Runneri, sisestades URL-i ja registreerimisvÔti:
sudo gitlab-runner register
--non-interactive
--url "http:///"
--registration-token ""
--executor "docker"
--docker-privileged
--docker-image alpine:latest
--description "docker-runner"
--tag-list "docker,privileged"
--run-untagged="true"
--locked="false"
--access-level="not_protected"LĂ”puks saame toimiva GitLabi, kuhu tuleb lisada juhised meie utiliitide kĂ€ivitamiseks. Antud demo puhul ei ole meil rakenduse ehitamise ja konteinerimise samme, kuid tegelikus keskkonnas eelnevad need skaneerimise sammudele ja loovad analĂŒĂŒsi jaoks pildid ja Dockerfile.
Pipeline'i konfiguratsioon
1. Lisame repository'sse failid mydockerfile.df (see on test Dockerfile, mida me kontrollime) ja GitLabi CI/CD protsessi konfiguratsioonifaili .gitlab-cicd.yml, mis postitab skanneritele juhiseid (pange tÀhele faili nime punkti).
YAML-konfiguratsiooni fail sisaldab juhiseid kolme tööriista (Hadolint, Dockle ja Trivy) kĂ€ivitamiseks, mis analĂŒĂŒsivad valitud Dockerfile'i ja pilti, mille mÀÀrab muutuja DOCKERFILE. KĂ”ik vajalikud failid on saadaval repo-st:
Tsiteeritud mydockerfile.df (see on abstraktne fail, mis sisaldab juhiseid ainult utiliidi toimimise demonstreerimiseks). Otsene link failile:
mydockerfile.df sisu
FROM amd64/node:10.16.0-alpine@sha256:f59303fb3248e5d992586c76cc83e1d3700f641cbcd7c0067bc7ad5bb2e5b489 AS tsbuild
COPY package.json .
COPY yarn.lock .
RUN yarn install
COPY lib lib
COPY tsconfig.json tsconfig.json
COPY tsconfig.app.json tsconfig.app.json
RUN yarn build
FROM amd64/ubuntu:18.04@sha256:eb70667a801686f914408558660da753cde27192cd036148e58258819b927395
LABEL maintainer="Rhys Arkins "
LABEL name="renovate"
...
COPY php.ini /usr/local/etc/php/php.ini
RUN cp -a /tmp/piik/* /var/www/html/
RUN rm -rf /tmp/piwik
RUN chown -R www-data /var/www/html
ADD piwik-cli-setup /piwik-cli-setup
ADD reset.php /var/www/html/
## ENTRYPOINT ##
ADD entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
USER rootYAML-konfiguratsioon nÀeb vÀlja selline (faili saab otse siit): ):
.gitlab-ci.yml sisu
muutujad:
DOCKER_HOST: "tcp://docker:2375/"
DOCKERFILE: "mydockerfile.df" # Dockerfile nimi, mida analĂŒĂŒsida
DOCKERIMAGE: "bkimminich/juice-shop" # Dockeri pildi nimi, mida analĂŒĂŒsida
# DOCKERIMAGE: "knqyf263/cve-2018-11235" # test Docker pilt, millel on mitu KRIITILIST CVE
SHOWSTOPPER_PRIORITY: "CRITICAL" # milline kriitilisuse tase viib Trivy töö nurjumiseni
TRIVYCACHE: "$CI_PROJECT_DIR/.cache" # koht, kus salvestada Trivy haavatavuste andmebaas kiireks uuesti kasutamiseks
ARTIFACT_FOLDER: "$CI_PROJECT_DIR"
teenused:
- docker:dind # et ehitada Dockeri pilte Runneris
staged:
- skaneerimine
- aruanne
- avaldamine
HadoLint:
# Aluslintimine Dockerfile'i juhiseid
etapp: skaneerimine
pilt: docker:git
pÀrast_skripti:
- cat $ARTIFACT_FOLDER/hadolint_results.json
skript:
- eksport VERSION=$(wget -q -O - https://api.github.com/repos/hadolint/hadolint/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/1/')
- wget https://github.com/hadolint/hadolint/releases/download/v${VERSION}/hadolint-Linux-x86_64 && chmod +x hadolint-Linux-x86_64
# NB: hadolint vÀljub alati 0 vÀljumiskoodiga
- ./hadolint-Linux-x86_64 -f json $DOCKERFILE > $ARTIFACT_FOLDER/hadolint_results.json || exit 0
artefaktid:
kui: alati # tagasta artefaktid isegi pÀrast töö tÔrget
teed:
- $ARTIFACT_FOLDER/hadolint_results.json
Dockle:
# Parimate praktikate analĂŒĂŒsimine Dockeri pildi kohta (kasutajaĂ”igused, juhised, mida jĂ€rgiti pilti luues jne)
etapp: skaneerimine
pilt: docker:git
pÀrast_skripti:
- cat $ARTIFACT_FOLDER/dockle_results.json
skript:
- eksport VERSION=$(wget -q -O - https://api.github.com/repos/goodwithtech/dockle/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/1/')
- wget https://github.com/goodwithtech/dockle/releases/download/v${VERSION}/dockle_${VERSION}_Linux-64bit.tar.gz && tar zxf dockle_${VERSION}_Linux-64bit.tar.gz
- ./dockle --exit-code 1 -f json --output $ARTIFACT_FOLDER/dockle_results.json $DOCKERIMAGE
artefaktid:
kui: alati # tagasta artefaktid isegi pÀrast töö tÔrget
teed:
- $ARTIFACT_FOLDER/dockle_results.json
Trivy:
# Dockeri pildi ja pakettide sĂ”ltuvuste analĂŒĂŒsimine mitmete CVE andmebaaside vastu
etapp: skaneerimine
pilt: docker:git
skript:
# uusima Trivy saamine
- apk add rpm
- eksport VERSION=$(wget -q -O - https://api.github.com/repos/knqyf263/trivy/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/1/')
- wget https://github.com/knqyf263/trivy/releases/download/v${VERSION}/trivy_${VERSION}_Linux-64bit.tar.gz && tar zxf trivy_${VERSION}_Linux-64bit.tar.gz
# kÔigi haavatavuste kuvamine ehitamist nurjumata
- ./trivy -d --cache-dir $TRIVYCACHE -f json -o $ARTIFACT_FOLDER/trivy_results.json --exit-code 0 $DOCKERIMAGE
# kirjutage haavatavuste info stdouti loetaval kujul (puhas json lugemine ei ole lÔbus, eks?). Selle vÔite eemaldada, kui te seda ei vaja.
- ./trivy -d --cache-dir $TRIVYCACHE --exit-code 0 $DOCKERIMAGE
# ehituse nurjumine, kui leitud SHOWSTOPPER prioriteet
- ./trivy -d --cache-dir $TRIVYCACHE --exit-code 1 --severity $SHOWSTOPPER_PRIORITY --quiet $DOCKERIMAGE
artefaktid:
kui: alati # tagasta artefaktid isegi pÀrast töö tÔrget
teed:
- $ARTIFACT_FOLDER/trivy_results.json
vahetamine:
teed:
- .cache
Aruanne:
# tööriistade vĂ€ljundite ĂŒhendamine ĂŒhte HTML-sse
etapp: aruanne
kui: alati
pilt: python:3.5
skript:
- mkdir json
- cp $ARTIFACT_FOLDER/*.json ./json/
- pip install json2html
- wget https://raw.githubusercontent.com/shad0wrunner/docker_cicd/master/convert_json_results.py
- python ./convert_json_results.py
artefaktid:
teed:
- results.htmlJuhul, kui on vajalik, on samuti vÔimalik skaneerida ja salvestada pilte .tar-arhiivina (kuid YAML-failis tuleb muuta sisendparameetreid utiliitide jaoks)
NB: Trivy nÔuab oma kÀivitamiseks paigaldatud rpm ja git. Vastasel juhul annab see skaneerimisel RedHat-pÔhiste piltide ja haavatavuste aluse vÀrskenduste saamisel vigade teateid.
2. PĂ€rast failide lisamist reposse, vastavalt meie konfigureerimisfaili juhistele, alustab GitLab automaatselt koostamise ja skaneerimise protsessi. CI/CD â Pipelines vahekaardil on nĂ€ha juhiste tĂ€itmise edenemist.
Kokku on meil neli ĂŒlesannet. Kolm neist tegelevad otse skaneerimisega ja viimane (Raport) kogub lihtsa aruande skaneerimistulemustest koosnevate erinevate failide pĂ”hjal.

Vaikimisi lÔpetab Trivy oma tÀitmise, kui pildis vÔi sÔltuvustes leiti CRITICAL haavatavusi. Samal ajal tagastab Hadolint siiski alati Success tÀitmisnumbri, kuna selle tÀitmise tulemusel on alati mÀrkmeid, mis toob kaasa koostamise peatamise.
SÔltuvalt konkreetsetest nÔuetest saab vÀljundkoodi konfigureerida nii, et need tööriistad peatavad ka koostamisprotsessi, kui nad tuvastavad teatud kriitilisuse probleemid. Meie puhul peatub koostamine ainult siis, kui Trivy tuvastab haavatavuse kriitilisuse, mille oleme mÀÀranud muutuja SHOWSTOPPER kaudu. .gitlab-ci.yml.

Iga tööriista töö tulemust saab vaadata iga skaneerimise ĂŒlesande logis, otse json-failides sektsioonis artifacts vĂ”i lihtsas HTML-aruandes (sellest rÀÀgin veidi hiljem):

3. Tööriistade aruannete esitlemiseks veidi arusaadavamal kujul kasutatakse vĂ€ikest Python'i skripti, et teisendada kolm json-faili ĂŒheks HTML-failiks vigade tabeliga.
Seda skripti kĂ€itatakse eraldi ĂŒlesandena nimega Report, ja selle lĂ”plikuks artefaktiks on HTML-fail aruandega. Skripti lĂ€htekood on samuti hoidlas ja seda saab kohandada vastavalt oma vajadustele, vĂ€rvidele jne.

Shell-skript
Teine variant sobib juhtudeks, kui on vajalik Docker-piltide kontrollimine mitte CI/CD sĂŒsteemi raamistikus vĂ”i on vaja kĂ”iki juhiseid vormingus, mida saab otse hostis tĂ€ita. See variant katab valmis shell-skripti, mida saab kĂ€ivitada puhtal virtuaalmasinal (vĂ”i isegi reaalses seadmes). Skript tĂ€idab samu juhiseid, mis on eelnevalt kirjeldatud gitlab-runneris.
Skripti nĂ”uetekohaseks tööks peab sĂŒsteemis olema installitud Docker ja praegune kasutaja peab olema docker grupis.
Selle skripti saab siit:
Faili alguses mÀÀratakse muutujaid, millist pilti tuleb skaneerida ja millise kriitilisusega defektid pÔhjustavad Trivy utiliidist vÀljumise kindlaksmÀÀratud veakoodiga.
Skripti tÀitmise kÀigus laaditakse kÔik utiliidid alla kausta docker_tools, nende töö tulemused salvestatakse kausta docker_tools/json, ja HTML-aruande fail asub failis results.html.
Skripti vÀljund nÀide
~/docker_cicd$ ./docker_sec_check.sh
[+] Keskkonnamuutujate seadistamine
[+] NÔutavate pakettide installimine
[+] Vajalikud kataloogid ette valmistamine
[+] NĂ€idis Dockerfile'i allalaadimine
2020-10-20 10:40:00 (45.3 MB/s) - âDockerfileâ salvestatud [8071/8071]
[+] Pildi allalaadimine skaneerimiseks
latest: Laadimine bkimminich/juice-shop
[+] Hadolinti kÀitamine
...
Dockerfile:205 DL3015 VÀltige lisapakette, mÀÀrates `--no-install-recommends`
Dockerfile:248 DL3002 Viimane KASUTAJA ei tohi olla root
...
[+] Dockle'i kÀitamine
...
WARN - DKL-DI-0006: VĂ€ltige latest sildid
* VĂ€ltige 'latest' silti
INFO - CIS-DI-0005: Aktiveerige Dockerile sisu usaldus
* eksportige DOCKER_CONTENT_TRUST=1 enne docker pull/build
...
[+] Trivy kÀitamine
juice-shop/frontend/package-lock.json
=====================================
Kokku: 3 (TUNNENEMATA: 0, MADAL: 1, MADAL: 0, KĂRGE: 2, KRIITILINE: 0)
+---------------------+------------------+----------+---------+-------------------------+
| RAAMAT | AVALDUB ID | TĂSIDUS | VERSIOON | TIITEL |
+---------------------+------------------+----------+---------+-------------------------+
| object-path | CVE-2020-15256 | KĂRGE | 0.11.4 | Prototiipi saastumise |
| | | | | object-path |
+---------------------+------------------+ +---------+-------------------------+
| tree-kill | CVE-2019-15599 | | 1.2.2 | Koodisisestamine |
+---------------------+------------------+----------+---------+-------------------------+
| webpack-subresource | CVE-2020-15262 | MADAL | 1.4.1 | Kaitsmata dĂŒnaamiliselt|
| | | | | laaditud fragmendid |
+---------------------+------------------+----------+---------+-------------------------+
juice-shop/package-lock.json
============================
Kokku: 20 (TUNNENEMATA: 0, MADAL: 1, MADAL: 6, KĂRGE: 8, KRIITILINE: 5)
...
juice-shop/package-lock.json
============================
Kokku: 5 (KRIITILINE: 5)
...
[+] JÀÀnuste eemaldamine
[+] VĂ€ljundi ilusaks seadmine
[+] JSON tulemuste konverteerimine
[+] Tulemuste HTML kirjutamine
[+] Puhas vÀljund ============================================================
[+] KÔik on tehtud. Leiate tulemuse HTML aruande failist results.htmlDocker-pilt koos kÔikide utiliididega
Kolmanda alternatiivina koostasin kaks lihtsat Dockerfile'i turvautiliitide koosseisu loomiseks. Ăks Dockerfile aitab luua komplekti pildi skannimiseks repolt, teine (Dockerfile_tar) â luua komplekti tar-faili skannimiseks koos pildiga.
1. VÔtame sobiva Docker faili ja skriptid repolt .
2. KĂ€ivitame selle koostamiseks:
docker build -t dscan:image -f docker_security.df .
3. PĂ€rast koostamise lĂ”ppu loome konteineri pildist. Samuti edastame keskkonnamuutuja DOCKERIMAGE huvitava pildi nimega ja monteerime Dockerfile'i, mida soovime analĂŒĂŒsida, oma masinast faili /Dockerfile (pane tĂ€hele, et vajalik on absoluutne tee sellele failile):
docker run --rm -v $(pwd)/results:/results -v $(pwd)/docker_security.df:/Dockerfile -e DOCKERIMAGE="bkimminich/juice-shop" dscan:image
[+] Keskkonnamuutujate seadmine
[+] Hadolinti kÀivitamine
/Dockerfile:3 DL3006 Always tag the version of an image explicitly
[+] Dockle'i kÀivitamine
WARN - DKL-DI-0006: VĂ€ltige 'latest' sildi kasutamist
* VĂ€ltige 'latest' silti
INFO - CIS-DI-0005: Lubage Dockerile sisu usaldus
* eksportige DOCKER_CONTENT_TRUST=1 enne docker pull/buildi
INFO - CIS-DI-0006: Lisage konteineripildile HEALTHCHECK juhis
* HEALTHCHECK lause ei leitud
INFO - DKL-LI-0003: Lisage ainult vajalikud failid
* mittevajaliku faili: juice-shop/node_modules/sqlite3/Dockerfile
* mittevajaliku faili: juice-shop/node_modules/sqlite3/tools/docker/architecture/linux-arm64/Dockerfile
* mittevajaliku faili: juice-shop/node_modules/sqlite3/tools/docker/architecture/linux-arm/Dockerfile
[+] Trivy kÀivitamine
...
juice-shop/package-lock.json
============================
Kokku: 20 (UNKNOWN: 0, LOW: 1, MEDIUM: 6, HIGH: 8, CRITICAL: 5)
...
[+] VĂ€ljundi ilusaks muutmine
[+] Peamise mooduli kÀivitamine ============================================================
[+] JSON tulemuste konverteerimine
[+] Tulemuste HTML kirjutamine
[+] Puhas vÀljumine ============================================================
[+] KÔik on valmis. Leidke tulemuste HTML aruanne failist results.htmlTulemused
Oleme kĂ€sitlenud vaid ĂŒhte pĂ”hikomplekti Docker artefaktide skaneerimise tööriistu, mis minu arvates katab tĂ”husalt suure osa pildihalduse turvanĂ”uetest. On veel palju nii tasulisi kui ka tasuta tööriistu, mis vĂ”ivad teha samu kontrolle, genereerida ilusaid aruandeid vĂ”i töötada puhtalt konsoolireĆŸiimis, katab konteinerihalduse sĂŒsteeme jne. Ălevaade nendest tööriistadest ja nende integreerimise viisidest ilmub vĂ”ib-olla hiljem.
Artiklis kirjeldatud tööriistade komplekti positiivne kĂŒlg on see, et kĂ”ik need on ehitatud avatud lĂ€htekoodiga, mistĂ”ttu saate nendega ja teiste sarnaste tööriistadega katsetada, et leida just need, mis sobivad teie nĂ”udmiste ja infrastruktuuri eripĂ€ra jaoks. Ilmselt tuleb kĂ”ik leitud haavatavused uurida, et hinnata nende rakendatavust konkreetsetes tingimustes, kuid see on teema tulevasteks suuremateks artikliteks.
Loodan, et see juhend, skriptid ja utiliidid aitavad teid ning saavad lÀhtepunktiks turvalisema infrastruktuuri loomisel konteineriseerimise valdkonnas.
Allikas: habr.com
