Sdílet prostřednictvím


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:

  1. Přihlaste se k portálu Azure.

  2. 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.

  3. Pokud chcete zobrazit základní mapování, vyberte image>>+kontejnerů nabízené úložištěm kódu.

    Snímek obrazovky, který ukazuje, jak najít základní mapování kontejnerů

  4. (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.

  5. 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ý.

    Snímek obrazovky znázorňující rozšířený dotaz na výsledky mapování kontejnerů

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.

Snímek obrazovky znázorňující základní výsledky mapování kontejnerů

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

  1. Ujistěte se, že jste do Defenderu pro cloud nasadili konektor GitHubu.

  2. 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:

  1. Přihlaste se k portálu Azure.

  2. 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.

  3. Pokud chcete zobrazit základní mapování, vyberte image>>+kontejnerů nabízené úložištěm kódu.

    Snímek obrazovky znázorňující základní mapování kontejnerů

  4. (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.

  5. 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.

Snímek obrazovky znázorňující základní výsledky mapování kontejnerů

Další kroky