Přehled fáze sestavení
Vytváření imagí kontejnerů je třetí fáze architektury CSSC (Containers Secure Supply Chain). I když některé podniky natahují základní image z externích zdrojů přímo, jiné můžou základní image vyžádat z interního katalogu, aniž by ověřily jejich podpisy a ověření identity. Před použitím je důležité zajistit, aby se základní image vždy načítá z interního katalogu a ověřily se. Po vytvoření imagí je některé podniky publikují bez kontroly ohrožení zabezpečení a malwaru a negenerují ověření identity, jako je SBOM, které nelze ověřit v dalších fázích dodavatelského řetězce. Je nezbytné zajistit, aby vytvořené image kontejnerů byly důvěryhodné a dodržovaly podnikové zásady.
Architektura CSSC (Containers Secure Supply Chain) od Microsoftu identifikuje potřebu vytváření imagí kontejnerů a poskytuje sadu osvědčených postupů a nástrojů, které vám pomůžou bezpečně vytvářet důvěryhodné a vyhovující image. V tomto článku se dozvíte o cílech, osvědčených postupech a nástrojích, které můžete použít ve fázi sestavení architektury CSSC.
Pozadí
Podniky v současné době používají různé přístupy k bezpečnému vytváření kompatibilních imagí kontejnerů. Před sestavováním imagí kontejnerů se vyžadují interní týmy k vyžádání základních imagí z interních zlatých registrů. Tyto image se ale před použitím neověřují, což nedoporučujeme, protože je možné ohrozit zlaté registry a obrázky se můžou zlými úmysly. Podniky také řídí zdroj knihoven a balíčků, které jsou přidány do imagí kontejnerů, aby zajistily kvalitu.
Po sestavení imagí kontejnerů vygenerují podniky další metadata, aby se zajistilo, že image kontejnerů vyhovují. Některé podniky využívají dokument o provenience SLSA , abyste věděli, které potvrzení Gitu je zodpovědné za vytváření image kontejneru a jestli je reprodukovatelné. Jiní používají popisky Dockeru k zajištění provenience vlastníka image kontejneru a kdo je zodpovědný za potvrzení image. Některé podniky na obrázku vyhledávají chyby zabezpečení a malware a odpovídajícím způsobem generují sestavy.
Fáze sestavení architektury CSSC doporučuje sadu kroků a kontrolních mechanismů zabezpečení, které by se měly implementovat pro vytváření důvěryhodných a vyhovujících imagí kontejnerů před jejich publikováním.
Doporučené postupy
Microsoft doporučuje pro bezpečné vytváření kompatibilních imagí kontejnerů následující postupy.
- Stáhněte si základní image pouze z interního katalogu, abyste snížili prostor pro útoky a zlepšili zabezpečení.
- Pokud jsou k dispozici, před použitím ověřte podpisy a ověření základních imagí, abyste měli jistotu, že jsou důvěryhodné a vyhovující.
- Distribuce imagí obsahuje pouze aplikaci a její závislosti za běhu bez jakýchkoli dalších součástí softwaru nebo operačního systému. Pomocí disstroless images jako základních imagí zmenšete prostor pro útoky a vylepšete zabezpečení.
- Použijte přístup s nejnižšími oprávněními na platformu nebo službu sestavení, abyste zajistili, že změny nebo úpravy budou moct provádět jenom autorizovaní uživatelé, čímž se sníží riziko neoprávněného přístupu, porušení zabezpečení a dalších bezpečnostních incidentů.
- V imagích kontejnerů vyhledejte ohrožení zabezpečení a po sestavení malware, abyste snížili riziko zavedení ohrožení zabezpečení.
- Rozšiřte image kontejnerů po sestavení o další metadata, jako jsou SBOM a metadata provenience.
- Podepište image kontejnerů a příslušná metadata po sestavení pomocí podnikových klíčů, abyste zajistili integritu a poskytli důvěryhodné razítko schválení pro interní použití.
- Opravte image kontejnerů včas, abyste vyřešili známá ohrožení zabezpečení.
- Udržujte závislosti přiměřeně aktuální, abyste měli přehled o ohroženích zabezpečení a opravách zabezpečení.
Pracovní postup vytváření kompatibilních imagí kontejnerů
Fáze sestavení má pracovní postup pro vytvoření image kontejneru vyhovující organizacím a zásadám zabezpečení. Řízení přístupu na úrovni oprávnění pro platformu nebo službu sestavení je zásadní pouze pro oprávněné uživatele. Pokud jsou základní image k dispozici v katalogu, pracovní postup sestavení provede následující:
- Načítá základní image pouze z interního katalogu.
- Před použitím základní image ověřte, že jsou důvěryhodné a vyhovující.
- Přidejte další architektury, kód aplikace a/nebo konfigurace ze zdroje důvěryhodnosti nad základní image pro sestavení.
- Vygenerujte SBOM během procesu sestavení.
- V výsledné imagi kontejneru vyhledejte známá ohrožení zabezpečení a malware po sestavení, abyste zabránili zavedení chyb zabezpečení.
- Oprava výsledné image kontejneru pro řešení známých ohrožení zabezpečení a malwaru
- Připojte sestavy ohrožení zabezpečení a malwaru jako image ověření, která se použijí v dalších fázích dodavatelského řetězce.
- Připojte SBOM jako image ověření, která se použijí v dalších fázích dodavatelského řetězce.
- Obohacení výsledného obrázku o další metadata, jako jsou metadata provenience, aby se použila v dalších fázích dodavatelského řetězce.
- Podepište výsledný obrázek a příslušná metadata pomocí podnikových klíčů, abyste zajistili integritu a poskytli důvěryhodné razítko schválení pro fázi nasazení.
Cíle zabezpečení ve fázi sestavení
Dobře definovaný pracovní postup pro vytváření důvěryhodných a vyhovujících imagí kontejnerů pomáhá podnikům zvýšit zabezpečení a snížit prostor pro útoky na dodavatelský řetězec kontejnerů. Fáze sestavení architektury CSSC má splňovat následující cíle zabezpečení.
Omezení prostoru pro útoky kvůli nesprávnému řízení přístupu
Interní uživatelé můžou v infrastruktuře sestavení provádět neočekávané změny nebo nesprávné konfigurace. Fáze sestavení v rozhraní CSSC toto riziko řeší vynucením řízení přístupu s nejnižšími oprávněními ve výchozím nastavení, aby vlastníci prostředků mohli zajistit, aby správná osoba má správná oprávnění k provádění změn a konfigurací, a tím se snížil prostor pro útoky.
Omezení prostoru pro útoky od interních uživatelů se zlými úmysly
Krádež identity se dá použít pro přístup k platformě sestavení, úpravě binárních souborů a vkládání neoprávněných změn, které jsou pro původní vývojáře a uživatele neviditelné. Existuje také riziko vložení zranitelného kódu nebo chybné konfigurace interními uživateli. Fáze sestavení v rozhraní CSSC řeší toto riziko použitím řízení přístupu na základě role v Azure (Azure RBAC) a vynucením kontroly kódu od různých vlastníků kódu.
Omezení prostoru pro útoky kvůli externím závislostem
Základní obrázky z externích zdrojů můžou být škodlivé. Externí registry je možné ohrozit. Fáze sestavení v rámci šablon stylů CSSC řeší toto riziko použitím základních imagí pouze z katalogu a jejich ověřením v podpisech, sestavách ohrožení zabezpečení a malwaru a dalších metadat obrázků před jejich použitím.
Škodlivé balíčky open source softwaru (OSS) se skrytými zadními vrátky můžou způsobit, že binární soubory balíčku nebudou odpovídat zdrojovému kódu. Platnost závislostí nebo opensourcových komponent může vypršet platnost, která blokuje nejnovější opravy zabezpečení z upstreamu. Fáze sestavení v rámci CSSC řeší toto riziko pomocí schválených knihoven, pravidelné kontroly ohrožení zabezpečení a malwaru a udržování knihoven v aktualizovaném stavu.
Omezení prostoru pro útoky kvůli ohroženým sestavením
Ohrožení agenti sestavení můžou vkládat binární soubory na straně nebo škodlivý kód, které můžou způsobit útoky, jako je útok SolarWinds. Fáze sestavení v rozhraní CSSC řeší toto riziko tím, že pravidelně opravuje agenty sestavení.
Zajištění minimální kvality obrázku
Ve fázi sestavení architektury CSSC můžou podniky nakonfigurovat požadované kroky pro kontrolu ohrožení zabezpečení a malwaru imagí po sestavení a generovat sestavy. Podniky můžou i po sestavení rozšířit image o další metadata, včetně SBOMs, metadat provenience a dalších interních metadat, která splňují jejich zásady. Můžou také podepsat artefakty pomocí podnikových klíčů, aby zajistily integritu a poskytly důvěryhodné razítko schválení pro fázi nasazení.
Doporučené nástroje
Microsoft nabízí sadu nástrojů a služeb, které můžou podnikům pomoct implementovat doporučené kroky v pracovním postupu fáze sestavení a řešit výše uvedené cíle zabezpečení.
Nástroje pro udržování aktuálního stavu po sestavení
Dependabot je nástroj pro automatizaci aktualizací závislostí prostřednictvím žádostí o přijetí změn. Podrobnosti a další kroky najdete v tomto průvodci.
Copa je opensourcový projekt založený na Microsoftu, řeší ohrožení zabezpečení balíčku operačního systému Linux v imagích kontejnerů na základě výsledků kontroly ohrožení zabezpečení. Podrobnosti a další kroky najdete v tomto průvodci.
Nástroje a služba pro průběžné prohledávání a opravy imagí ohrožení zabezpečení
Microsoft Defender for Cloud je řešení nativní pro cloud, které vylepšuje, monitoruje a udržuje zabezpečení kontejnerizovaných úloh. Microsoft Defender for Cloud nabízí nástroje pro posouzení ohrožení zabezpečení a správu imagí uložených ve službě Azure Container Registry.
Copa je opensourcový projekt založený na Microsoftu, řeší ohrožení zabezpečení balíčku operačního systému Linux v imagích kontejnerů na základě výsledků kontroly ohrožení zabezpečení. Podrobnosti a další kroky najdete v tomto průvodci.
Nástroje a služby pro rozšiřování externích obrázků pomocí podnikových metadat
ORAS je projekt CNCF podporovaný Microsoftem, který nabízí opensourcové rozhraní příkazového řádku a knihovny pro interakci s registry OCI. ORAS lze použít k přidání poznámek a připojení metadat k imagi kontejneru. ORAS lze použít k přidání metadat SBOM, provenience a dalších metadat k obohacení obrázků pro následné fáze dodavatelského řetězce.
Nástroj SBOM od Microsoftu je opensourcový, vysoce škálovatelný a podnikový nástroj pro vytváření SBOM kompatibilních s SPDX 2.2 pro všechny různé artefakty. Nástroj SBOM lze použít ke generování podrobných SBOM pro image kontejnerů.
Notář Project je projekt CNCF založený na Microsoftu, který vyvíjí specifikace a nástroje pro podepisování a ověřování artefaktů softwaru. Nástroj notáře Projectu notation
se dá použít k podepisování imagí kontejnerů a dalších artefaktů nativních pro cloud pomocí podnikových klíčů.
Azure Key Vault je cloudová služba, která poskytuje zabezpečené a centralizované umístění pro ukládání a správu kryptografických klíčů, tajných klíčů a certifikátů. AKV se dá použít k bezpečnému a spolehlivému ukládání a správě podnikových klíčů.
Další kroky
Podívejte se na přehled fáze nasazení pro bezpečné nasazení imagí kontejneru.