GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Jak používat Docker Scan k nalezení slabých míst ve vašich obrázcích

Docker se nyní dodává s vestavěnou podporou bezpečnostního skenování. Obrázky kontejnerů můžete lokálně skenovat a identifikovat možná zranitelnosti. To urychluje vývojový cyklus tím, že poskytuje okamžitou zpětnou vazbu ve srovnání s kanály CI a cloudovými službami.

scan příkaz je k dispozici ve výchozím nastavení v Dockeru verze 20.10. Docker spolupracuje se společností Snyk, aby přinesla bezpečnostní skenování do svého CLI. Při prvním spuštění příkazu se zobrazí výzva k jednorázovému souhlasu. Napište „y“ a stiskněte Enter pro potvrzení integrace Snyk.

Kromě souhlasu se Snykem vyžaduje skenování kontejnerů také přihlášení k Docker Hub. Spusťte docker login před zahájením skenování zadejte své uživatelské jméno a heslo.

Zkuste spustit docker scan --version pro kontrolu vaší instalace. Uvidíte číslo verze scan zapojit. Výstup také jmenuje poskytovatele bezpečnostního skenování, který scan bude používat (aktuálně Snyk). V budoucnu by mohli být přidáni další poskytovatelé.

Jak skenování funguje

docker scan přijímá název obrázku jako parametr. Prohledá obrázek proti databázi zranitelností kontejnerů Snyk. Je pokryta široká škála problémů, od zastaralých základních obrazů až po exploity proti otevřeným softwarovým knihovnám, které používáte.

Snyk vám může ukázat Dockerfile řádek, který představuje zranitelnost. Získáte tak okamžitý výchozí bod při řešení každého problému. Výsledky se zobrazí přímo ve vašem terminálu po dokončení skenování.

Databáze Snyk je neustále aktualizována o nové zranitelnosti. Nepředpokládejte, že obrázek, který jednou projde skenováním, bude mít v budoucnu vždy stejný výsledek. Je dobrým zvykem pravidelně skenovat obrázky, aby vaše pracovní zatížení zůstalo v bezpečí.

Skenování obrázku

Nejjednodušší způsob, jak naskenovat obrázek, je předat značku docker scan :

docker scan hello-world:latest

Dokončení skenování může trvat několik sekund. Větší obrázky budou vyžadovat více času. Výsledky se zobrazí ve vašem terminálu, jakmile budou k dispozici. Příklad výstupu z úspěšného skenování je uveden výše.

I když může být úplné vyjasnění uklidňující, docker scan výstup je mnohem zajímavější, když jsou zjištěna zranitelnosti. Zde je sken, který našel nějaké problémy.

Každý problém má stručný popis, označení jeho závažnosti a odkaz na další informace na webu Snyk.

Pokročilejší prověřování

docker scan má mnohem více funkcí než základní příklad výše. Chování kontroly můžete přizpůsobit pomocí několika příznaků.

Pravděpodobně nejužitečnějším příznakem je --file . Tím se dostanete k Dockerfile obrázku . Když Snykovi poskytnete Dockerfile, může provést podrobnější analýzu na základě jeho obsahu. Některé funkce skenování, jako je detekce zastaralého základního obrázku, jsou k dispozici pouze tehdy, když dodáte Dockerfile obrázku. .

docker scan hello-world:latest --file Dockerfile

Výsledkem bude výstup podobný následujícímu:

Tested 100 dependencies for known issues, found 50 issues.

According to our scan, you are currently using the most secure version of the selected base image.

Poslední řádek udává, zda je váš základní obrázek FROM instrukce ve vašem Dockerfile - je bezpečný. Pokud je obrázek zastaralý nebo obsahuje chyby zabezpečení, které byly mezitím vyřešeny, zobrazí se návrhy alternativních značek.

Někdy můžete chtít spustit kontrolu, která ignoruje zranitelnosti ve vaší základní bitové kopii. Předejte --exclude-base k dosažení tohoto cíle. To je užitečné, pokud základní bitová kopie obsahuje mnoho problémů s nízkou závažností a není k dispozici žádná cesta upgradu. Vyloučení šumu vám pomůže zaměřit se na řešitelné problémy ve vrstvách obrazu.

Přizpůsobení výstupu skenování

docker scan přijímá několik různých možností formátování. Zatím jsme viděli výchozí výstup. Problémy představuje jako seznam čitelný pro člověka ve vašem terminálu.

Předání --json flag dává příkazu, aby vyslal nezpracovaný JSON, který obdrží. To je ideální, když používáte docker scan programově ve skriptech CI nebo nástrojích třetích stran. JSON můžete zpracovat sami a extrahovat pouze ty informace, které potřebujete.

Další možností je --dependency-tree . Tím se nad seznamem zranitelností zobrazí stromové zobrazení závislostí vašeho obrázku. To vám může pomoci vizualizovat, jak jsou různé balíčky zaváděny, což vám umožní určit, kde se vyskytují problémy.

Nakonec můžete použít --severity příznak k odfiltrování nežádoucích zranitelností. Použijte low , medium , nebo high k označení závažnosti, která vás zajímá. Příkaz bude hlásit pouze zranitelnosti hodnocené na nebo vyšší úrovni.

Omezení

docker scan v současnosti postrádá podporu pro distribuce Alpine Linux. Kromě toho má plugin verze 0.7 závažnou chybu, která způsobuje selhání místního skenování s chybou „obrázek nenalezen“. v0.7 může skenovat pouze obrázky, které existují v Docker Hub a dalších veřejných registrech. Problém byl opraven ve verzi 0.8, ale verze 0.7 zůstává verzí, která je široce distribuována s vydáními Docker na Linuxu.

Kromě technických problémů služba Snyk ukládá přísné limity pro vaše používání docker scan . Každý měsíc můžete provést 10 skenů zdarma. Pokud se přihlásíte pomocí Snyk, zvýší se to na 200 skenů za měsíc.

Spusťte docker scan --login získat vaši jedinečnou přihlašovací adresu URL. Zkopírujte jej do prohlížeče a postupujte podle pokynů k ověření. Můžete se přihlásit pomocí Docker Hub nebo několika poskytovatelů třetích stran. Jakmile se přihlásíte, zobrazí se tlačítko „Authenticate“. Klepnutím na toto se vrátíte do svého terminálu. Měli byste vidět zprávu „Snyk je nyní připraven k použití“.

Přehled

Vestavěné skenování obrázků v Dockeru usnadňuje odhalování a řešení zranitelností kontejnerů. Každý vývojář s přístupem k Docker CLI a bitové kopii kontejneru nyní může vyhledávat zranitelnosti, aniž by musel tlačit do registru.

Pravidelné kontroly vám pomohou ochránit vaše kontejnery před potenciálními hrozbami. Zastaralé základní obrazy a zranitelnosti v závislostech výrazně ovlivňují vaši bezpečnost, ale mohou snadno zůstat bez povšimnutí. docker scan vám dává větší důvěru ve své kontejnery tím, že odhalí problémy, které byste jinak přehlédli.


Docker
  1. Jak používat obrázky, kontejnery a soubory Docker do hloubky

  2. Jak používat Docker Compose

  3. Jak použít Dockerfile k vytvoření Docker Image

  1. Jak používat příkaz Docker Inspect

  2. Jak upravit obrázky Docker

  3. Jak nakonfigurovat docker pro použití proxy

  1. Jak používat FIND v Linuxu

  2. Jak používat váš dedikovaný server

  3. Jak používat místní docker obrázky s Minikube?