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.
Dieses Handbuch enthält Setupschritte und andere Aktionen, mit denen Sie GitHub Advanced Security (GHAS) und Microsoft Defender for Cloud integrieren und dann das Ende der Integration überprüfen können. Die Integration trägt dazu bei, die cloudeigene Anwendungssicherheit Microsoft zu maximieren, indem Laufzeitrisiken und Kontext mit dem ursprünglichen Code korreliert werden, um eine schnellere KI-basierte Behebung zu ermöglichen.
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 Laufzeitressourcen.
- Starten Sie eine Sicherheitskampagne auf GitHub. Diese Kampagne verwendet Laufzeitkontext, um GHAS-Sicherheitswarnungen 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
| Aspect | Details |
|---|---|
| Umweltanforderungen | - GitHub-Konto mit einem Connector, der in Defender für Cloud erstellt wurde - GitHub Advanced Security(GHAS)-Lizenz für verbundene Repositorys - Defender Cloud Security Posture Management (DCSPM)-Plan für das Abonnement aktiviert - Microsoft Security Copilot (optional für KI-gestützte automatisierte Wartung) |
| Rollen und Berechtigungen | – Berechtigungen für Sicherheitsadministratoren - Sicherheitsadministrator im Azure-Abonnement, um die Ergebnisse in Defender for Cloud anzuzeigen - GitHub-Organisationsinhaber für die Verbindung von Repositories und die Konfiguration von Sicherheitskampagnen |
| Cloudumgebungen | – Nur in kommerziellen Clouds verfügbar (nicht in Azure Government, Azure, betrieben von 21Vianet oder anderen souveränen Clouds) |
Vorbereiten der Umgebung
Führen Sie die folgenden Schritte durch, um Ihr GitHub-Repository und die Defender for Cloud-Einstellungen zu konfigurieren, bevor Sie die Integration validieren.
Schritt 1: Einrichten des GitHub-Repositorys und Ausführen des Workflows
Um die Integration zu testen, nutze deine eigenen Repositories oder ein Beispiel für ein Sandbox-Projekt. Das Sandbox-Projekt bietet ein Test-GitHub-Repository mit allem, was du brauchst, um ein verwundbares Container-Image zu erstellen.
Melden Sie sich im Azure-Portal an.
Wechseln Sie zu Microsoft Defender for Cloud>DevOps Security.
Geben Sie den Namen Ihres Code-Repos in die Suchleiste ein, zum Beispiel zava-webshop.
Überprüfen Sie, ob sie zu der Organisation gehört, die Sie überwachen, z. B. die Zava-Corporation-Organisation .
Überprüfen Sie, ob es Ergebnisse für das Repository gibt.
Stellen Sie sicher , dass der Status "Erweiterter Sicherheitsstatusaktiviert" ist. Diese Einstellung zeigt an, dass GitHub Advanced Security im überwachten Repository aktiviert ist.
Wenn dein Repository nicht gefunden wird, sieh dir den GitHub Connector Onboarding Quickstart für Fehlersuche und Einrichtungsanleitung an.
Stellen Sie sicher, dass die agentlose Überprüfung für Ihren GitHub Connector aktiviert ist.
Schritt 2: Überprüfen, ob Ihre Umgebung bereit ist
Diese Umgebungsvalidierung bestätigt, dass dein Repository und deine Cloud-Ressourcen korrekt eingerichtet sind. Es prüft, ob Defender Code-to-Runtime-Empfehlungen zeigen und nützliche Ergebnisse liefern kann. Während des Environment-Validierungsschritts überprüft Defender, dass:
- Microsoft Defender for Cloud überwacht kontinuierlich Quellcoderepositorys auf Sicherheitsrisiken.
- Build-Artefakte, wie z. B. Container-Images, werden vor der Bereitstellung in Container-Registries gescannt.
- Laufzeitarbeitslasten, die in Kubernetes-Clustern bereitgestellt werden, werden auf Sicherheitsrisiken überwacht.
- Defender for Cloud korreliert und verfolgt jedes Artefakt vom Code über Build und Bereitstellung bis hin zur Laufzeit und zurück.
Note
Es kann bis zu 24 Stunden dauern, nachdem die vorherigen Schritte angewendet wurden, bis Ergebnisse sichtbar sind.
Vollständige Code-zu-Laufzeit-Sichtbarkeit validieren
Testen Sie, dass GitHub agentloses Scannen das Repository erfasst.
Wechseln Sie zu Microsoft Defender for Cloud>Cloud Security Explorer und führen Sie die Abfrage aus. Die Überprüfungsabfragen testen, ob Defender Artefakte identifizieren können, die von Ihren Pipelines und Workloads erstellt wurden. Wenn die Abfragen Ergebnisse zurückgeben, gibt sie an, dass Scan und Korrelation erwartungsgemäß funktionieren.
Note
Wenn keine Ergebnisse zurückgegeben werden, könnte das darauf hinweisen, dass Artefakte noch nicht generiert sind, der Scanvorgang nicht konfiguriert ist oder Berechtigungen fehlen. Weitere Informationen finden Sie unter Benutzerrollen und Berechtigungen .
Im Azure Container Registry sollte überprüft werden, dass Defender for Cloud das Container-Image gescannt und verwendet hat, um einen Container zu erstellen.
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 auf der Inventar-Seite zum Defender for Cloud nach Ihrem Containernamen. Du solltest sehen, dass es als kritisch markiert ist.
Note
Dieser Schritt ist nur erforderlich, wenn Risikofaktoren nicht bereits in Ihrer Umgebung konfiguriert sind. Wenn Sie bereits Risikofaktoren verwenden, können Sie deren Konfiguration unter Einstellungen>Ressourcenkritikalität überprüfen.
Durch eine erfolgreiche Validierung wird sichergestellt, dass die nächsten Schritte, z. B. Empfehlungen, Kampagnen und GitHub Problemgenerierung, aussagekräftige Ergebnisse erzielen.
Note
Nachdem Sie Ihre Ressource als kritisch klassifiziert haben, kann es bis zu 12 Stunden dauern, bis Defender for Cloud die Daten an GitHub sendet. Weitere Informationen finden Sie unter Priorisierung von Dependabot- und Codeüberprüfungswarnungen.
Schritt 3: Erstellen einer GitHub Kampagne
Um eine Scanning-Kampagne zu erstellen, arbeiten Sie auf GitHub-Organisationsebene. Diese Erfahrung steht nicht auf der ebene der einzelnen Repositorys zur Verfügung.
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.
Die Runtime-Risk-Kampagne hilft, GitHub Advanced Security (GHAS)-Ergebnisse zu priorisieren, die zu Code gehören, der wirklich implementiert und läuft.
Wählen Sie "Laufzeitrisiken"- Filter für die Kampagne aus.
Wählen Sie Speichern>Als Kampagne veröffentlichen aus. Geben Sie die erforderlichen Informationen ein, und veröffentlichen Sie dann die Kampagne.
Verfolgen Sie den Fortschritt der Kampagne.
Schritt 4: Handeln Sie auf Empfehlungen
Verwenden Sie die Empfehlungen für laufende Container-VA, die Code-zu-Laufzeit-Funktionalität sowie die Korrelation der identifizierten CVEs mit Dependabot-Sicherheitswarnungen, um den Status von Sicherheitsproblemen zu verstehen. Anschließend können Sie dem relevanten Entwicklungsteam basierend auf der Code-zu-Laufzeit-Zuordnung die Empfehlung für die Lösung zuweisen.
Wechseln Sie im Defender für Cloud-Portal zur Registerkarte "Empfehlungen ".
Suchen Sie nach dem Namen des Containers, den Sie aus Dem Code-Repository erstellt haben.
Öffnen Sie eine der Update-Softwareempfehlungen . Der Empfehlungsname beginnt mit Update.
Wählen Sie zugehörige CVEs aus.
Sicherheitswarnungen erscheinen als Teil des Empfehlungsbewertungsprozesses. Diese Warnungen enthalten Hinweise auf GitHub Advanced Security-Erkenntnisse, die bereits für das Engineering bekannt sind. Einige CVE-IDs enthalten in der Spalte „Zugehörige GitHub-Warnungen“ einen Link „Auf GitHub anzeigen“.
Wählen Sie den Link aus, um die relevante GHAS-Sicherheitswarnung zu öffnen. Um die GHAS-Benachrichtigungsinhalte in GitHub einzusehen, benötigen Sie Zugriffsrechte zum entsprechenden GitHub-Repository. Wenn du keine Zugriffsberechtigungen hast, kannst du den Link immer für die nächste Nutzung kopieren oder deinen GitHub-Administrator kontaktieren.
Wenn die Spalte "Related GitHub Alerts eine passende Dependabot-Warnung anzeigt, ist die Schwachstelle der Ingenieurabteilung bereits bekannt. Wenn der Alarmstatus Aktiv ist, hat es noch niemand behoben, und das Problem muss priorisiert werden, um es zu beheben.
Wenn keine passende GitHub-Warnung in der Spalte erscheint, stellt die CVE ein Laufzeitrisiko dar, das der Ingenieure unbekannt ist und für eine Korrektur priorisiert werden muss.
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 im Quellcode-Repository mit allen CVE-IDs generiert, die im Rahmen der Empfehlung zu finden sind, einschließlich anderer Laufzeit- und Container-SDLC-bezogene Kontexte, die beim Beheben und Testen hilfreich sind.
Aus der Empfehlungsansicht können Sie explizit ein GitHub Problem generieren, um Korrekturarbeiten nachzuverfolgen.
Gehen Sie zu Remediation Insights und sehen Sie sich das Code-to-Runtime-Diagramm an. Das Diagramm ordnet Ihren laufenden Container dem Containerimage im Code-Repository und dem ursprünglichen Code-Repository in GitHub zu.
Überprüfen Sie auf der Registerkarte Erkenntnisse zur Problembehebung den betroffenen Runtime-Kasten.
Validate, ob bereits ein GitHub Problem vorhanden ist. Wenn bereits ein GitHub Problem vorhanden ist, wird im Feld ein GitHub-Symbol angezeigt. Zeigen Sie mit der Maus auf das Symbol, um Problemdetails anzuzeigen.
Wenn kein Problem vorhanden ist und Sie über die erforderlichen Berechtigungen verfügen, können Sie ein neues GitHub Problem generieren. Wählen Sie "Aktion ausführen" aus.
Wählen Sie im Popup die Option Generate GitHub Problem aus.
Wenn das Problem erfolgreich erstellt wurde, sieht man eine Popup-Benachrichtigung mit einem Link zum Problem. Das Problem wird im ursprünglichen Code-Repository erstellt.
Note
Wenn die Option "GitHub Issue generieren nicht verfügbar ist, fehlen Ihnen möglicherweise die Berechtigungen für GitHub oder Repositorys. Wenden Sie sich an Ihren GitHub oder Repositoryadministrator, um den Zugriff anzufordern.
Verfolgen Sie Zuständigkeiten und Statusaktualisierungen. Änderungen am Ausgabestatus oder der Zuweisung, die in GitHub vorgenommen werden, werden im Microsoft Defender for Cloud widergespiegelt. Dadurch können Sie in der Empfehlungen-Ansicht die Zuständigkeit und den Behebungsfortschritt nachverfolgen.
Nehmen Sie Agent-Korrekturen vor
Wenn Sie eine GitHub Copilot-Lizenz besitzen, können Sie das Problem mit Hilfe des GitHub-Codingeragenten lösen:
- 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.