Zuordnen von Containerimages aus dem Code zur Cloud
Artikel
Wenn ein Sicherheitsrisiko in einem Containerimage identifiziert wird, das in einer Container-Registry gespeichert ist oder in einem Kubernetes-Cluster läuft, kann es für einen Sicherheitsexperten schwierig sein, die CI/CD-Pipeline zurückzuverfolgen, die das Containerimage zuerst erstellt hat, und eine*n Entwickler*in zu identifizieren, die/der für die Behebung verantwortlich ist. Mit den DevOps-Sicherheitsfunktionen in Microsoft Defender Cloud Security Posture Management (CSPM) können Sie Ihre Cloud-nativen Anwendungen vom Code bis zur Cloud zuordnen, um Entwickler-Workflows zur Behebung von Schwachstellen in Ihren Containerimages einfach zu starten und die Zeit bis zur Behebung zu verkürzen.
Stellen Sie sicher, dass die Microsoft Defender for DevOps-Erweiterung in allen verbundenen Azure DevOps-Organisationen freigegeben und installiert ist. Bei neu integrierten Connectors erfolgt dies automatisch. Dadurch werden Aufgaben automatisch in alle Azure Pipelines eingefügt, um Daten für die Containerzuordnung zu sammeln.
Muss YAML-Pipelines verwenden, da klassische Pipelines nicht mehr unterstützt werden.
Der GitHub-Workflow muss über die Berechtigungen „id-token: write“ für den Partnerverbund mit Defender for Cloud verfügen. Ein Beispiel finden Sie in dieser YAML.
Die Containerimages müssen mit Docker erstellt werden, und der Docker-Client muss während des Builds auf den Docker-Server zugreifen können.
Zuordnen Ihres Containerimages aus Azure DevOps-Pipelines zur Containerregistrierung
Nachdem Sie ein Containerimage in einer Azure DevOps CI/CD-Pipeline erstellt und in eine Registrierung übertragen haben, sehen Sie sich die Zuordnung mit dem Cloud Security Explorer an:
Gehen Sie zu Microsoft Defender for Cloud>Cloudsicherheits-Explorer. Es kann maximal 4 Stunden dauern, bis die Containerimagezuordnung im Cloud Security Explorer angezeigt wird.
Um die grundlegende Zuordnung anzuzeigen, wählen Sie Containerimages+>>Von Coderepositorys gepusht aus.
(Optional) Wählen Sie + nach Containerimages aus, um Ihrer Abfrage weitere Filter hinzuzufügen, z. B. Hat Sicherheitsrisiken, um nur Containerimages mit CVEs zu filtern.
Nachdem Sie Ihre Abfrage ausgeführt haben, wird die Zuordnung zwischen der Containerregistrierung und der Azure DevOps-Pipeline angezeigt. Klicken Sie am Rand auf ..., um weitere Details darüber anzuzeigen, wo die Azure DevOps-Pipeline ausgeführt wurde.
Nachfolgend finden Sie ein Beispiel für eine erweiterte Abfrage, die die Containerimagezuordnung verwendet. Ausgehend von einer Kubernetes-Workload, die dem Internet ausgesetzt ist, können Sie alle Containerimages mit schwerwiegenden CVEs bis zur Azure DevOps-Pipeline zurückverfolgen, in der das Containerimage erstellt wurde, so dass ein Sicherheitsexperte in der Lage ist, einen Abhilfeworkflow für Entwickler*inen zu starten.
Hinweis
Wenn Ihre Azure DevOps-Organisation der Azure DevOps-Connector vor dem 15. November 2023 installiert hatte, navigieren Sie zu Organisationseinstellungen>Erweiterungen > Freigegebene, und installieren Sie den Zuordnungsdekoror für das Containerimage. Wenn die für Ihre Organisation freigegebene Erweiterung nicht angezeigt wird, füllen Sie das folgende Formular aus.
Zuordnen Ihres Containerimages aus GitHub-Workflows zur Containerregistrierung
Stellen Sie sicher, dass Sie einen GitHub-Connector in Defender for Cloud integriert haben.
Führen Sie den folgenden MSDO-Workflow aus:
yml
name:BuildandMapContainerImageon:[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:AzureContainerRegistryLogin uses:Azure/docker-login@v1 with: login-server:<containerRegistryLoginServer> username:${{secrets.ACR_USERNAME}} password:${{secrets.ACR_PASSWORD}}# Build and Push Image - name:BuildandPushtheDockerimage uses:docker/build-push-action@v2 with: push:true tags:${{secrets.IMAGE_TAG}} file:Dockerfile# Run Mapping Tool in MSDO - name:RunMicrosoftSecurityDevOpsAnalysis uses:microsoft/security-devops-action@latest id:msdo
Nachdem Sie ein Containerimage in einer GitHub-Worklflow erstellt und in eine Registrierung übertragen haben, sehen Sie sich die Zuordnung mit dem Cloud Security Explorer an:
Gehen Sie zu Microsoft Defender for Cloud>Cloudsicherheits-Explorer. Es kann maximal 4 Stunden dauern, bis die Containerimagezuordnung im Cloud Security Explorer angezeigt wird.
Um die grundlegende Zuordnung anzuzeigen, wählen Sie Containerimages+>>Von Coderepositorys gepusht aus.
(Optional) Wählen Sie + nach Containerimages aus, um Ihrer Abfrage weitere Filter hinzuzufügen, z. B. Hat Sicherheitsrisiken, um nur Containerimages mit CVEs zu filtern.
Nachdem Sie Ihre Abfrage ausgeführt haben, wird die Zuordnung zwischen der Containerregistrierung und der GitHub-Workflow angezeigt. Wählen Sie am Rand ... aus, um weitere Details darüber anzuzeigen, wo der GitHub-Workflow ausgeführt wurde.
Nachfolgend finden Sie ein Beispiel für eine erweiterte Abfrage, die die Containerimagezuordnung verwendet. Ausgehend von einer Kubernetes-Workload, die dem Internet ausgesetzt ist, können Sie alle Containerimages mit schwerwiegenden CVEs bis zur GitHub-Workflow zurückverfolgen, in der das Containerimage erstellt wurde, so dass ein Sicherheitsexperte in der Lage ist, einen Abhilfeworkflow für Entwickler*inen zu starten.
Diese Zertifizierung bewertet Ihre Fähigkeit, die folgenden technischen Aufgaben zu bewältigen: Entwerfen und Implementieren von Prozessen und Kommunikationen, Entwerfen und Implementieren einer Quellcodeverwaltungsstrategie, Entwerfen und Implementieren von Build- und Release-Pipelines, Entwickeln eines Sicherheits- und Complianceplans und Implementieren einer Instrumentierungsstrategie.
Erfahren Sie, wie die Codeüberprüfung ohne Agent in Microsoft Defender for Cloud Sicherheitsrisiken in Code- und IaC-Konfigurationen in Azure DevOps identifiziert.
In dieser Episode von Defender for Cloud in the Field schließt Sukhandeep Singh Yuri Diogenes an, um über Defender for DevOps zu sprechen. Sukhandeep erläutert, wie Defender for DevOps eine zentrale Konsole verwendet, um Sicherheitsteams DevOps-Einblicke in Umgebungen mit mehreren Pipelines wie GitHub und Azure DevOps zur Verfügung zu stellen. Sukhandeep behandelt auch die von Defender for DevOps erstellten Sicherheitsempfehlungen und veranschaulicht, wie sie einen GitHub-Connector mithilfe des Defender for
In diesem Artikel werden alle Microsoft Defender for Cloud-Sicherheitsempfehlungen aufgeführt, die Ihnen dabei helfen, Ihre DevOps-Ressourcen zu härten und zu schützen.