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.
Offengelegte Anmeldeinformationen in technischen Systemen bieten Angreifern leicht ausnutzbare Möglichkeiten. Um diese Bedrohung zu verteidigen, sucht GitHub Advanced Security für Azure DevOps nach Anmeldeinformationen und anderen vertraulichen Inhalten in Ihrem Quellcode. Der Pushschutz verhindert auch, dass Anmeldeinformationen überhaupt kompromittiert werden. Sie benötigen entweder GitHub Advanced Security für Azure DevOps oder, wenn Sie die eigenständige Oberfläche verwenden, GitHub Secret Protection für Azure DevOps aktiviert.
Geheimes Scanning für Ihr Repository durchsucht den Quellcode über die gesamte Historie nach eventuell bereits vorhandenen Geheimnissen, und Push-Schutz verhindert, dass neue Geheimnisse im Quellcode offengelegt werden.
GitHub Advanced Security für Azure DevOps funktioniert mit Azure Repos. Informationen zur Verwendung von GitHub Advanced Security mit GitHub-Repositorys finden Sie unter GitHub Advanced Security.
Voraussetzungen
Kategorie | Anforderungen |
---|---|
Erlaubnisse | – Um eine Zusammenfassung aller Warnungen für ein Repository anzuzeigen: Beitragsberechtigungen für das Repository. - Um Warnhinweise in der erweiterten Sicherheit zu verwerfen: Projektadministrator Berechtigungen. – So verwalten Sie Berechtigungen in Advanced Security: Mitglied der Gruppe "Project Collection Administrators" oder Berechtigung "Advanced Security: Einstellungen verwalten" auf „Zulassen“ gesetzt. |
Weitere Informationen zu Erweiterten Sicherheitsberechtigungen finden Sie unter "Verwalten erweiterter Sicherheitsberechtigungen".
Informationen zu Warnungen zur Geheimnisüberprüfung
Wenn Sie speziell die erweiterte Sicherheit oder den Geheimnis-Schutz aktivieren, überprüft das System Repositorys auf Geheimnisse, die von verschiedenen Dienstanbietern ausgestellt wurden, und generiert Warnungen zur Geheimnisüberprüfung.
Wenn der Zugriff auf eine Ressource gekoppelte Anmeldeinformationen erfordert, löst die Überprüfung des Geheimnisses nur dann eine Warnung aus, wenn beide Teile der Kopplung in derselben Datei erkannt werden. Durch Kopplung wird sichergestellt, dass die wichtigsten Lecks nicht hinter Informationen zu partiellen Lecks versteckt werden. Der Paarabgleich hilft auch dabei, falsch positive Ergebnisse zu reduzieren, da beide Elemente eines Paares zusammen verwendet werden müssen, um auf die Ressource des Anbieters zuzugreifen.
Die Registerkarte „Advanced Security“ (Erweiterte Sicherheit) unter Repos>Advanced Security in Azure DevOps ist der Hub zum Anzeigen Ihrer Sicherheitswarnungen. Wählen Sie die Registerkarte Secrets (Geheimnisse) aus, um Warnungen zur Geheimnisüberprüfung anzuzeigen. Sie können nach Status und Geheimnistyp filtern. Navigieren Sie zu einer Warnung, um weitere Details zu erhalten, einschließlich Anleitungen zur Behebung. Nachdem Sie Advanced Security aktiviert haben, wird ein Scan für das ausgewählte Repository gestartet, einschließlich aller historischen Commits. Im Laufe der Zeit werden Warnungen angezeigt, wenn die Überprüfung fortgesetzt wird.
Das Umbenennen von Verzweigungen wirkt sich nicht auf die Ergebnisse aus. Es kann jedoch bis zu 24 Stunden dauern, bis der neue Name angezeigt wird.
Zur Behebung aufgedeckter Geheimnisse machen Sie die offengelegten Anmeldeinformationen ungültig und erstellen stattdessen neue Anmeldeinformationen. Das neu erstellte Geheimnis sollte dann so sicher gespeichert werden, dass es nicht direkt zurück in den Code gelangt. Beispielsweise könnte das Geheimnis in Azure Key Vault gespeichert werden. Die meisten Ressourcen verfügen über primäre und sekundäre Anmeldeinformationen. Das Verfahren zum Übertragen von primären Anmeldeinformationen und sekundären Anmeldeinformationen ist identisch, sofern nicht anders angegeben.
Verwalten von Warnungen zur Geheimnisüberprüfung
Anzeigen von Warnungen für ein Repository
Wählen Sie die Registerkarte Secrets (Geheimnisse) aus, um alle Warnungen zur Geheimnisüberprüfung anzuzeigen.
Wenn Advanced Security kürzlich für Ihr Repository aktiviert wurde, wird möglicherweise eine Karte angezeigt, die angibt, dass Advanced Security Ihr Repository weiterhin überprüft.
Nach Abschluss der Überprüfung werden alle Ergebnisse angezeigt. Für alle erkannten eindeutigen Anmeldeinformationen wird für alle Branches und den Verlauf Ihres Repositorys eine einzelne Warnung generiert. Es gibt keine Branchfilter, da sie in einer Warnung zusammengefasst werden.
Nicht-Anbieter-Geheimnisse können angezeigt werden, indem Sie "Andere" aus dem Dropdown-Menü für Vertrauen auf der Registerkarte für geheimes Scannen auswählen.
Warnungsdetails
Wenn Sie zu einer Warnung navigieren, wird eine detaillierte Ansicht der Warnung angezeigt, die weitere Details zum Befund enthält und spezifische Anweisungen zur Behebung der Warnung bietet.
Abschnitt | Erklärung |
---|---|
Standort | Im Abschnitt Locations (Speicherorte) werden die Pfade angegeben, in denen die Geheimnisüberprüfung die kompromittierten Anmeldeinformationen ermittelt hat. Möglicherweise gibt es mehrere Speicherorte oder mehrere Commits in der Historie, die die offengelegten Anmeldeinformationen enthalten. Alle diese Speicherorte und Commits werden unter Locations mit einem direkten Link zu dem Codeschnipsel und Commit angezeigt, in dem sie identifiziert wurden. |
Empfehlung | Der Abschnitt „recommendation“ (Empfehlung) enthält Anleitungen zur Korrektur oder einen Link zu Dokumentation mit Korrekturanleitungen von Drittanbietern für die identifizierten Anmeldeinformationen. |
Schließen von Warnungen | Es gibt kein Verhalten für automatische Korrekturen für Warnungen zur Geheimnisüberprüfung. Alle Warnungen zur Geheimnisüberprüfung müssen manuell über die Warnungsdetailseite als behoben bestätigt werden. Wählen Sie die Schaltfläche Close (Schließen) aus, um zu überprüfen, ob das Geheimnis widerrufen wurde. |
Schweregrad | Alle Warnungen zur Geheimnisüberprüfung werden als kritisch festgelegt. Alle offengelegten Anmeldeinformationen stellen möglicherweise eine Chance für einen böswilligen Akteur dar. |
Ermitteln von Details | Der Typ der Anmeldeinformationen und die Regel, die zum Suchen nach den Anmeldeinformationen verwendet wird, werden unter Finding details (Suchen nach Details) auf der Randleiste der Seite mit den Warnungsdetails aufgeführt. |
Bei nicht-anbietergebundenen Geheimnissen erscheint auch das Confidence: other-Tag neben dem Schweregradabzeichen in der Detailansicht des Alarms.
Korrigieren von Warnungen zur Geheimnisüberprüfung
Jedes Geheimnis verfügt über einzigartige Korrekturschritte, die Sie durch das Widerrufen und erneute Generieren eines neuen Geheimnisses als Ersatz führen. In den Warnungsdetails werden bestimmte Schritte oder Dokumentationsverweise für jede Warnung aufgeführt.
Eine Warnung zur Geheimnisüberprüfung bleibt geöffnet, bis sie geschlossen wird. So bestätigen Sie, dass eine Warnung der Geheimnisüberprüfung behoben wurde
- Navigieren Sie zu der Warnung, die Sie schließen möchten, und wählen Sie sie aus.
- Wählen Sie die Dropdownliste Close alert (Warnung schließen) aus.
- Wenn noch nicht ausgewählt, wählen Sie Behobene aus.
- Wählen Sie Close (Schließen) aus, um die Warnung zu übermitteln und zu schließen.
Schließen von Warnungen zur Geheimnisüberprüfung
Führen Sie die folgenden Schritte aus, um eine Warnung zu entfernen:
- Navigieren Sie zu der Warnung, die Sie schließen möchten, und wählen Sie sie aus.
- Wählen Sie die Dropdownliste Close alert (Warnung schließen) aus.
- Falls noch nicht ausgewählt, wählen Sie als Schließungsgrund entweder Risk accepted (Risiko akzeptiert) oder False positive (Falsch positiv) aus.
- Fügen Sie dem Textfeld Comment (Kommentar) einen optionalen Kommentar hinzu.
- Wählen Sie Close (Schließen) aus, um die Warnung zu übermitteln und zu schließen.
- Der Warnungsstatus ändert sich aus Open (Offen) in Closed (Geschlossen) und zeigt Ihren Schließungsgrund an.
Sie können alle zuvor geschlossenen Warnungen manuell öffnen.
Kompromittierte Geheimnisse sichern
Sobald ein Geheimnis in ein Repository eingefügt wird, ist dieses kompromittiert. Microsoft empfiehlt die folgenden Aktionen für kompromittierte Geheimnisse:
Von Bedeutung
Wir empfehlen die sichereren Microsoft Entra-Token gegenüber token mit höherem Risiko für persönliche Zugriffstoken. Erfahren Sie mehr über unsere Bemühungen zur Reduzierung der PAT-Nutzung. Überprüfen Sie unsere Authentifizierungsleitfaden , um den richtigen Authentifizierungsmechanismus für Ihre Anforderungen auszuwählen.
- Für ein kompromittiertes persönliches Azure DevOps-Zugriffstoken löschen Sie das kompromittierte Token, erstellen Sie ein neues Token, und aktualisieren Sie alle Dienste, die das alte Token verwenden.
- Überprüfen Sie für alle anderen Geheimnisse zunächst, ob das Geheimnis, das an Azure Repos committet wurde, gültig ist. Wenn dies der Fall ist, erstellen Sie ein neues Geheimnis, aktualisieren Sie alle Dienste, die das alte Geheimnis verwenden, und löschen Sie dann das alte Geheimnis.
- Identifizieren Sie alle Aktionen, die vom kompromittierten Token für die Ressourcen Ihres Unternehmens ausgeführt werden.
Wenn Sie einen geheimen Schlüssel aktualisieren, speichern Sie den neuen geheimen Schlüssel sicher, und stellen Sie sicher, dass es nie als Nur-Text gespeichert wird. Eine Möglichkeit besteht darin, Azure Key Vault oder andere Lösungen für die geheime Verwaltung zu verwenden.
Pushschutz für Geheimnisse
Der Pushschutz überprüft alle eingehenden Pushvorgänge auf Geheimnisse mit hoher Vertrauenswürdigkeit und verhindert, dass der Pushvorgang erfolgreich ist. In einer Fehlermeldung werden alle identifizierten Geheimnisse angezeigt, damit Sie sie entfernen oder die Geheimnisse bei Bedarf weiterhin pushen können.
Informationen zu Pushschutzwarnungen
Pushschutzwarnungen sind Benutzerwarnungen, die vom Pushschutz gemeldet werden. Geheimnisüberprüfung als Pushschutz überprüft derzeit Repositorys auf Geheimnisse, die von den einigen Dienstanbietern ausgestellt wurden.
Wenn für den Zugriff auf eine Ressource gepaarte Anmeldeinformationen erforderlich sind, erstellt ein Geheimscan möglicherweise nur dann eine Warnung, wenn beide Teile des Paars in der gleichen Datei gefunden werden. Die Kopplung stellt sicher, dass die wichtigsten Lecks nicht hinter Informationen zu partiellen Lecks versteckt bleiben. Der Paarabgleich hilft auch dabei, falsch positive Ergebnisse zu reduzieren, da beide Elemente eines Paares zusammen verwendet werden müssen, um auf die Ressource des Anbieters zuzugreifen.
Der Pushschutz blockiert möglicherweise keine älteren Versionen bestimmter Token, da diese Token möglicherweise eine höhere Anzahl falsch positiver Ergebnisse generieren als ihre neueste Version. Der Pushschutz blockiert möglicherweise auch keine Legacytoken. Für Token wie Azure Storage-Schlüssel unterstützt Advanced Security nur kürzlich erstellte Token und keine Token, die den Legacymustern entsprechen.
Pushschutz über die Befehlszeile
Pushschutz ist nativ in Azure DevOps Git integriert. Wenn Ihre Commits einen identifizierten geheimen Schlüssel enthalten, zeigt der folgende Fehler an, dass Ihr Push abgelehnt wurde.
Pushschutz über die Webbenutzeroberfläche
Pushschutz funktioniert auch über die Webbenutzeroberfläche. Wenn ein geheimer Schlüssel in einem Commit identifiziert wird, wird der folgende Fehlerblock angezeigt, der Sie daran hindert, Ihre Änderungen zu pushen:
Was tun, wenn Ihr Push blockiert wurde?
Pushschutz blockiert Geheimnisse, die in Nur-Text-Dateien gefunden werden, bei denen es sich in der Regel (aber nicht immer) um Textdateien wie Quellcode- oder JSON-Konfigurationsdateien handelt. Diese Geheimnisse werden als Nur-Text gespeichert. Wenn ein bösartiger Akteur Zugang zu den Dateien erhält und sie in einem öffentlichen Repository veröffentlicht werden, sind die Geheimnisse für jedermann nutzbar.
Entfernen Sie den geheimen Schlüssel aus der gekennzeichneten Datei, und entfernen Sie dann den Geheimschlüssel aus dem Commit-Verlauf. Wenn das markierte Geheimnis ein Platzhalter oder ein Beispielgeheimnis ist, aktualisieren Sie das gefälschte Geheimnis, indem Sie die Zeichenfolge Placeholder
vor dem gefälschten Geheimnis voranstellen.
Wenn das Geheimnis in Ihrem unmittelbaren vorherigen Commit hinzugefügt wurde, ändern Sie den Commit, und erstellen Sie einen neuen Commit:
- Entferne das Geheimnis aus deinem Code.
- Committen Sie die Änderungen mit
git commit --amend
. - Pushen Sie Ihre Änderungen erneut.
Wenn das Geheimnis früher im Verlauf hinzugefügt wurde, bearbeiten Sie Ihre Commits mithilfe eines interaktiven Rebasevorgangs:
- Verwenden Sie
git log
, um zu bestimmen, in welchem Commit Sie das Geheimnis erstmals übermittelt haben. - Führen Sie einen interaktiven Rebasevorgang aus:
git rebase -i [commit ID before credential introduction]~1
- Ermittle den zu ändernden Commit, indem du
pick
in der ersten Textzeile im Editor inedit
änderst. - Entferne das Geheimnis aus deinem Code.
- Committe die Änderung mit
git commit --amend
. - Beenden Sie die Rebase-Ausführung, indem Sie
git rebase --continue
ausführen.
Pushen eines blockierten Geheimnisses
Umgehen Sie nicht gekennzeichnete Geheimnisse, da dies die Sicherheit Ihres Unternehmens gefährden kann. Wenn Sie bestätigen, dass ein identifiziertes Geheimnis kein False Positive ist, sollten Sie das Geheimnis aus Ihrem gesamten Branchverlauf entfernen, bevor Sie versuchen, Ihre Änderungen erneut zu pushen.
Wenn Sie der Meinung sind, dass ein blockiertes Geheimnis False Positive oder sicher zu pushen ist, können Sie den Pushschutz umgehen. Schließen Sie die Zeichenfolge skip-secret-scanning:true
in Ihre Commitnachricht ein. Selbst wenn Sie den Pushschutz umgehen, wird auf der Warnungs-UX eine Warnung zur Geheimnisüberprüfung generiert, sobald das Geheimnis gepusht wird.