Mapování imagí kontejnerů z kódu do cloudu
Pokud se v imagi kontejneru uložené v registru kontejneru nebo v clusteru Kubernetes identifikuje ohrožení zabezpečení, může být obtížné trasovat ho zpět do kanálu CI/CD, který nejprve sestavil image kontejneru a identifikoval vlastníka nápravy vývojáře. Díky možnostem zabezpečení DevOps v Správa stavu cloudového zabezpečení v programu Microsoft Defender (CSPM) můžete mapovat aplikace nativní pro cloud z kódu do cloudu, abyste mohli snadno spustit pracovní postupy nápravy vývojářů a zkrátit dobu nápravy ohrožení zabezpečení v imagích kontejnerů.
Požadavky
Účet Azure s onboardedem Defenderu pro Cloud. Pokud ještě nemáte účet Azure, vytvořte si ho zdarma.
Prostředí Azure DevOps nebo GitHub připojené k Microsoft Defenderu se automaticky sdílí a instaluje ve všech připojených organizacích Azure DevOps. Tím se automaticky vloží úlohy do všech azure Pipelines, aby se shromažďují data pro mapování kontejnerů.
V případě Azure DevOps nainstaluje rozšíření Microsoft Security DevOps (MSDO) v organizaci Azure DevOps.
U GitHubu je akce Microsoft Security DevOps (MSDO) nakonfigurovaná v úložištích GitHubu. Kromě toho musí mít pracovní postup GitHubu oprávnění id-token: zápis pro federaci pomocí defenderu pro cloud. Příklad: Podívejte se na tento YAML.
Služba CSPM v programu Defender je povolená.
Image kontejnerů musí být sestaveny pomocí Dockeru a klient Dockeru musí mít během sestavování přístup k serveru Dockeru.
Mapování image kontejneru z kanálů Azure DevOps na registr kontejnerů
Po vytvoření image kontejneru v kanálu CI/CD Azure DevOps a jeho nasdílením do registru se podívejte na mapování pomocí Průzkumníka zabezpečení cloudu:
Přihlaste se k portálu Azure.
Přejděte do Průzkumníka cloudových>zabezpečení v programu Microsoft Defender. Zobrazení mapování imagí kontejneru v Průzkumníku zabezpečení cloudu může trvat maximálně 4 hodiny.
Pokud chcete zobrazit základní mapování, vyberte image>>+kontejnerů nabízené úložištěm kódu.
(Volitelné) Vyberte + podle imagí kontejneru a přidejte do dotazu další filtry, jako je například ohrožení zabezpečení pro filtrování pouze imagí kontejnerů pomocí cvEs.
Po spuštění dotazu se zobrazí mapování mezi registrem kontejneru a kanálem Azure DevOps. Výběrem ... vedle hraničního zařízení zobrazíte další podrobnosti o tom, kde byl kanál Azure DevOps spuštěný.
Následuje příklad rozšířeného dotazu, který využívá mapování imagí kontejneru. Počínaje úlohou Kubernetes, která je vystavená internetu, můžete trasovat všechny image kontejnerů s vysokou závažností CVE zpět do kanálu Azure DevOps, kde byla image kontejneru vytvořená, a umožnit tak pracovníkovi zabezpečení zahájit pracovní postup nápravy pro vývojáře.
Poznámka:
Pokud vaše organizace Azure DevOps měla vytvořený konektor Azure DevOps před 15. listopadem 2023, přejděte do části Rozšíření nastavení>> organizace Sdílená a nainstalujte dekorátor mapování imagí kontejneru. Pokud se rozšíření sdílené s vaší organizací nezobrazuje, vyplňte následující formulář.
Mapování image kontejneru z pracovních postupů GitHubu do registru kontejneru
Ujistěte se, že jste do Defenderu pro cloud nasadili konektor GitHubu.
Spusťte následující pracovní postup MSDO:
name: Build and Map Container Image
on: [push, workflow_dispatch]
jobs:
build:
runs-on: ubuntu-latest
# Set Permissions
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.8'
# Set Authentication to Container Registry of Choice.
# The example below is for Azure Container Registry. Amazon Elastic Container Registry and Google Artifact Registry are also supported.
- name: Azure Container Registry Login
uses: Azure/docker-login@v1
with:
login-server: <containerRegistryLoginServer>
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
# Build and Push Image
- name: Build and Push the Docker image
uses: docker/build-push-action@v2
with:
push: true
tags: ${{ secrets.IMAGE_TAG }}
file: Dockerfile
# Run Mapping Tool in MSDO
- name: Run Microsoft Security DevOps Analysis
uses: microsoft/security-devops-action@latest
id: msdo
Po vytvoření image kontejneru v pracovním postupu GitHubu a jeho nasdílením do registru se podívejte na mapování pomocí Průzkumníka zabezpečení cloudu:
Přihlaste se k portálu Azure.
Přejděte do Průzkumníka cloudových>zabezpečení v programu Microsoft Defender. Zobrazení mapování imagí kontejneru v Průzkumníku zabezpečení cloudu může trvat maximálně 4 hodiny.
Pokud chcete zobrazit základní mapování, vyberte image>>+kontejnerů nabízené úložištěm kódu.
(Volitelné) Vyberte + podle imagí kontejneru a přidejte do dotazu další filtry, jako je například ohrožení zabezpečení pro filtrování pouze imagí kontejnerů pomocí cvEs.
Po spuštění dotazu se zobrazí mapování mezi registrem kontejneru a pracovním postupem GitHubu. Pokud chcete zobrazit další podrobnosti o tom, kde se spustil pracovní postup GitHubu, vyberte ... vedle hraničního zařízení.
Následuje příklad rozšířeného dotazu, který využívá mapování imagí kontejneru. Počínaje úlohou Kubernetes, která je vystavená internetu, můžete sledovat všechny image kontejnerů s vysokou závažností CVE zpět do úložiště GitHub, kde byla image kontejneru vytvořena, a umožnit tak pracovníkovi zabezpečení zahájit pracovní postup nápravy pro vývojáře.
Další kroky
- Přečtěte si další informace o zabezpečení DevOps v defenderu pro cloud.