Skip to main content

Pushschutz für Repositorys und Organisationen

Du kannst mit secret scanning verhindern, dass unterstützte Geheimnisse in deine Organisation oder dein Repository gepusht werden, indem du den Pushschutz aktivierst.

Wer kann dieses Feature verwenden?

Warnungen zur Geheimnisüberprüfung für Partner wird automatisch in öffentlichen Repositorys und öffentlichen npm-Paketen ausgeführt, um Dienstanbieter über kompromittierte Geheimnisse auf GitHub.com zu informieren.

Warnungen zur Geheimnisüberprüfung für Benutzerinnen sind in allen öffentlichen Repositorys kostenlos verfügbar. Organisationen, die GitHub Enterprise Cloud mit einer Lizenz für GitHub Advanced Security verwenden, können Warnungen zur Geheimnisüberprüfung für Benutzerinnen für ihre privaten und internen Repositorys aktivieren. Weitere Informationen findest du unter Informationen zur Geheimnisüberprüfung und Informationen zu GitHub Advanced Security.

Informationen zum kostenlosen Testen von GitHub Enterprise mit GitHub Advanced Security sind unter „Eine Testversion von GitHub Enterprise einrichten“ und „Einrichten einer Testversion von GitHub Advanced Security“ in der GitHub Enterprise Cloud-Dokumentation zu finden.

Informationen zum Pushschutz für Repositorys und Organisationen

Bisher hat secret scanning nach einem Push nach Geheimnissen gesucht und Benutzer über kompromittierte Geheimnisse benachrichtigt. Wenn Sie den Pushschutz für Ihre Organisation oder Ihr Repository aktivieren, prüft secret scanning auch Pushnachrichten auf Geheimnisse mit hoher Vertrauenswürdigkeit (solche, die mit einer geringen False-Positive-Rate identifiziert wurden). Secret scanning listet alle erkannten Geheimnisse auf, sodass der Autor die Geheimnisse überprüfen und entfernen oder, falls erforderlich, die Weitergabe dieser Geheimnisse per Push erlauben kann.

Wenn Mitwirkende einen Pushschutzblock für ein Geheimnis umgehen, werden in GitHub folgende Schritte ausgeführt:

  • Erstellen einer Warnung auf der Registerkarte Sicherheit des Repositorys.
  • Hinzufügen des Umgehungsereignisses zum Überwachungsprotokoll
  • Senden einer E-Mail-Warnung an Besitzerinnen eines Organisationskontos oder eines persönlichen Kontos, Sicherheitsmanagerinnen und Repositoryadministrator*innen, die das Repository beobachten, die einen Link zum Geheimnis und den Grund enthält, warum es zugelassen wurde

Diese Tabelle zeigt das Verhalten von Warnungen für die einzelnen Methoden, mit denen ein Benutzer einen Pushschutzblock umgehen kann.

Grund der UmgehungWarnungsverhalten
Wird in Tests verwendet.GitHub erstellt eine geschlossene Warnung, die als „In Tests verwendet“ aufgelöst wurde.
Ist ein falsch positives Ergebnis.GitHub erstellt eine geschlossene Warnung, die als „False Positive“ aufgelöst wurde.
Wird später behoben.GitHub erstellt eine offene Warnung.

Auf der Warnungsseite „secret scanning“ für ein Repository oder eine Organisation können Sie den bypassed:true-Filter anwenden, um leicht zu erkennen, welche Warnungen das Ergebnis der Umgehung des Push-Schutzes durch einen Benutzer sind.

Du kannst Sicherheitswarnungen überwachen, um festzustellen, wann Benutzer*innen Pushschutzmaßnahmen umgehen und Warnungen generieren. Weitere Informationen findest du unter Prüfen von Sicherheitswarnungen.

Weitere Informationen zu Geheimnissen und Dienstanbietern, für die der Pushschutz unterstützt wird, findest du unter Geheimnisüberprüfungsmuster.

Hinweis: Der webbasierte Editor github.dev unterstützt keinen Pushschutz. Weitere Informationen zum Editor findest du unter Der webbasierte github.dev-Editor.

Wenn du bestätigen konntest, dass es sich wirklich um ein Geheimnis handelt, musst du dieses vor dem nächsten Push aus deinem Branch und allen Commits entfernen, in denen es vorkommt.

