Udostępnij za pośrednictwem


Mapuj obrazy kontenerów z kodu na chmurę

Gdy luka w zabezpieczeniach jest identyfikowana w obrazie kontenera przechowywanym w rejestrze kontenerów lub uruchomionym w klastrze Kubernetes, może to być trudne dla praktyków zabezpieczeń śledzenia z powrotem do potoku ciągłej integracji/ciągłego wdrażania, który po raz pierwszy skompilował obraz kontenera i zidentyfikował właściciela korygowania deweloperów. Dzięki funkcjom zabezpieczeń metodyki DevOps w Zarządzanie Stanem Zabezpieczeń Chmury w usłudze Microsoft Defender (CSPM) możesz mapować aplikacje natywne dla chmury z kodu na chmurę, aby łatwo rozpocząć przepływy pracy korygowania deweloperów i skrócić czas korygowania luk w zabezpieczeniach obrazów kontenerów.

Wymagania wstępne

  • Konto platformy Azure z dołączonym Defender dla Chmury. Jeśli nie masz jeszcze konta platformy Azure, utwórz je bezpłatnie.

  • Środowisko usługi Azure DevOps lub GitHub dołączone do Microsoft Defender dla Chmury.

    • Po dołączeniu środowiska usługi Azure DevOps do Microsoft Defender dla Chmury mapowanie kontenerów usługi Microsoft Defender for DevOps zostanie automatycznie udostępnione i zainstalowane we wszystkich połączonych organizacjach usługi Azure DevOps. Spowoduje to automatyczne wstrzyknięcie zadań do wszystkich usług Azure Pipelines w celu zbierania danych na potrzeby mapowania kontenerów.
  • W przypadku usługi Azure DevOps rozszerzenie Microsoft Security DevOps (MSDO) zainstalowane w organizacji usługi Azure DevOps.

  • W przypadku usługi GitHub akcja Microsoft Security DevOps (MSDO) skonfigurowana w repozytoriach GitHub. Ponadto przepływ pracy usługi GitHub musi mieć uprawnienia "id-token: write" dla federacji z Defender dla Chmury. Aby zapoznać się z przykładem, zobacz ten kod YAML.

  • CSPM w usłudze Defender włączone.

  • Obrazy kontenerów muszą być kompilowane przy użyciu platformy Docker , a klient platformy Docker musi mieć dostęp do serwera platformy Docker podczas kompilacji.

Mapuj obraz kontenera z potoków usługi Azure DevOps na rejestr kontenerów

Po utworzeniu obrazu kontenera w potoku ciągłej integracji/ciągłego wdrażania usługi Azure DevOps i wypchnięciu go do rejestru zobacz mapowanie przy użyciu Eksploratora zabezpieczeń w chmurze:

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do pozycji Microsoft Defender dla Chmury> Cloud Security Explorer. Wyświetlenie mapowania obrazu kontenera w Eksploratorze zabezpieczeń w chmurze może potrwać maksymalnie 4 godziny.

  3. Aby wyświetlić podstawowe mapowanie, wybierz pozycję Obrazy+>>kontenerów wypychane według repozytoriów kodu.

    Screenshot that shows how to find basic mapping of containers.

  4. (Opcjonalnie) Wybierz pozycję + według obrazów kontenerów, aby dodać inne filtry do zapytania, takie jak Ma luki w zabezpieczeniach w celu filtrowania tylko obrazów kontenerów za pomocą cvEs.

  5. Po uruchomieniu zapytania zobaczysz mapowanie między rejestrem kontenerów a potokiem usługi Azure DevOps. Wybierz pozycję ... obok krawędzi, aby wyświetlić dodatkowe szczegóły dotyczące uruchamiania potoku usługi Azure DevOps.

    Screenshot that shows an advanced query for container mapping results.

Poniżej przedstawiono przykład zaawansowanego zapytania, które korzysta z mapowania obrazów kontenera. Począwszy od obciążenia Platformy Kubernetes uwidocznionego w Internecie, można śledzić wszystkie obrazy kontenerów o wysokiej ważności CVEs z powrotem do potoku usługi Azure DevOps, w którym utworzono obraz kontenera, umożliwiając praktykom zabezpieczeń rozpoczęcie przepływu pracy korygowania deweloperów.

Screenshot that shows basic container mapping results.

Uwaga

Jeśli Twoja organizacja usługi Azure DevOps miała łącznik usługi Azure DevOps utworzony przed 15 listopada 2023 r., przejdź do obszaru Rozszerzenia > ustawień>organizacji Udostępnione i zainstaluj dekorator mapowania obrazów kontenera. Jeśli rozszerzenie udostępnione twojej organizacji nie jest widoczne, wypełnij następujący formularz.

Mapuj obraz kontenera z przepływów pracy usługi GitHub na rejestr kontenerów

  1. Dodaj narzędzie do mapowania obrazów kontenera do przepływu pracy 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
   - 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
      with:
        include-tools: container-mapping

Po utworzeniu obrazu kontenera w przepływie pracy usługi GitHub i wypchnięciu go do rejestru zobacz mapowanie przy użyciu Eksploratora zabezpieczeń w chmurze:

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do pozycji Microsoft Defender dla Chmury> Cloud Security Explorer. Wyświetlenie mapowania obrazu kontenera w Eksploratorze zabezpieczeń w chmurze może potrwać maksymalnie 4 godziny.

  3. Aby wyświetlić podstawowe mapowanie, wybierz pozycję Obrazy+>>kontenerów wypychane według repozytoriów kodu.

    Screenshot that shows basic container mapping.

  4. (Opcjonalnie) Wybierz pozycję + według obrazów kontenerów, aby dodać inne filtry do zapytania, takie jak Ma luki w zabezpieczeniach w celu filtrowania tylko obrazów kontenerów za pomocą cvEs.

  5. Po uruchomieniu zapytania zobaczysz mapowanie między rejestrem kontenerów a przepływem pracy usługi GitHub. Wybierz pozycję ... obok krawędzi, aby wyświetlić dodatkowe szczegóły dotyczące miejsca uruchomienia przepływu pracy usługi GitHub.

Poniżej przedstawiono przykład zaawansowanego zapytania, które korzysta z mapowania obrazów kontenera. Począwszy od obciążenia Kubernetes uwidocznionego w Internecie, można śledzić wszystkie obrazy kontenerów o wysokiej ważności CVEs z powrotem do repozytorium GitHub, w którym został skompilowany obraz kontenera, umożliwiając praktykom zabezpieczeń rozpoczęcie przepływu pracy korygowania deweloperów.

Screenshot that shows basic container mapping results.

Następne kroki