Az Anchore Container Image Security szkenner telepítése és használata?

Az Rögzítő motor egy nyílt forráskódú eszköz a tárolóképek szkennelésére és elemzésére a biztonsági rések és a házirendek szempontjából. Kapható Docker tárolóképként, amely futtatható egy zenekari platformon, vagy önálló telepítésként.


Ez egy hasznos biztonsági eszköz, amely lehetővé teszi a fejlesztőknek és a minőségbiztosítási csapatoknak az alkalmazások létrehozásához használt képek biztonsági réseinek tesztelését, azonosítását és kiküszöbölését..

Ebben a cikkben megvizsgáljuk, hogyan telepíthetjük és használhatjuk az Anchore kép sérülékenységi szkennerét. Általában számos végrehajtási módszer létezik. Azonban a következő kettőre fogok összpontosítani,

  • Használni a AnchoreCLI parancssori opció
  • GUI alapú Jenkins Anchore konténer képolvasó csatlakoztat.

Megmutatjuk, hogyan kell telepíteni, konfigurálni és elindítani a motort, konfigurálni és használni az AnchoreCLI parancssori eszközt, valamint a Jenkins bővítményt. A két módszer mindegyikéhez megtanulja, hogyan adhatja hozzá a képeket a beolvasáshoz, elvégezheti a beolvasást és a jelentéseket.

A cikk végén megtudhatja a következő három dolgot.

  • A. Telepítése és konfigurálása Rögzítő motor
  • Telepítés, konfigurálás és használat AnchoreCLI
  • Konfigurálás és használat Anchore Container Image Scanner plugin ban ben Jenkins

Előfeltételek

Az alábbiakban felsorolt ​​követelmények vannak ennek az oktatóanyagnak;

  • Helyi vagy virtuális gép az Ubuntu 18.04 és az alábbiakkal;
  • Dokkmunkás
  • Docker-levélírás
  • Jenkins Telepítve és fut
  • sudo felhasználó

1. lépés: – Telepítse a működő könyvtárakat és töltse le a konfigurációs fájlokat.

Hozzon létre egy működő könyvtárat a Anchore fájlokhoz. Ebben a könyvtárban két alkönyvtárat hoz létre, egyet a konfigurációhoz és egy az adatbázishoz.

Hozzon létre egy otthoni könyvtárat a Anchore fájlokhoz

mkdir horgony

Lépjen az új könyvtárba, és hozza létre a konfigurációs és adatbázis alkönyvtárakat.

cd horgony

mkdir config

mkdir db

Töltse le a konfigurációs fájlokat

Amint a könyvtárak készen állnak, két konfigurációs fájlt (docker-compose.yaml és config.yaml) töltünk le a Github projektből.

A docker-compose.yaml letöltése

Lépjen a rögzített otthoni könyvtárba és használja a parancsot

göndör https://raw.githubusercontent.com/anchore/anchore-engine/master/scripts/docker-compose/docker-compose.yaml > dokkoló-compose.yaml

Ezután töltse le a config.yaml fájlt a ~ / anchore / config könyvtárba

göndör https://raw.githubusercontent.com/anchore/anchore-engine/master/scripts/docker-compose/config.yaml -o ~ / horgony / config / config.yaml

A config.yaml fájl egy olyan konfigurációs fájl, amely tartalmazza az alapbeállításokat, amelyek a horgonymotor szolgáltatásainak futtatásához szükségesek. Számos paraméterrel rendelkezik, köztük az alapértelmezett, a napló szintjével, a figyelő porttal, a felhasználónévvel, a jelszóval és egyebekkel, amelyeket beállíthat, hogy megfeleljen a meghatározott követelményeknek..

Jó biztonsági gyakorlat a jelszó megváltoztatása, és ezt megteheti a config.yaml fájl szerkesztésével. Ebben az oktatóanyagban azonban az alapértelmezett beállításokat fogjuk használni.

Az alapértelmezett hitelesítő adatokkal (felhasználónév – admin és jelszó – foobar) a folytatáshoz folytassa 2. lépés.

A Anchore Engine hitelesítő adatainak megváltoztatása (opcionális)

