Delen via


Containerinstallatiekopieën van code naar cloud toewijzen

Wanneer een beveiligingsprobleem wordt geïdentificeerd in een containerinstallatiekopie die is opgeslagen in een containerregister of wordt uitgevoerd in een Kubernetes-cluster, kan het lastig zijn voor een beveiligingsbeoefenaar om terug te gaan naar de CI/CD-pijplijn die eerst de containerinstallatiekopie heeft gebouwd en een eigenaar van een ontwikkelaarsherstel te identificeren. Met DevOps-beveiligingsmogelijkheden in Microsoft Defender Cloud Security Posture Management (CSPM) kunt u uw cloudeigen toepassingen toewijzen van code naar de cloud om eenvoudig herstelwerkstromen voor ontwikkelaars te starten en de tijd te verkorten om beveiligingsproblemen in uw containerinstallatiekopieën op te halen.

Vereisten

  • Een Azure-account met Defender voor Cloud onboarding. Als u nog geen Azure-account hebt, maakt u er gratis een.

  • Azure DevOps - of GitHub-omgeving die is geïmplementeerd voor Microsoft Defender, wordt automatisch gedeeld en geïnstalleerd in alle verbonden Azure DevOps-organisaties. Hiermee worden taken automatisch in alle Azure Pipelines ingevoegd om gegevens voor containertoewijzing te verzamelen.

  • Voor Azure DevOps is de MSDO-extensie (Microsoft Security DevOps) geïnstalleerd in de Azure DevOps-organisatie.

  • Voor GitHub is de Microsoft Security DevOps-actie (MSDO) geconfigureerd in uw GitHub-opslagplaatsen. Daarnaast moet de GitHub-werkstroom machtigingen voor id-token: schrijven hebben voor federatie met Defender voor Cloud. Zie deze YAML voor een voorbeeld.

  • Defender CSPM ingeschakeld.

  • De containerinstallatiekopieën moeten worden gebouwd met behulp van Docker en de Docker-client moet tijdens de build toegang hebben tot de Docker-server.

Uw containerinstallatiekopieën van Azure DevOps-pijplijnen toewijzen aan het containerregister

Nadat u een containerinstallatiekopieën hebt gemaakt in een Azure DevOps CI/CD-pijplijn en deze naar een register hebt gepusht, raadpleegt u de toewijzing met behulp van Cloud Security Explorer:

  1. Meld u aan bij het Azure-portaal.

  2. Ga naar Microsoft Defender voor Cloud> Cloud Security Explorer. Het kan maximaal 4 uur duren voordat de toewijzing van de containerinstallatiekopieën wordt weergegeven in Cloud Security Explorer.

  3. Als u de basistoewijzing wilt zien, selecteert u Containerinstallatiekopieën+>>gepusht door codeopslagplaatsen.

    Schermopname die laat zien hoe u basistoewijzing van containers kunt vinden.

  4. (Optioneel) Selecteer + op containerinstallatiekopieën om andere filters toe te voegen aan uw query, zoals Beveiligingsproblemen om alleen containerinstallatiekopieën met CVE's te filteren.

  5. Nadat u uw query hebt uitgevoerd, ziet u de toewijzing tussen het containerregister en de Azure DevOps-pijplijn. Selecteer ... naast de rand voor meer informatie over waar de Azure DevOps-pijplijn is uitgevoerd.

    Schermopname van een geavanceerde query voor containertoewijzingsresultaten.

Hier volgt een voorbeeld van een geavanceerde query die gebruikmaakt van toewijzing van containerinstallatiekopieën. Vanaf een Kubernetes-workload die beschikbaar is voor internet, kunt u alle containerinstallatiekopieën traceren met een hoge urgentie terug naar de Azure DevOps-pijplijn waar de containerinstallatiekopie is gebouwd, waardoor een beveiligingsbeoefenaar een herstelwerkstroom voor ontwikkelaars kan starten.

Schermopname van basisresultaten voor containertoewijzing.

Notitie

Als voor uw Azure DevOps-organisatie de Azure DevOps-connector is gemaakt vóór 15 november 2023, gaat u naar Extensies voor organisatie-instellingen>> gedeeld en installeert u de decorator voor containerinstallatiekopieëntoewijzing. Als u de extensie niet ziet die met uw organisatie wordt gedeeld, vult u het volgende formulier in.

Uw containerinstallatiekopieën van GitHub-werkstromen toewijzen aan het containerregister

  1. Zorg ervoor dat u een GitHub-connector hebt geïmplementeerd voor Defender voor Cloud.

  2. Voer de volgende MSDO-werkstroom uit:

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

Nadat u een containerinstallatiekopieën hebt gemaakt in een GitHub-werkstroom en deze naar een register hebt gepusht, raadpleegt u de toewijzing met behulp van Cloud Security Explorer:

  1. Meld u aan bij het Azure-portaal.

  2. Ga naar Microsoft Defender voor Cloud> Cloud Security Explorer. Het kan maximaal 4 uur duren voordat de toewijzing van de containerinstallatiekopieën wordt weergegeven in Cloud Security Explorer.

  3. Als u de basistoewijzing wilt zien, selecteert u Containerinstallatiekopieën+>>gepusht door codeopslagplaatsen.

    Schermopname van basiscontainertoewijzing.

  4. (Optioneel) Selecteer + op containerinstallatiekopieën om andere filters toe te voegen aan uw query, zoals Beveiligingsproblemen om alleen containerinstallatiekopieën met CVE's te filteren.

  5. Nadat u uw query hebt uitgevoerd, ziet u de toewijzing tussen het containerregister en de GitHub-werkstroom. Selecteer ... naast de rand voor meer informatie over waar de GitHub-werkstroom is uitgevoerd.

Hier volgt een voorbeeld van een geavanceerde query die gebruikmaakt van toewijzing van containerinstallatiekopieën. Vanaf een Kubernetes-workload die beschikbaar is voor internet, kunt u alle containerinstallatiekopieën traceren met een hoge urgentie terug naar de GitHub-opslagplaats waar de containerinstallatiekopie is gebouwd, waardoor een beveiligingsbeoefenaar een werkstroom voor ontwikkelaarsherstel kan starten.

Schermopname van basisresultaten voor containertoewijzing.

Volgende stappen