Aktivieren von secret scanning als Pushschutz

Damit Sie secret scanning als Push-Schutz in öffentlichen Repositories verwenden können, muss das die Organisation oder das Repository secret scanning aktiviert sein. Weitere Informationen finden Sie unter „Verwalten von Sicherheits- und Analyseeinstellungen für deine Organisation“, „Verwalten von Sicherheits- und Analyseeinstellungen für dein Repository“ und „AUTOTITEL“.

Organisationsbesitzerinnen, Sicherheitsmanagerinnen und Repositoryadministrator*innen können zudem den Pushschutz für secret scanning über die API aktivieren. Weitere Informationen findest du unter Repositorys. Erweitere den Abschnitt „Eigenschaften des security_and_analysis-Objekts“ in der REST-API-Dokumentation.

Hinweis: Wenn Sie ein Repository mit secret scanning als aktivierten Push-Schutz forken, ist dies nicht standardmäßig für den Fork aktiviert. Die Aktivierung für den Fork ist auf die gleiche Weise möglich wie für ein eigenständiges Repository.

Aktivieren von secret scanning als Pushschutz für eine Organisation

Du kannst die Organisationseinstellungsseite für „Codesicherheit und -analyse“ verwenden, um secret scanning als Pushschutz für alle vorhandenen Repositorys in einer Organisation zu aktivieren oder zu deaktivieren.

  1. Navigiere auf GitHub.com zur Hauptseite der Organisation.

  2. Klicke unter deinem Organisationsnamen auf die Option Einstellungen. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

    Screenshot der Registerkarten im Profil einer Organisation. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke im Abschnitt „Sicherheit“ auf der Randleiste auf Codesicherheit und -analyse.

  4. Suche unter „Codesicherheit und Analyse“ GitHub Advanced Security".

  5. Klicke unter „Secret scanning“ unter „Pushschutz“ auf Alle aktivieren.

  6. Klicke optional auf „Automatisch für zu secret scanning hinzugefügte Repositorys aktivieren“.

  7. Wenn du optional einen benutzerdefinierten Link in die Nachricht einfügen möchtest, die Mitgliedern bei dem Versuch zum Pushen eines Geheimnisses angezeigt wird, wähle Ressourcenlink in CLI und Webbenutzeroberfläche hinzufügen, wenn ein Commit blockiert ist aus, gib eine URL ein, und klicke auf Link speichern.

    Screenshot des Abschnitts „Pushschutz“ der Seite „Codesicherheit und -analyse“. Das Kontrollkästchen „Ressourcenlink in der CLI und der Webbenutzeroberfläche hinzufügen, wenn ein Commit blockiert wird“ und das benutzerdefinierte Linktextfeld sind dunkelorange umrandet.

Weitere Informationen zum Aktivieren von Sicherheitsfeatures in einer Organisation findest du unter „Schützen deiner Organisation“.

Aktivieren von secret scanning als Pushschutz für ein Repository

  1. Navigiere auf GitHub.com zur Hauptseite des Repositorys.

  2. Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

    Screenshot eines Repositoryheaders mit den Registerkarten. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke im Abschnitt „Sicherheit“ auf der Randleiste auf Codesicherheit und -analyse.

  4. Suche unter „Codesicherheit und Analyse“ GitHub Advanced Security".

  5. Klicke unter „Secret scanning“ unter „Pushschutz“ auf Aktivieren. Screenshot, der die Aktivierung von des Pushschutzes für secret scanning für ein Repository zeigt

Verwenden von Geheimnisscans als Pushschutz über die Befehlszeile

Wenn du ein unterstütztes Geheimnis mit secret scanning als Pushschutz an ein Repository oder eine Organisation pushen möchtest, blockiert GitHub den Push. Du kannst das Geheimnis aus deinem Branch entfernen oder auf eine bereitgestellte URL klicken, um den Push zuzulassen.

In der Befehlszeile werden jeweils bis zu fünf erkannte Geheimnisse angezeigt. Wenn ein bestimmtes Geheimnis schon im Repository erkannt wurde und bereits eine Warnung existiert, blockiert GitHub das Geheimnis nicht.

