Si të instaloni dhe përdorni Skanerin e Sigurisë së Imazhit të Anchore Container?

Motori i ankorimit është një mjet me burim të hapur për skanimin dhe analizimin e imazheve të kontejnerëve për dobësitë e sigurisë dhe çështjet e politikave. Shtë në dispozicion si një imazh i kontejnerit Docker që mund të funksionojë brenda një platforme orkestrimi, ose si një instalim i pavarur.


Ky është një mjet i dobishëm i sigurisë që lejon zhvilluesit dhe ekipet QA të testojnë, identifikojnë dhe adresojnë cenueshmërinë në imazhet që ata përdorin për të krijuar aplikacione.

Në këtë artikull, ne do të shikojmë se si të instaloni dhe përdorni skanerin e prekshmërisë së imazhit Anchore. Në përgjithësi, ekzistojnë disa metoda zbatimi. Sidoqoftë, do të përqendrohem në dy në vijim,

  • Duke perdorur AnchoreCLI opsion i linjës komanduese
  • Bazuar në GUI Skaneri i imazheve të kontejnerëve me anchore Jenkins plugin.

Ne do t’ju tregojmë se si të instaloni, konfiguroni dhe filloni motorin, konfiguroni dhe përdorni mjetin e linjës komanduese AnchoreCLI, si dhe shtojcën Jenkins. Për secilën nga dy metodat, do të mësoni se si të shtoni imazhet për të skanuar, kryerjen e skanimit dhe shikimin e raporteve.

Në fund të artikullit, do të mësoni tre gjërat e mëposhtme.

  • Instalimi dhe konfigurimi i Motori i ankorimit
  • Instalimi, konfigurimi dhe përdorimi AnchoreCLI
  • Konfigurimi dhe përdorimi Plugin i skanuesit të imazheve të kontejnerëve të ankoruarJenkins

parakushtet

Më poshtë janë kërkesat për këtë tutorial;

  • Një makinë lokale ose virtuale me Ubuntu 18.04 dhe në vijim;
  • cungues
  • Docker-Shkruaj
  • Jenkins Instaluar dhe drejtuar
  • përdorues sudo

Hapi 1: – Vendosni drejtoritë e punës dhe shkarkoni skedarët e konfigurimit.

Krijoni një direktori pune për skedarët tuaj Anchore. Brenda këtij drejtoria, ju do të krijoni dy nëndrejtori, një për konfigurimin dhe një për bazën e të dhënave.

Krijoni një direktorinë shtëpiake për skedarët Anchore

mkdir spirancë

Shkoni te drejtoria e re dhe krijoni nënndarjet e konfigurimit dhe bazës së të dhënave.

spirancë cd

mkdir konfiguroj

mkdir db

Shkarkoni skedarët e konfigurimit

Sapo drejtoritë të jenë gati, ne do të shkarkojmë dy skedarë konfigurimi (docker-compose.yaml dhe config.yaml) nga projekti Github.

Për të shkarkuar docker-kompozoj.yaml

Shkoni në direktorinë e shtëpisë së ankorimit dhe përdorni komandën

curl https://raw.githubusercontent.com/anchore/anchore-engine/master/scriptts/docker-compose/docker-compose.yaml > prerës-compose.yaml

Pastaj shkarkoni konfigurimin.yaml në drejtorinë ~ / anchore / config

kaçurrela https://raw.githubusercontent.com/anchore/anchore-engine/master/scriptts/docker-compose/config.yaml -o ~ / spirancë / konfigurimin / konfigurimin.yaml

Skedari config.yaml është një skedar konfigurimi me cilësimet themelore që shërbimi i motorit të ankorimit kërkon të ekzekutojë. Ka disa parametra, duke përfshirë parazgjedhjen, nivelin e regjistrit, portin e dëgjimit, emrin e përdoruesit, fjalëkalimin dhe të tjerët që mund t’i përshtatni për të përmbushur kërkesat specifike.

Shtë një praktikë e mirë e sigurisë për të ndryshuar fjalëkalimin, dhe ju mund ta bëni këtë duke edituar skedarin config.yaml. Sidoqoftë, në këtë tutorial, ne do të përdorim cilësimet e paracaktuar.

Për të vazhduar me letrat kredenciale të paracaktuar, (emri i përdoruesit – administratori dhe fjalëkalimi – foobar), vazhdoni hapi 2.

Ndryshimi i kredencialeve të Motorit Anchore (opsionale)

Nga drejtoria e ankorave përdorni komandën

nano ~ / anchore / config / config.yaml

