Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Leitfaden führt Sie durch Setupschritte und andere Aktionen, mit denen Sie GitHub Advanced Security (GHAS) und Microsoft Defender for Cloud integrieren können. Diese Integration hilft Ihnen, die cloudeigene Anwendungssicherheit von Microsoft zu maximieren.
Wenn Sie diesem Leitfaden folgen, führen Sie folgende Schritte aus:
- Richten Sie Ihr GitHub-Repository für Defender for Cloud-Unterstützung ein.
- Erstellen Sie einen Laufzeitrisikofaktor.
- Testen Sie echte Anwendungsfälle in Defender für Cloud.
- Verknüpfen Sie Code mit Cloudressourcen.
- Starten Sie eine Sicherheitskampagne auf GitHub. Diese Kampagne verwendet Laufzeitkontext, um GHAS-Sicherheitswarnungen basierend auf dem Laufzeitkontext zu priorisieren.
- Erstellen Sie GitHub-Issues von Defender for Cloud, um die Behebung zu starten.
- Schließen Sie die Schleife zwischen Engineering- und Sicherheitsteams.
Voraussetzungen
| Aspekt | Einzelheiten |
|---|---|
| Umweltanforderungen | - GitHub-Konto mit einem Connector, der in Defender für Cloud erstellt wurde - GHAS-Lizenz – Defender Cloud Security Posture Management (CSPM) ist auf dem Abonnement aktiviert - Microsoft Security Copilot (optional für automatisierte Korrekturen) |
| Rollen und Berechtigungen | – Berechtigungen für Sicherheitsadministratoren – Sicherheitsleser im Azure-Abonnement (um Ergebnisse in Defender für die Cloud anzuzeigen) - GitHub-Organisationsbesitzer |
| Cloudumgebungen | – Nur in kommerziellen Clouds verfügbar (nicht in Azure Government, Azure, betrieben von 21Vianet oder anderen souveränen Clouds) |
Vorbereiten der Umgebung
Schritt 1: Einrichten des GitHub-Repositorys und Ausführen des Workflows
Verwenden Sie zum Testen der Integration Ihre eigenen Repositorys oder ein Beispiel-GitHub-Repository, das bereits über alle Inhalte verfügt, um ein anfälliges Containerimage zu erstellen. Stellen Sie vor dem Einrichten eines Repositorys folgendes sicher:
Sie definieren einen Connector für die GitHub-Organisation, die Sie im Defender für Cloud-Portal verwenden möchten. Führen Sie die Schritte in "Verbinden Ihrer GitHub-Umgebung mit Microsoft Defender für Cloud" aus.
Sie konfigurieren die agentlose Codeüberprüfung für Ihren GitHub-Connector. Führen Sie die Schritte unter Konfigurieren von agentlosen Codeüberprüfungen (Vorschau) aus.
Das Repository, das Sie für die Integration verwenden, ist privat.
Wenn Sie ein Beispiel-Repository verwenden möchten, klonen Sie das folgende Repository für Ihre GitHub-Organisation: build25-woodgrove/mdc-customer-playbook. Dieses Repository richtet sich an Kunden, um die Integration von Defender for Cloud und GHAS zu testen. GHAS ist aktiviert, und es ist in einen Azure-Mandanten integriert, bei dem Defender CSPM aktiviert ist.
Führen Sie im Repository die folgenden Schritte aus:
Wechseln Sie zu Einstellungen.
Wählen Sie im linken Bereich " Geheime Schlüssel" und "Variablenaktionen>" aus. Wählen Sie dann "Neuer Repositoryschlüssel" aus.
Fügen Sie die folgenden geheimen Schlüssel auf Repository- oder Organisationsebene hinzu:
Variable Description ACR_ENDPOINTDer Anmeldeserver der Containerregistrierung ACR_USERNAMEDer Benutzername für die Containerregistrierung ACR_PASSWORDDas Kennwort für die Containerregistrierung Hinweis
Die Namen können frei ausgewählt werden und müssen nicht einem bestimmten Muster folgen.
Sie finden diese Informationen im Azure-Portal, indem Sie die folgenden Schritte ausführen:
Wählen Sie in Ihrem Repository "Aktionen" aus.
Wählen Sie den Workflow "Erstellen und an ACR übertragen " und dann " Workflow ausführen" aus.
Überprüfen Sie, ob das Image in Ihrer Container-Registry bereitgestellt wurde.
Für das Beispielrepository sollte sich das Image in einer Registrierung mit dem Namen mdc-mock-0001 mit dem Tag mdc-ghas-integration befinden.
Stellen Sie das gleiche Image als ausgeführten Container auf Ihrem Cluster bereit. Eine Möglichkeit, diesen Schritt abzuschließen, besteht darin, eine Verbindung mit dem Cluster herzustellen und den
kubectl runBefehl zu verwenden. Hier ist ein Beispiel für Azure Kubernetes Service (AKS):Festlegen des Clusterabonnements:
az account set --subscription $subscriptionIDLegen Sie die Anmeldeinformationen für den Cluster fest:
az aks get-credentials --resource-group $resourceGroupName --name $kubernetesClusterName --overwrite-existingStellen Sie das Image bereit:
kubectl run $containerName --image=$registryName.azurecr.io/mdc-mock-0001:mdc-ghas-integration
Schritt 2: Erstellen des ersten Risikofaktors (geschäftskritische Regel)
Einer der Risikofaktoren, die Defender für Cloud für diese Integration erkennt, ist business criticality. Organisationen können Regeln erstellen, um Ressourcen als unternehmenskritisch zu bezeichnen.
Wechseln Sie im Defender for Cloud-Portal zu " Umgebungseinstellungen>Ressourcenkritischität".
Wählen Sie im rechten Bereich den Link aus, um Microsoft Defender zu öffnen.
Wählen Sie " Neue Klassifizierung erstellen" aus.
Geben Sie einen Namen und eine Beschreibung ein.
Wählen Sie im Abfrage-Generator die Cloudressource aus.
Schreiben Sie eine Abfrage, um den Ressourcennamen auf den Namen des Containers festzulegen, den Sie für die Überprüfung im Cluster bereitgestellt haben. Wählen Sie dann Weiter aus.
Wenn Microsoft Defender Ihre Ressource bereits erkannt hat, wird auf der Seite "Vorschauobjekte " der Name des Containers mit einem Objekttyp von K8s-Container oder K8s-Pod angezeigt.
Auch wenn der Name noch nicht sichtbar ist, fahren Sie mit dem nächsten Schritt fort. Microsoft Defender wendet die Kritischitätsbezeichnung auf den Container an, nachdem der Container erkannt wurde. Dieser Vorgang kann bis zu 24 Stunden dauern.
Wählen Sie eine Kritischitätsstufe aus, und überprüfen Sie dann Ihre Klassifizierungsregel, und übermitteln Sie sie.
Schritt 3: Überprüfen, ob Ihre Umgebung bereit ist
Hinweis
Es kann bis zu 24 Stunden dauern, nachdem die vorherigen Schritte angewendet wurden, bis die folgenden Ergebnisse angezeigt werden.
Testen Sie, dass GitHub agentloses Scannen das Repository erfasst.
Wechseln Sie zum Cloud Security Explorer, und führen Sie die Abfrage aus.
Überprüfen Sie, ob Defender für Cloud (in Azure Container Registry) das Containerimage gescannt und zum Erstellen eines Containers verwendet hat. Fügen Sie in Ihrer Abfrage die Bedingungen für Ihre spezifische Bereitstellung hinzu.
Überprüfen Sie, ob der Container ausgeführt wird und dass Defender für Cloud den AKS-Cluster gescannt hat.
Überprüfen Sie, ob die Risikofaktoren auf der Defender für Cloud-Seite ordnungsgemäß konfiguriert sind. Suchen Sie in der Defender for Cloud-Bestandsübersicht nach Ihrem Containernamen, und er sollte als kritisch markiert sein.
Schritt 4: Erstellen einer GitHub-Kampagne
Da der Workflow ein Image bereitstellt, das einen ausgeführten Container mit einem der Risikofaktoren (geschäftskritisch) erstellt, können Entwickler Risikofaktoren in GitHub sehen.
Hinweis
Nachdem Sie Ihre Ressource als kritisch klassifiziert haben, kann es bis zu 12 Stunden dauern, bis Defender for Cloud die Daten an GitHub sendet. Erfahren Sie mehr.
Wechseln Sie in GitHub zur GitHub-Organisation, die Sie für die Setuptests verwendet haben.
Wählen Sie Sicherheit>Kampagnen>Erstelle Kampagne>aus Code-Scan-Filtern.
Erstellen Sie die folgende Kampagne. Diese Kampagne zeigt offene Warnungen mit mittlerem Schweregrad an, bei denen das aus dem Repository bereitgestellte Image an eine kritische Ressource gebunden ist. Ihr Test-Repository sollte mit dieser Kampagne erkannt werden.
Wählen Sie Speichern>Als Kampagne veröffentlichen aus.
Geben Sie die erforderlichen Informationen ein, und veröffentlichen Sie dann die Kampagne.
Schritt 5: Bewerten von Code-zu-Cloud-Empfehlungen
Verwenden Sie Code-zu-Cloud-Empfehlungen und Sicherheitswarnungen, um den Status von Sicherheitsproblemen zu verstehen. Anschließend können Sie dem relevanten Entwicklungsteam die Empfehlung zur Behebung zuweisen, indem Sie die Verbindung zwischen Dependabot-Sicherheitswarnungen und übereinstimmenden Schwachstellen (CVE)-IDs in Defender for Cloud herstellen.
So zeigen Sie die Code-zu-Cloud-Empfehlungen an:
Wechseln Sie im Defender für Cloud-Portal zur Registerkarte "Empfehlungen ".
Suchen Sie nach dem Namen des von Ihnen erstellten Containers. Öffnen Sie dann eine der Empfehlungen, die das Wort "Aktualisieren" enthalten.
Wenn Sie das Beispiel-Repository verwendet haben, suchen Sie nach Empfehlung für die Aktualisierung der Klammererweiterung.
Wechseln Sie zur Registerkarte "Korrektureinblicke ", und zeigen Sie das Code-zu-Cloud-Diagramm an. Das Diagramm ordnet Ihren laufenden Container dem Containerimage im Code-Repository und dem Ursprungscode-Repository auf GitHub zu.
Anzeigen von Sicherheitswarnungen
Wählen Sie die Registerkarte "Zugeordnete CVEs " aus. Beachten Sie, dass einige CVE-IDs über einen Link " Auf GitHub anzeigen" in der Spalte " Verwandte GitHub-Warnungen " verfügen.
Wählen Sie den Link aus, um die relevante GHAS-Sicherheitswarnung zu öffnen.
Erstellen eines GitHub-Problems
Um die Schleife zwischen Sicherheits- und Entwicklungsteams zu schließen, können Sie ein GitHub-Problem erstellen, das die Sicherheitsprobleme priorisiert, auf die sich das Entwicklungsteam konzentrieren sollte. Diese Priorisierung kann die Einbeziehung von Ergebnissen umfassen, die GHAS nicht erkannt hat, die jedoch von Defender für Cloud für CVE-IDs identifiziert wurden, welche nicht Teil direkter Abhängigkeiten sind. Zu diesen Ergebnissen können Sicherheitsrisiken im Basisimage, Betriebssystem oder Software wie NGINX gehören.
Das GitHub-Problem wird automatisch mit allen CVE-IDs generiert, die im Bereich der Empfehlung zu finden sind. Die Empfehlung umfasst sowohl Übereinstimmungen mit als auch ohne Dependabot-Warnungen sowie andere Laufzeitkontexte im Ursprungsrepository.
Wenn Sie das Problem zuweisen, wird der Problemstatus im Defender für Cloud-Portal aktualisiert.
Agentische Korrekturen erstellen
Auf der GitHub-Seite können Sie das Problem mit Hilfe des GitHub-Codierungs-Agents beheben, wenn Sie über eine GitHub Copilot-Lizenz verfügen:
- Weisen Sie dem Problem einen GitHub-Codierungs-Agent zu.
- Überprüfen Sie die generierte Korrektur.
- Wenn die Lösung angemessen erscheint, wenden Sie sie an.
- Beachten Sie, dass Defender für Cloud den Problemstatus auf "Geschlossen" aktualisiert.