Organisationsbesitzer*innen können einen benutzerdefinierten Link bereitstellen, der angezeigt wird, wenn ein Push blockiert wird. Dieser benutzerdefinierte Link kann organisationsspezifische Ressourcen und Ratschläge enthalten, z. B. Anweisungen zur Verwendung eines empfohlenen Tresors für Geheimnisse, oder wer zu Fragen im Zusammenhang mit dem blockierten Geheimnis kontaktiert werden kann.

Wenn du bestätigen konntest, dass es sich wirklich um ein Geheimnis handelt, musst du dieses vor dem nächsten Push aus deinem Branch und allen Commits entfernen, in denen es vorkommt. Weitere Informationen zum Korrigieren von blockierten Geheimnissen findest du unter Pushen eines durch Pushschutz blockierten Branches.

Wenn du bestätigst, dass ein Geheimnis echt ist und du es später beheben möchtest, solltest du das Geheimnis so schnell wie möglich beheben. Du kannst beispielsweise das Geheimnis widerrufen und aus dem Commitverlauf des Repositorys entfernen. Falls tatsächliche Geheimnisse offengelegt wurden, müssen diese widerrufen werden, um nicht autorisierten Zugriff zu verhindern. Du kannst das Geheimnis auch rotieren, bevor du es widerrufst. Weitere Informationen findest du unter Entfernen vertraulicher Daten aus einem Repository.

Hinweise:

  • Wenn deine Git-Konfiguration das Pushen an mehrere Branches und nicht nur an den aktuellen Branch unterstützt, wird dein Push möglicherweise blockiert, weil zusätzliche und unbeabsichtigte Verweise gepusht werden. Weitere Informationen findest du unter push.default-Optionen in der GitHub-Dokumentation.
  • Wenn für secret scanning bei einem Push ein Timeout auftritt, scannt GitHub die Commits nach dem Pushen trotzdem auf Geheimnisse.

Zulassen, dass ein blockiertes Geheimnis gepusht wird

Wenn GitHub ein Geheimnis blockiert, von dem du denkst, dass es sicher gepusht werden kann, kannst du das Geheimnis zulassen und den Grund angeben, warum es zugelassen werden soll.

Wenn du das Pushen eines Geheimnisses zulässt, wird auf der Registerkarte Sicherheit eine Warnung erstellt. GitHub schließt diese Warnung und sendet keine Benachrichtigung, wenn du angibst, dass das Geheimnis ein False Positive ist oder nur in Tests verwendet wird. Wenn du angibst, dass das Geheimnis echt ist und das Problem später behoben wird, lässt GitHub die Sicherheitsbenachrichtigung offen und sendet Benachrichtigungen an dendie Autorin des Commits sowie an die Repositoryadministrator*innen. Weitere Informationen findest du unter Verwalten von Warnungen aus der Geheimnisüberprüfung.

Wenn ein Mitwirkender einen Pushschutzblock für ein Geheimnis umgeht, sendet GitHub auch eine Warnung per E-Mail an die Organisationsbesitzer, Sicherheits-Manager und Repositoryadministratoren, die sich für E-Mail-Benachrichtigungen angemeldet haben.

  1. Klicke auf die URL, die von GitHub zurückgegeben wird, wenn dein Push blockiert wurde.
  2. Wähle die Option aus, die am besten beschreibt, warum du in der Lage sein solltest, den geheimen Schlüssel zu pushen.
    • Wenn das Geheimnis nur in Tests verwendet wird und keine Bedrohung darstellt, klicke auf It's used in tests (Wird in Tests verwendet).
    • Wenn die erkannte Zeichenfolge kein Geheimnis ist, klicke auf It's a false positive (Es handelt sich um einen False Positive).
    • Wenn das Geheimnis echt ist, du es jedoch später beheben möchtest, klicke auf I'll fix it later (Problem wird später behoben).
  3. Klicke auf Allow me to push this secret (Pushen dieses Geheimnisses zulassen).
  4. Wiederhole den Push innerhalb von drei Stunden über die Befehlszeile. Wenn du innerhalb von drei Stunden keinen Push durchgeführt hast, musst du diesen Vorgang wiederholen.

Verwenden der Überprüfung auf Geheimnisse als Pushschutz auf der Webbenutzeroberfläche