A horgonykönyvtárból használja a parancsot

nano ~ / anchore / config / config.yaml

Keresse meg a felhasználónevet (admin) és a jelszót (foobar), és változtassa meg a kívánt értékeket.

nyomja meg CTRL + x, akkor Y menteni és kilépni.

A működő könyvtárak és a konfigurációs fájlok helyett a rendszer készen áll az Anchore Engine telepítésére.

2. lépés: – Telepítse és indítsa el a horgonyzó motort

A Docker compose programot használja az Anchore Engine és az adatbázis telepítéséhez és indításához.

Futtassa a rögzített otthoni könyvtárból.

dokkoló-összeállítás up -d

Ez automatikusan elhúzza a Anchore képet, majd létrehozza a Anchore motort és adatbázist az otthoni, illetve a ~ / anchore / adatbázis / könyvtárakban. A befejezés után a parancs elindítja az Anchore motort.

A horgonymotor sikeres telepítése és indítása után a képeket a horgonyparanccsal szkennelheti AnchoreCLI. Először azonban telepítenie kell az AnchoreCLI parancssori segédprogramot, az alább látható módon.

Az AnchoreCLI telepítése és konfigurálása

Ebben a lépésben megtanulja, hogyan kell telepíteni és konfigurálni a AnchoreCLI parancssori eszköz.

3. lépés: – Telepítse az AnchoreCLI-t

Ebben az oktatóanyagban először telepítjük a python-pip segédprogramot, amely ezt követően telepíti a AnchoreCLI a forrásból.

A Python pip telepítése. Az Anchore otthoni könyvtárához, és futtassa

sudo apt-get frissítés
sudo apt-get install python-pip
sudo pip install – frissítse a beállító eszközöket

Telepítse a AnchoreCLI python-pip segítségével

pip telepítése anchorecli

Ez a parancs letölti és telepíti az AnchoreCLI fájljait. A telepítés után a .profile fájlt a parancs használatához kell beszereznünk

forrás ~ / .profil

A parancs segítségével ellenőrizheti, hogy a telepítés sikeres-e és az Anchorecli verziója sikeres-e

anchore-cli – átalakítás

Az anchore-CLI rendszer állapotának ellenőrzéséhez használja a parancsot

anchore-cli –url http: // localhost: 8228 / v1 –u admin –p foobar rendszer állapota

Felhívjuk figyelmét, hogy meg kell adnia a Anchore motor URL-jét, felhasználónevét és jelszavát.

Adja meg a rögzítőmotor paramétereit

Alapértelmezés szerint az AnchoreCLI hitelesítés nélkül megpróbálja elérni az Anchore motort. Ez azonban nem fog működni, és minden parancshoz meg kell adnia az Anchore Engine hitelesítő adatait.

Ez magában foglalja a felhasználónév, jelszó és URL paraméterek átadását minden Anchore CLI paranccsal. Ahelyett, hogy ezeket minden alkalommal megadnák, alternatíva az, ha környezeti változókként definiáljuk őket a következő formátumban.

Az URL továbbításához futtassa

ANCHORE_CLI_URL = http: // localhost: 8228 / v1

Ez meghatározza az Anchore Engine URL-t és a használt 8228 portot.

Állítsa be a felhasználónevet és a jelszót az alapértelmezett értékekkel; ellenkező esetben cserélje ki őket az új értékekre 1. lépés.

ANCHORE_CLI_USER = admin

ANCHORE_CLI_PASS = foobar

A fentiek csak az aktuális héj paramétereit állítják be. Az aktuális héj és az abból induló egyéb folyamatok beállításához az export parancsot használjuk

exportálni ANCHORE_CLI_URL

export ANCHORE_CLI_USER

export ANCHORE_CLI_PASS

A megadott paraméterekkel az AchoreCLI telepítése kész, és készen áll a képek szkennelésére.

4. lépés: – Képek hozzáadása és elemzése

Most, hogy az Anchore Engine fut és a CLI konfigurálva van, megtanulja, hogyan kell hozzátenni és elemezni a képeket a biztonsági problémákhoz. Ebben az oktatóanyagban két képet fogunk elemezni. -openjdk: 8 jre-alpesi sérülékenységekkel és debian: legújabb nélkül .