Gjeni emrin e përdoruesit (administratorin) dhe fjalëkalimin (foobar) dhe ndryshoni në vlerat tuaja të preferuara.

shtyp CTRL + X, atëherë Y për të kursyer dhe dalë.

Me drejtoritë e punës dhe skedarët e konfigurimit në vend, sistemi është gati për instalimin e Motorit Anchore.

Hapi 2: – Instaloni dhe filloni Motorin e ankorimit

Ju do të përdorni kompozimin Docker për të instaluar dhe filluar Motor Anchore dhe bazën e të dhënave.

Nga drejtoria e shtëpisë së ankorave, drejtohu.

docker-compose up -d

Kjo automatikisht do të tërheq imazhin e Anchore dhe pastaj do të krijojë motorin dhe bazën e të dhënave Anchore në shtëpi dhe përkatësisht ~ / anchore / bazën e të dhënave / drejtorive. Pas përfundimit, komanda do të fillojë motorin Anchore.

Pas instalimit dhe fillimit me sukses të motorit të ankorimit, tani mund të skanoni imazhet duke përdorur linjën e komandës së ankorimit AnchoreCLI. Sidoqoftë, së pari duhet të instaloni mjetin e linjës komanduese AnchoreCLI, siç tregohet më poshtë.

Instalimi, konfigurimi i AnchoreCLI

Në këtë hap, ju do të mësoni se si të instaloni dhe konfiguroni AnchoreCLI mjet i linjës së komandës.

Hapi 3: – Instaloni AnchoreCLI

Në këtë tutorial, së pari do të instalojmë mjetin python-pip, i cili më pas do ta përdorë për të instaluar AnchoreCLI nga burimi.

Për të instaluar pip Python. Për në drejtorinë e shtëpisë Anchore dhe drejtuar

azhurnim sudo të marrë
sudo apt-get install python-pip
instaloni sudo pip – azhurnoni setupools

Instaloni AnchoreCLI duke përdorur python-pip

tub instaloni anchorecli

Kjo komandë do të shkarkojë dhe instalojë skedarët për AnchoreCLI. Pas instalimit, ne tani duhet të burojmë skedarin tonë profil për të përdorur komandën

burim ~ / .profile

Për të verifikuar nëse instalimi është i suksesshëm dhe versioni i Anchorecli, përdorni komandën

ankor-kli – përmbysje

Për të kontrolluar statusin e sistemit spirancë-CLI, përdorni komandën

anchore-cli –url http: // localhost: 8228 / v1 –u admin – statusi i sistemit foobar

Ju lutemi vini re se ju duhet të kaloni URL-në e motorit të Anchore, emrin e përdoruesit dhe fjalëkalimin.

Përcaktoni parametrat e motorit të ankorimit

Si parazgjedhje, AnchoreCLI do të përpiqet të hyjë në Motorin Anchore pa vërtetim. Sidoqoftë, kjo nuk do të funksionojë, dhe ju duhet të siguroni letrat kredenciale të Anchore Engine me çdo komandë.

Kjo përfshin kalimin e emrit të përdoruesit, fjalëkalimin dhe parametrat e URL-së me çdo komandë Anchore CLI. Në vend që t’i siguroni këto çdo herë, alternativa është t’i përcaktoni ato si ndryshore mjedisore në formatin vijues.

Për të kaluar URL-në, ekzekutoni

ANCHORE_CLI_URL = http: // localhost: 8228 / v1

Kjo përcakton URL-në e Anchore Engine së bashku me portën 8228, të cilën e përdor.

Vendosni emrin e përdoruesit dhe fjalëkalimin duke përdorur vlerat e paracaktuar; përndryshe, zëvendësoni ato me vlerat e reja që vendosni Hapi 1.

ANCHORE_CLI_USER = admin

ANCHORE_CLI_PASS = foobar

Më sipër vendos parametrat vetëm për guaskën aktuale. Për të vendosur predhën aktuale dhe proceset e tjera që fillojnë prej saj, ne përdorim komandën e eksportit

eksportoni ANCHORE_CLI_URL

eksportoni ANCHORE_CLI_USER

eksportoni ANCHORE_CLI_PASS

Me parametrat e përcaktuar, rregullimi i AchoreCLI është i plotë, dhe ju jeni gati të skanoni imazhe.

Hapi 4: – Shtimi dhe analizimi i imazheve

Tani që kemi Anchore Engine që funksionon dhe konfigurohet CLI, ju do të mësoni se si të shtoni dhe analizoni imazhet për çështje të sigurisë. Në këtë tutorial, ne do të analizojmë dy imazhe. -openjdk: 8-jre-alpine me dobesi dhe debian: me e fundit pa .

