Mappa containerbilder från kod till körningstid

När en säkerhetsrisk identifieras i en containeravbildning, oavsett om den lagras i ett containerregister eller körs i ett Kubernetes-kluster, kan säkerhetsutövare ha svårt att spåra den tillbaka till CI/CD-pipelinen som ursprungligen skapade den. Utan den kontexten är det svårt att identifiera den utvecklare som ansvarar för att åtgärda problemet. Microsoft Defender Cloud Security Posture Management (CSPM) innehåller DevOps-säkerhetsfunktioner som gör att du kan mappa dina molnbaserade program från kod till molnet. Därför kan du enkelt starta arbetsflöden för utvecklarreparation och minska den tid det tar att åtgärda säkerhetsrisker i containeravbildningarna.

Kod till runtime-miljö – tekniska förutsättningar

Följande krav är nödvändiga för att etablera relationer mellan kod och körning.

Allmänna förutsättningar (alla metoder)

Följande krav gäller oavsett vilken mappningsmetod som används:

  • Defender CSPM (Cloud Security Posture Management) eller Defender for Containers måste vara aktiverat i din molnmiljö
    • En begränsad uppsättning mappningsfunktioner ingår i Defender för containrar.
  • Containeravbildningar måste skapas via en CI/CD-pipeline
    • Avbildningar som skapas och pushas manuellt stöds inte (i vissa fall kan manuellt byggda/pushade avbildningar fortfarande ha mappning).
  • Containeravbildningar måste kunna upptäckas av Defender for Cloud, antingen genom att:
    • Lagras i ett containerregister som stöds, eller
    • Körs i en Kubernetes-miljö som stöds

Alternativ 1: Ansluta din kodmiljö till Defender för molnet

När du ansluter kodmiljön till Defender for Cloud utlöses en uppsättning automatiserade verktyg automatiskt. De här verktygen påverkar inte dina befintliga DevOps-arbetsflöden och aktiverar kod-till-körning-mappning.

Kommentar

  • Stöds för närvarande för Azure DevOps och GitHub
  • Containeravbildningar som skapats och distribuerats före anslutningen kan ha begränsat stöd

Läs mer:

Alternativ 2: Docker-etiketter – baserad mappning

Docker-etikettsbaserad mappning förlitar sig på metadata som bäddas in direkt i containeravbildningen vid byggtillfället. Defender for Cloud extraherar dessa metadata från OCI/Docker-avbildningsmanifestet och använder dem för att korrelera avbildningen till källlagringsplatsen.

Läs mer:

Kommentar

  • Den här metoden kräver ingen DevOps-anslutning.
  • Mappning utförs för Defender CSPM- eller Defender for Containers-täckta Kubernetes-miljöer.

Alternativ 3: GitHub-attesteringsbaserad mappning

Attesteringsbaserad mappning använder kryptografiskt verifierbara härkomstmetadata som genereras under GitHub Actions-arbetsflöden. Dessa attesteringar länkar containerbilder till deras exakta källkodsförråd, commit och byggidentitet.

Läs mer:

Verifiera koden för körningsmappning (Azure-portalen)

När du har skapat en containeravbildning i en Azure DevOps CI/CD-pipeline och push-överfört den till ett register kan du läsa mappningen med hjälp av Cloud Security Explorer:

  1. Logga in på Azure-portalen.

  2. Gå till Microsoft Defender för molnet> Cloud Security Explorer. Det kan ta högst 4 timmar innan containeravbildningsmappningen visas i Cloud Security Explorer.

  3. Om du vill se grundläggande mappning väljer du Containerbilder>+>Sända av kodlager.

    Skärmbild som visar hur du hittar grundläggande mappning av containrar.

  4. (Optional) Välj + vid ContainerAvbildningar för att lägga till andra filter i din fråga, såsom Har sårbarheter för att endast filtrera containeravbildningar med CVE:er.

  5. När du har kört frågan visas mappningen mellan containerregistret och pipelinen. Välj ... bredvid kanten för att se mer information.

    Skärmbild som visar en avancerad fråga för resultat av containermappning.

Nästa steg