Képek elemzése

A folytatáshoz először hozzá kell adnunk a képeket a motorhoz. A képek hozzáadása

anchore-cli kép add openjdk: 8-jre-alpine

Stabil kép hozzáadása debian: legújabb

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

Adjon hozzá további képeket

anchore-cli image add openjdk: 10-jdk

anchore-cli image add openjdk: 11-jdk

Miután hozzáadott egy képet az Anchore Engine-hez, az elemzés azonnal megkezdődik. Ha több betöltött kép van, akkor sorba helyezik és egyenként elemezik. Ellenőrizheti az előrehaladást, és megnézheti a betöltött képek listáját az elemzési állapotukkal együtt.

A lista megtekintéséhez futtassa a parancsot

anchore-cli képlista

Kimenet

[Email protected]: ~ / anchore $ anchore-cli képlista
A teljes címkéjű elemzés elemzésének állapota
docker.io/openjdk:10-jdk sha256: 923d074ef1f4f0dceef68d9bad8be19c918d9ca8180a26b037e00576f24c2cb4analízis
docker.io/openjdk:11-jdk sha256: 9923c0853475007397ed5c91438c12262476d99372d4cd4d7d44d05e9af5c077analízis
docker.io/openjdk:8-jre-alpine sha256: b2ad93b079b1495488cc01375de799c402d45086015a120c105ea00e1be0fd52analízis

A képek számától, méretétől és a hozzáadásuk után eltelt időtől függően elemezni fogja a teljes képet, a folyamatban lévőket és a sorban lévő képeket nem..

5. lépés: – Az elemzés eredményeinek beolvasása és megtekintése

Az elemzés befejezése után ellenőrizheti az eredményeket, és megnézheti a sebezhetőségi vizsgálatok, a házirend-ellenőrzések és a motor által azonosított egyéb kérdések eredményeit..

Az Openjdk sebezhetőségi vizsgálatának eredményeinek ellenőrzése: 8 jre-alpesi sérülékeny kép

Fuss

anchore-cli kép vuln openjdk: 8-jre-alpesi mind

Kimenet

[Email protected]: ~ / anchore $ anchore-cli kép vuln openjdk: 8-jre-alpesi mind
Sebezhetőség IDPackage súlyosságjavítás CVE Refs biztonsági rés URL
CVE-2018-1000654 libtasn1-4.13-r0 magas 4.14-r0 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000654
CVE-2019-12900 libbz2-1.0.6-r6 magas 1.0.6-r7 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12900
CVE-2019-14697 musl-1.1.20-r4 magas 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 magas 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 magas 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 közepes 1.5.3-r5 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14498

A jelentés megmutatja a CVE azonosítót, a sebezhető csomagot, súlyosságát és azt, hogy van-e javítás vagy sem. Az openjdk: 8-jre-alpine képünkre az elemzés azt mutatja, hogy öt magas sebezhetőséggel rendelkezik, és elég sok közepes és elhanyagolható sebezhetőséggel rendelkezik. (néhány nem látható fent).

A sérülékenységek megtekintéséhez a stabil képi debian eredmények: legújabb

Futtassa a parancsot

anchore-cli kép vuln docker.io/library/debian:latest

Kimenet

[Email protected]: ~ / anchore $ anchore-cli kép vuln debian: a legújabb
Sebezhetőség IDPackage súlyosságjavítás CVE RefsVilneibility URL
CVE-2005-2541 tar-1.30 + dfsg-6 Elhanyagolható Nincs https://security-tracker.debian.org/tracker/CVE-2005-2541
CVE-2019-1010022libc-bin-2.28-10 Elhanyagolható Nincs https://security-tracker.debian.org/tracker/CVE-2019-1010022
CVE-2019-1010022libc6-2.28-10 Elhanyagolható Nincs https://security-tracker.debian.org/tracker/CVE-2019-1010022
CVE-2019-1010023libc-bin-2.28-10 Elhanyagolható Nincs https://security-tracker.debian.org/tracker/CVE-2019-1010023
CVE-2019-1010023libc6-2.28-10 Elhanyagolható Nincs https://security-tracker.debian.org/tracker/CVE-2019-1010023
CVE-2019-1010024libc-bin-2.28-10 Elhanyagolható Nincs https://security-tracker.debian.org/tracker/CVE-2019-1010024

