Identifikace ohrožených imagí kontejnerů v pracovních postupech CI/CD

Tato stránka vysvětluje, jak zkontrolovat image kontejnerů založené na Azure Container Registry s integrovaným skenerem ohrožení zabezpečení, když jsou vytvořené jako součást vašich pracovních postupů GitHubu.

Pokud chcete nastavit skener, budete muset povolit Microsoft Defender for Containers a integraci CI/CD. Když pracovní postupy CI/CD nasdílí image do registrů, můžete zobrazit výsledky kontroly registru a souhrn výsledků kontroly CI/CD.

Zjištění kontrol CI/CD jsou obohacením stávajících zjištění kontroly registru qualys. Nástroj Defender for Cloud CI/CD scan využívá Aqua Trivy.

Získáte informace o sledovatelnosti, jako je pracovní postup GitHubu a adresa URL spuštění GitHubu, které vám pomůžou identifikovat pracovní postupy, které mají za následek ohrožené obrázky.

Tip

Ohrožení zabezpečení identifikovaná při kontrole vašeho registru se můžou lišit od zjištění kontrol CI/CD. Jedním z důvodů těchto rozdílů je, že kontrola registru je nepřetržitá, zatímco kontrola CI/CD probíhá bezprostředně před tím, než pracovní postup nasdílí image do registru.

Dostupnost

Aspekt Podrobnosti
Stav vydání: Tato integrace CI/CD je ve verzi Preview.
Doporučujeme s ním experimentovat pouze v neprodukčních pracovních postupech.
Doplňkové podmínky Azure Preview zahrnují další právní podmínky, které se vztahují na funkce Azure, které jsou v beta verzi, Preview nebo jinak ještě nejsou vydány do obecné dostupnosti.
Ceny: Microsoft Defender pro registry kontejnerů se fakturuje, jak je znázorněno na stránce s cenami.
Mraky: Komerční cloudy
National (Azure Government, Azure China 21Vianet)

Požadavky

Pokud chcete naskenovat image tak, jak se do vašich registrů nasdílí pracovní postupy CI/CD, musíte mít v předplatném povolenou službu Microsoft Defender pro registry kontejnerů .

Nastavení kontroly ohrožení zabezpečení pracovních postupů CI/CD

Povolení kontrol ohrožení zabezpečení obrázků v pracovních postupech GitHubu:

Krok 1. Povolení integrace CI/CD v Defenderu pro cloud

Krok 2. Přidání potřebných řádků do pracovního postupu GitHubu

Krok 1. Povolení integrace CI/CD v Defenderu pro cloud

  1. V nabídce Defenderu pro cloud otevřete nastavení prostředí.

  2. Vyberte příslušné předplatné.

  3. Na bočním panelu stránky nastavení pro dané předplatné vyberte Integrace.

  4. V zobrazeném podokně vyberte účet Application Insights a nasdílejte výsledky kontroly CI/CD z pracovního postupu.

  5. Zkopírujte ověřovací token a připojovací řetězec do pracovního postupu GitHubu.

    Povolte integraci CI/CD pro kontrolu ohrožení zabezpečení imagí kontejnerů v pracovních postupech GitHubu.

    Důležité

    Ověřovací token a připojovací řetězec slouží ke korelaci ingestované telemetrie zabezpečení s prostředky v předplatném. Pokud pro tyto parametry použijete neplatné hodnoty, povede to k vyřazení telemetrie.

Krok 2. Přidání potřebných řádků do pracovního postupu GitHubu a provedení kontroly

  1. V pracovním postupu GitHubu povolte kontrolu CI/CD následujícím způsobem:

    Tip

    Doporučujeme vytvořit ve vašem úložišti dva tajné kódy, abyste mohli odkazovat na váš soubor YAML, jak je znázorněno níže. Tajné kódy se dají pojmenovat podle vlastních konvencí pojmenování. V tomto příkladu se tajné kódy odkazují na AZ_APPINSIGHTS_CONNECTION_STRING a AZ_SUBSCRIPTION_TOKEN.

    Důležité

    Před publikováním výsledků musí dojít k odeslání do registru.

    - name: Build and Tag Image
      run: |
        echo "github.sha=$GITHUB_SHA"
        docker build -t githubdemo1.azurecr.io/k8sdemo:${{ github.sha }} .
    
    - uses: Azure/container-scan@v0 
      name: Scan image for vulnerabilities
      id: container-scan
      continue-on-error: true
      with:
        image-name: githubdemo1.azurecr.io/k8sdemo:${{ github.sha }} 
    
    - name: Push Docker image 
      run: |
        docker push githubdemo1.azurecr.io/k8sdemo:${{ github.sha }}
    
    - name: Post logs to appinsights
      uses: Azure/publish-security-assessments@v0
      with: 
        scan-results-path: ${{ steps.container-scan.outputs.scan-report-path }}
        connection-string: ${{ secrets.AZ_APPINSIGHTS_CONNECTION_STRING }}
        subscription-token: ${{ secrets.AZ_SUBSCRIPTION_TOKEN }} 
    
  2. Spusťte pracovní postup, který nasdílí image do vybraného registru kontejneru. Po vložení image do registru se spustí kontrola registru a výsledky kontroly CI/CD můžete zobrazit společně s výsledky kontroly registru v programu Microsoft Defender for Cloud. Spuštěním výše uvedeného souboru YAML se ve vašem systému sestavení nainstaluje instance trivy Aqua Security. Trivy je licencovaný v rámci licence Apache 2.0 a má závislosti na datových kanálech, z nichž mnohé obsahují vlastní podmínky použití.

  3. Zobrazte výsledky kontroly CI/CD.

Zobrazení výsledků kontroly CI/CD

  1. Pokud chcete zobrazit zjištění, otevřete stránku Doporučení . Pokud byly nalezeny problémy, zobrazí se doporučení, že image registru kontejnerů by měly mít vyřešené zjištění ohrožení zabezpečení (využívající Qualys).

    Doporučení k nápravě problémů .

  2. Vyberte doporučení.

    Otevře se stránka s podrobnostmi o doporučení s dalšími informacemi. Tyto informace zahrnují seznam registrů s ohroženými imagemi ("Ovlivněné prostředky") a kroky nápravy.

  3. Otevřete seznam ovlivněných prostředků a vyberte registr, který není v pořádku, a zobrazí se v něm úložiště s ohroženými imagemi.

    Vyberte registr, který není v pořádku.

    Otevře se stránka s podrobnostmi registru se seznamem ovlivněných úložišť.

  4. Vyberte konkrétní úložiště, aby se v něm zobrazila úložiště, která mají ohrožené image.

    Vyberte úložiště, které není v pořádku.

    Otevře se stránka podrobností úložiště. Obsahuje seznam ohrožených obrázků společně s posouzením závažnosti zjištění.

  5. Výběrem konkrétního obrázku zobrazíte ohrožení zabezpečení.

    Vyberte obrázek, který není v pořádku.

    Otevře se seznam zjištění vybraného obrázku.

    Výsledky kontroly obrázků

  6. Další informace o tom, který pracovní postup GitHubu odesílá tyto zranitelné obrázky, vyberte informační bublinu:

    Zjištění CI/CD o konkrétních větvích a potvrzeních GitHubu

Další kroky

Přečtěte si další informace o pokročilých plánech ochrany Microsoft Defenderu pro cloud.