Duke analizuar imazhe

Për të vazhduar, duhet së pari të shtojmë imazhet në motor. Për të shtuar imazhet

imazhi anchore-cli shtoni openjdk: 8-jre-alpine

Shtoni debian të qëndrueshëm të imazhit: më i fundit

imazhi i ankorave-cli shtoni docker.io/library/debian:latest

Shtoni më shumë imazhe

imazhi anchore-cli shtoni openjdk: 10-jdk

imazhi anchore-cli shtoni openjdk: 11-jdk

Pas shtimit të një imazhi në Motorin e Anchore, analiza fillon menjëherë. Nëse ka disa imazhe të ngarkuara, ato vendosen në një radhë dhe analizohen një nga një. Ju mund të kontrolloni progresin dhe të shihni listën e imazheve të ngarkuara së bashku me statusin e tyre të analizës.

Për të parë listën, drejtoni komandën

lista e figurave të ankorave-kli

prodhim

[Email mbrojtur]: ~ / lista e ankorave $ spirancë-cli
Statusi i Analizës së Digest-it me Image të plotë
docker.io/openjdk:10-jdk sha256: 923d074ef1f4f0dceef68d9bad8be19c918d9ca8180a26b037e00576f24c2cb4analyzed
docker.io/openjdk:11-jdk sha256: 9923c0853475007397ed5c91438c12262476d99372d4cd4d7d44d05e9af5c077analyzed
docker.io/openjdk:8-jre-alpine sha256: b2ad93b079b1495488cc01375de799c402d45086015a120c105ea00e1be0fd52analyzed

Në varësi të numrit të pamjeve, madhësisë dhe kohës së kaluar pas shtimit të tyre, do të analizoheni për ato të plota, duke analizuar për ato që janë në proces dhe nuk do të analizohen për imazhet në radhë..

Hapi 5: – Merrni dhe shikoni rezultatet e analizës

Pasi të përfundojë analiza, mund të kontrolloni rezultatet dhe të shihni rezultatet për skanimet e cenueshmërisë, kontrollet e politikave dhe çështjet e tjera që motori ka identifikuar.

Për të kontrolluar rezultatet për skanimin e prekshmërisë në imazhin openjdk: 8-jre-alpine të cenueshme

run

anchore-cli image vuln openjdk: 8-jre-alpine all

prodhim

[Email mbrojtur]: ~ / anchore $ spirancë-cli imazh vuln openjdk: 8-jre-alpine all
Rrefikueshmëria e IDPackage e Rëndësisë Rregullimi i CVE Refuzon URL-në e Vulnerability
CVE-2018-1000654 libtasn1-4.13-r0 High 4.14-r0 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000654
CVE-2019-12900 libbz2-1.0.6-r6 Lartë 1.0.6-r7 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12900
CVE-2019-14697 musl-1.1.20-r4 Lartë 1.1.20-r5 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14697
CVE-2019-14697 musl-utils-1.1.20-r4 High 1.1.20-r5 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14697
CVE-2019-8457 sqlite-libs-3.26.0-r3 High 3.28.0-r0 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-8457
CVE-2018-14498 libjpeg-turbo-1.5.3-r4 Medium 1.5.3-r5 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14498

Raporti tregon identifikuesin e CVE, paketën e ndjeshme, ashpërsinë dhe nëse ka një rregullim apo jo. Për imazhin tonë openjdk: 8-jere-alpine, analiza tregon se ajo ka pesë cenueshmëri të lartë dhe një numër të dobët të dobësive të mesme dhe të papërfillshme. (disa nuk tregohen më lart).

Për të parë rezultatet e dobësive për një debian të qëndrueshëm të imazhit: më i fundit

Drejtoni komandën

anchore-cli image vuln docker.io/library/debian:latest all

prodhim

[Email mbrojtur]: ~ / spirancë $ image anchore-cli vuln debian: të fundit të gjitha
Rendësia e IDPackage e Vulnerabilitetit Fuqia e URL-së për Refuzimin e CVE
CVE-2005-2541 tar-1.30 + dfsg-6 Asnjë Neglizibël https://securance-tracker.debian.org/tracker/CVE-2005-2541
CVE-2019-1010022libc-bin-2.28-10 Asnjë i Neglizhueshëm https://securance-tracker.debian.org/tracker/CVE-2019-1010022
CVE-2019-1010022libc6-2.28-10 Asnjë i pakonceptueshëm https://securance-tracker.debian.org/tracker/CVE-2019-1010022
CVE-2019-1010023libc-bin-2.28-10 Asnjë i Neglizhueshëm https://securance-tracker.debian.org/tracker/CVE-2019-1010023
CVE-2019-1010023libc6-2.28-10 Asnjë i pakonceptueshëm https://securance-tracker.debian.org/tracker/CVE-2019-1010023
CVE-2019-1010024libc-bin-2.28-10 Asnjë i Neglizhueshëm https://securance-tracker.debian.org/tracker/CVE-2019-1010024