A jelentésből látható, hogy a debian: legfrissebb kép elhanyagolható sebezhetőségeket tartalmaz és nincs javítás.

Az instabil kép openjdk: 8-jre-alpine politikájának értékelésének eredményei

fuss

anchore-cli kiértékelés openjdk: 8-jre-alpine

Kimenet – Az eredmények kudarcot mutatnak

[Email protected]: ~ / anchore $ anchore-cli értékelési ellenőrzés openjdk: 8-jre-alpine
Image Digest: sha256: b2ad93b079b1495488cc01375de799c402d45086015a120c105ea00e1be0fd52
Teljes címke: docker.io/openjdk:8-jre-alpine
Állapot: kudarc
Utolsó értékelés: 2019-09-20T12: 03: 32Z
Házirend-azonosító: 2c53a13c-1765-11e8-82ef-23527761d060

Az openjdk: 8-jre-alpine kép megsérti a megadott házirend-azonosítót (házirend azonosítója: 2c53a13c-1765-11e8-82ef-23527761d060), ezért hibaállapotot ad vissza.

Most, hogy láttuk, hogyan reagál az Anchore Engine egy irányelv megsértésének észlelése után, itt az ideje ellenőrizni, hogy viselkedik-e ez a stabil képi debiannal: legújabb.

Házirend-ellenőrzés a debian esetén: a legújabb stabil kép

anchore-cli értékelési ellenőrzés docker.io/library/debian:latest –detail

[Email protected]: ~ / anchore $ anchore-cli kiértékelés docker.io/library/debian:latest –detail
Image Digest: sha256: d3351d5bb795302c8207de4db9e0b6eb23bcbfd9cae5a90b89ca01f49d0f792d
Teljes címke: docker.io/library/debian:latest
Kép azonosítója: c2c03a296d2329a4f3ab72a7bf38b78a8a80108204d326b0139d6af700e152d1
Állapot: pass
Utolsó értékelés: 2019-09-20T12: 00: 06Z
Házirend-azonosító: 2c53a13c-1765-11e8-82ef-23527761d060
Végső intézkedés: figyelmeztetés
Végső intézkedés oka: politika_értékelés
Kapu TriggerDetail állapota
dockerfileinstructionDockerfile irányelv ‘HEALTHCHECK’ nem található, a ‘not_exists’ ellenőrző figyelmeztetés megfelelő feltétel

Az eredmények a Pass státuszt és a Végleges figyelmeztetést jelzik, mivel az információk nem egyeznek a Dockerfile irányelvvel. Ez nem sikerül, de szükség lehet a probléma ellenőrzésére és kezelésére.

Az Anchore Container Image Scanner plugin konfigurálása és használata a Jenkins-ben

6. lépés: – Adja hozzá és konfigurálja az Anchore Container Image Scanner beépülő modult a Jenkins-ben

Ebben a lépésben integráljuk az Anchor Engine-t a Jenkins szerverrel. A Jenkins egy Java-alapú, nyílt forráskódú szerver, amely számos ismétlődő feladatot automatizál a szoftverfejlesztési ciklusban.

Az Anchore plugin elérhető Jenkins nyelven, de alapértelmezés szerint nincs telepítve.

Jelentkezzen be a Jenkinsbe egy böngészővel

http: // your_server_ip_or_domain: 8080

Írja be a felhasználónevet és a jelszót.

Menj Jenkins menü

Keresse meg és válassza ki Kezelje Jenkins-t

Menj Bővítmények kezelése

A Elérhető lap, görgessen le Építési eszközök és válassza ki a Anchore Container Image Scanner

Kattints a Telepítse újraindítás nélkül választási lehetőség.

A sikeres telepítés után Anchore Container Image Scanner plugin, A következő lépés a hitelesítő adatok konfigurálása.