Wenn du über die Webbenutzeroberfläche versuchst, ein unterstütztes Geheimnis an ein Repository oder eine Organisation zu übertragen, in dem bzw. der die Überprüfung auf Geheimnisse als Pushschutz aktiviert ist, blockiert GitHub den Commit.

Es wird ein Dialogfeld mit Informationen zum Speicherort des Geheimnisses sowie Optionen zum Pushen des Geheimnisses angezeigt. Das Geheimnis wird auch in der Datei unterstrichen, damit du es einfacher finden kannst.

GitHub zeigt auf der Webbenutzeroberfläche jeweils nur ein erkanntes Geheimnis an. Wenn ein bestimmtes Geheimnis schon im Repository erkannt wurde und bereits eine Warnung existiert, blockiert GitHub das Geheimnis nicht.

Organisationsbesitzer*innen können einen benutzerdefinierten Link bereitstellen, der angezeigt wird, wenn ein Push blockiert wird. Dieser benutzerdefinierte Link kann spezifische Ressourcen und Ratschläge für deine Organisation enthalten. Der benutzerdefinierte Link kann z. B. auf eine README-Datei mit Informationen über den Geheimnistresor der Organisation verweisen, zu Teams und Einzelpersonen führen, zu denen Fragen eskaliert werden können, oder auf die genehmigte Richtlinie der Organisation zum Arbeiten mit Geheimnissen und Neuschreiben des Commitverlaufs verweisen.

Du kannst das Geheimnis auch auf der Webbenutzeroberfläche aus der Datei entfernen. Nachdem du das Geheimnis entfernt hast, kannst du deine Änderungen committen.

Umgehen des Pushschutzes für ein Geheimnis

Wenn du bestätigen konntest, dass es sich wirklich um ein Geheimnis handelt, musst du dieses vor dem nächsten Push aus deinem Branch und allen Commits entfernen, in denen es vorkommt. Weitere Informationen zum Korrigieren von blockierten Geheimnissen findest du unter Pushen eines durch Pushschutz blockierten Branches.

Wenn du bestätigst, dass ein Geheimnis echt ist und du es später beheben möchtest, solltest du das Geheimnis so schnell wie möglich beheben. Weitere Informationen findest du unter Entfernen vertraulicher Daten aus einem Repository.

Wenn GitHub ein Geheimnis blockiert, von dem du denkst, dass es sicher gepusht werden kann, kannst du das Geheimnis zulassen und den Grund angeben, warum es zugelassen werden soll.

Wenn du das Pushen eines Geheimnisses zulässt, wird auf der Registerkarte Sicherheit eine Warnung erstellt. GitHub schließt diese Warnung und sendet keine Benachrichtigung, wenn du angibst, dass das Geheimnis ein False Positive ist oder nur in Tests verwendet wird. Wenn du angibst, dass das Geheimnis echt ist und das Problem später behoben wird, lässt GitHub die Sicherheitsbenachrichtigung offen und sendet Benachrichtigungen an dendie Autorin des Commits sowie an die Repositoryadministrator*innen. Weitere Informationen findest du unter Verwalten von Warnungen aus der Geheimnisüberprüfung.

Wenn ein Mitwirkender einen Pushschutzblock für ein Geheimnis umgeht, sendet GitHub auch eine Warnung per E-Mail an die Organisationsbesitzer, Sicherheits-Manager und Repositoryadministratoren, die sich für E-Mail-Benachrichtigungen angemeldet haben.

  1. Überprüfe im Dialogfeld, das angezeigt wurde, als GitHub deinen Commit blockiert hat, den Namen und den Speicherort des Geheimnisses.
  2. Wähle die Option aus, die am besten beschreibt, warum du in der Lage sein solltest, den geheimen Schlüssel zu pushen.
    • Wenn das Geheimnis nur in Tests verwendet wird und keine Bedrohung darstellt, klicke auf It's used in tests (Wird in Tests verwendet).
    • Wenn die erkannte Zeichenfolge kein Geheimnis ist, klicke auf It's a false positive (Es handelt sich um einen False Positive).
    • Wenn das Geheimnis echt ist, du es jedoch später beheben möchtest, klicke auf I'll fix it later (Problem wird später behoben).
  3. Klicke auf Geheimnis zulassen.