Siç shihet nga raporti, debiani i figurës: më i fundit ka dobësi të papërfillshme dhe nuk ka rregullime.

Për të parë rezultatet e vlerësimit të politikave për imazhin e paqëndrueshëm të imazhit: 8-jre-alpine

drejtuar

ankor-cli vlerësojnë kontrollin Openjdk: 8-jre-alpine

Rezultati – Rezultatet tregojnë një dështim

[Email mbrojtur]: ~ / anchore $ anchore-cli vlerësoni kontrolloni Openjdk: 8-jre-alpine
Image Digest: sha256: b2ad93b079b1495488cc01375de799c402d45086015a120c105ea00e1be0fd52
Etiketa e plotë: docker.io/openjdk:8-jre-alpine
Statusi: dështoni
Evaliteti i fundit: 2019-09-20T12: 03: 32Z
ID e Politikës: 2c53a13c-1765-11e8-82ef-23527761d060

Imazhi openjdk: 8-jre-alpine shkel ID-në e specifikuar të politikës (ID e Politikës: 2c53a13c-1765-11e8-82ef-23527761d060) dhe për këtë arsye kthen një status Dështimi.

Tani që kemi parë se si përgjigjet Engine Anchore pasi zbuloi një shkelje të politikave, është koha të kontrollojmë nëse sillet me sjelljen tonë të qëndrueshme të imazhit: më e fundit.

Kontrolli i politikave për debian: imazhi i fundit i qëndrueshëm

anchore-cli vlerësojnë kontrollin docker.io/library/debian:latest –detail

[Email mbrojtur]: ~ / anchore $ anchore-cli vlerësojnë kontrollin docker.io/library/debian:latest –detail
Digest Image: sha256: d3351d5bb795302c8207de4db9e0b6eb23bcbfd9cae5a90b89ca01f49d0f792d
Etiketa e plotë: docker.io/library/debian:latest
ID e imazhit: c2c03a296d2329a4f3ab72a7bf38b78a8a80108204d326b0139d6af700e152d1
Statusi: kaloj
Evaliteti i fundit: 2019-09-20T12: 00: 06Z
ID e Politikës: 2c53a13c-1765-11e8-82ef-23527761d060
Veprimi Përfundimtar: paralajmëroni
Arsyeja e veprimit përfundimtar: vlerësimi i politikave
Statusi i shkëmbimit të detajeve të portës
dockerfileinstructionDregjistrimi i drejtpërdrejtë i doketit ‘HEALTHCHECK’ nuk u gjet, paralajmërim i kushteve të kontrollit ‘not_exists’

Rezultatet tregojnë një status Pass dhe një veprim përfundimtar të paralajmërimit për shkak të mospërputhjes së informacionit me një direktivë Dockerfile. Kjo nuk dështon por mund të kërkojë kontrollimin dhe adresimin e çështjes.

Konfigurimi dhe përdorimi i shtojcës së skanuesit të skanuesve të anchore Container në Jenkins

Hapi 6: – Shtoni dhe konfiguroni Shtojcën e Skanuesit të Skenave të Anchore Container në Jenkins

Në këtë hap, ne do të integrojmë Motorin Anchor me serverin Jenkins. Jenkins është një server me burim të hapur me bazë Java, për automatizimin e një game të gjerë të detyrave të përsëritura në ciklin e zhvillimit të softuerit..

Shtojca e ankorimit është në dispozicion në Jenkins por nuk është instaluar si parazgjedhje.

Hyni në Jenkins duke përdorur një shfletues në internet

http: // your_server_ip_or_domain: 8080

Vendosni emrin e përdoruesit dhe fjalëkalimin.

Shko tek Menuja e Jenkins

Gjeni dhe zgjidhni Menaxhoni Jenkins

Shko tek Menaxhoni shtojcat

Skedë e disponueshme, lëviz poshtë Ndërtoni Vegla dhe zgjidhni Skanues imazhi i kontejnerëve të ankorave

Klikoni në Instaloni pa rifilluar alternativë.