Menj a Jenkins menüt, és válassza a Kezelje Jenkins-t lap.

Nyisd ki Konfigurálja a rendszert.

Keresse meg a Horgony konfiguráció.

választ Motor üzemmód

Írd be a Rögzítő motor részletek (a motor URL-címe, felhasználóneve és jelszava, valamint a 8228-as port – a motor alapértelmezett portja).

URL – http: // your_server_IP: 8228 / v1

Írja be a felhasználónevet = admin
Írja be a Password = foobar vagy új jelszót, ha megváltoztatta 3. lépés (felett)

kettyenés Megment

Konfigurálja az Anchore beépülő modult

8. lépés: – Képek hozzáadása és beolvasása

kettyenés Új elem a Jenkins Irányítópulton a bal felső menüben

Ezzel megnyílik egy képernyő, amelyen több lehetőség is elérhető.
Írja be a tesztprojekt kívánt nevét az Adja meg az elem nevét mezőbe.

Ebben a projektben a Pipeline építést fogjuk használni.
Válaszd ki a Csővezeték és kattintson a gombra Rendben.

Most már készen áll a képek beolvasására. Esetünkben olyan képeket fogunk használni, amelyek már vannak a docker nyilvántartásban, amelyhez a Rögzítő motor.

Ehhez hozzáad egy csővezeték-parancsfájlt, amely meghatározza a beolvasandó képet.

9. lépés: – Adjon hozzá egy csővezeték-parancsfájlt

Görgessen le a Csővezeték szakaszhoz, és adja hozzá a szkriptet a beolvasni kívánt kép meghatározásához. Az Openjdk-vel kezdjük: 8-jre-alpine, amely bizonyos sebezhetőségeket tartalmaz.

csomópont {
def imageLine = “openjdk: 8-éves alpesi”
writeFile fájl: “anchore_images”, szöveg: imageLine “
horgony neve: “anchore_images”
}

kettyenés Megment

10. lépés: – Futtassa az összeállítást és ellenőrizze a beolvasási jelentéseket

A Jenkins menüből

kettyenés Építsd most

Ez elindítja a készítési folyamatot, amely a kép méretétől függően néhány percig tart. A befejezés után egy szám és egy színes gomb jelenik meg az Építési előzmények alatt. Ennek piros színű lesz a Fail vagy kék a Pass. A gombra kattintva további eredmények jelennek meg.

11. lépés: – Eredmények áttekintése

Kattintson Épít # további részletek megtekintéséhez
Ez megnyitja a Konzol kimenet a hibát jelző ablak – Rögzítési jelentés (FAIL)

A részletes jelentések jelzik, hogy az elemzés sikertelen volt-e vagy sikeres-e, és számos jelentést tartalmaznak a biztonsági résekről, figyelmeztetésekről és egyebekről a konfiguráció alapján. Alapértelmezés szerint a plugin úgy van konfigurálva, hogy sikertelen legyen az építkezés (Állj meg), ha vannak sebezhetőségek. Az alábbiakban látható a házirend- és biztonsági jelentések képernyőképei.

Rögzített politika értékelési összefoglaló

Az alábbiakban egy képernyőkép a biztonsági résről a képre.

Közös sérülékenységi és kitettséglista (CVE)

Ha most stabil képet olvasunk, debian: legújabb, sebezhetőség nélkül, az alábbiakban kapjuk meg az eredményeket.

Anchore politika értékelési összefoglaló (Pass)

Közös sérülékenységek és kitettségek (CVE) List Pass 

Következtetés

Az Anchore Container Image Scanner egy erőteljes kép-elemző eszköz, amely a Docker képek sérülékenységének és házirendjének széles skáláját azonosítja. Számos testreszabási opcióval rendelkezik, és konfigurálható úgy, hogy hogyan reagáljon az elemzés során felmerülő problémákra. Ezek egyike az építkezés megszakítása, amikor a motor súlyos biztonsági rést tapasztal.

Ha karrierjét a DevSecOps-ban szeretné építeni, akkor nézd meg ezt Udemy tanfolyam.

CÍMKÉK:

  • Nyílt forráskód

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