Pas instalimit të suksesshëm të Shtojcë Anchore Container Image Scanner, hapi tjetër është të konfiguroni letrat kredenciale.

Shkoni në Jenkins menunë dhe zgjidhni Menaxhoni Jenkins tab.

hapur Sistemi i konfigurimit.

Gjeni Konfigurimi i ankorimit.

zgjedh Mënyra e motorit

Hyni në Motori i ankorimit detaje (URL e motorit, emri i përdoruesit dhe fjalëkalimi, dhe porta 8228 – porta e paracaktuar për motorin).

URL – http: // your_server_IP: 8228 / v1

Vendosni emrin e përdoruesit = administratorin
Futni fjalëkalimin = foobar ose fjalëkalimin e ri nëse e keni ndryshuar brenda Hapi 3 (Sipër)

Kliko Save

Konfiguro plugin e ankorimit

Hapi 8: – Shtimi dhe skanimi i imazheve

Kliko Artikulli i ri në Panelin e Jenkins në menunë e sipërm të majtë

Kjo do të hapë një ekran me disa opsione.
Shkruani emrin e dëshiruar për projektin tuaj të provës në fushën Enter emrin e artikullit.

Në këtë projekt, ne do të përdorim ndërtimin e tubacionit.
Zgjidhni gazsjellës dhe klikoni Ne rregull.

Tani jeni gati për të skanuar imazhet. Në rastin tonë, ne do të përdorim imazhe tashmë në regjistrin docker që është i arritshëm nga Motori i ankorimit.

Për ta bërë këtë, ju do të shtoni skenarin e tubacionit që do të specifikojë imazhin për të skanuar.

Hapi 9: – Shtoni skriptin e tubacionit

Shkoni poshtë tek pjesa e tubacionit dhe shtoni skenarin për të specifikuar imazhin për të skanuar. Do të fillojmë me openjdk: 8-jre-alpine i cili përmban disa dobësi.

nyja {
def imageLine = ‘openjdk: 8-jre-alpine’`
shkruaj skedarin e skedarit: ‘anchore_images’, teksti: imageLine ‘
emri i ankorimit: ‘anchore_images’ ‘
}

Kliko Save

Hapi 10: – Drejtoni ndërtimin dhe rishikoni raportet e skanimit

Nga menyja Jenkins

Kliko Ndërtoni Tani

Kjo do të fillojë procesin e ndërtimit, i cili zgjat disa minuta në varësi të madhësisë së figurës. Pas përfundimit, një numër dhe një buton me ngjyrë do të shfaqen nën Historiku i Ndërtimit. Kjo do të ketë një ngjyrë të kuqe për Fail ose Blue për Pass. Klikimi i butonit do të shfaqë më shumë rezultate.

Hapi 11: – Rezultatet e rishikimit

Klikoni mbi Ndërto # për të parë më shumë detaje
Kjo hap një Prodhimi i tastierës dritare që tregon një dështim – Raporti i ankorimit (FAIL)

Raportet e hollësishme tregojnë nëse analiza ishte një Dështim ose një Pass dhe siguron disa raporte që tregojnë dobësitë, paralajmërimet dhe të tjerët bazuar në konfigurimin. Si parazgjedhje, shtojca është e konfiguruar të mos funksionojë (Stop) sa herë që ka cenueshmëri. Më poshtë janë ekranet për raportet e Politikës dhe Sigurisë.

Përmbledhje e vlerësimit të politikave të ankorimit

Më poshtë është një pamje e rezultateve të Sigurisë për imazhin e prekshëm.

Lista e zakonshme e cenimeve dhe ekspozimeve (CVE)

Nëse tani skanojmë një imazh të qëndrueshëm, debian: i fundit, pa asnjë dobësi, i marrim rezultatet më poshtë.

Përmbledhje e vlerësimit të politikave të ankorimit (Pass)

Kalimi i listave të cenimeve dhe ekspozimeve të zakonshme (CVE) 

përfundim

Skaneri i imazheve të kontejnerëve të Anchore është një mjet i fuqishëm i analizës së figurave që identifikon një gamë të gjerë të cenueshmërisë dhe çështjeve të politikave në imazhet Docker. Ka shumë mundësi opsionesh të personalizuara dhe mund të konfigurohet se si të reagoni kur zbuloni çështje gjatë analizës. Një nga këto është të prishni ndërtimin kur motori haset në një cenueshmëri të rëndë.

Nëse jeni duke kërkuar të ndërtoni karrierën tuaj në DevSecOps, atëherë shikoni këtë Kursi Udemy.

TAGS:

  • Burim i Hapur

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map