Skip to main content

Pushschutz für Repositorys und Organisationen

With push protection for repositories and organizations, secret scanning blocks contributors from pushing secrets to a repository and generates an alert whenever a contributor bypasses the block.

Wer kann dieses Feature verwenden?

Push-Schutz für Repositorys und Organisationen ist für öffentliche Repositorys kostenlos verfügbar. Organisationen, die GitHub Enterprise Cloud mit einer Lizenz für GitHub Advanced Security verwenden, können den Pushschutz auch für ihre privaten und internen Repositorys aktivieren.

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 auf unterstützte Geheimnisse. 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 du secret scanning als Pushschutz in öffentlichen Repositorys verwenden kannst, muss für die Organisation oder das Repository secret scanning aktiviert sein. Weitere Informationen findest du unter Verwalten von Sicherheits- und Analyseeinstellungen für deine Organisation, Verwalten von Sicherheits- und Analyseeinstellungen für dein Repository und Informationen zu GitHub Advanced Security.

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

Sie können den Push-Schutz auch für alle Ihre bestehenden öffentlichen Repositorys über Ihre persönlichen Kontoeinstellungen aktivieren. Für alle neuen öffentlichen Repositorys, die Sie erstellen, wird der Push-Schutz standardmäßig aktiviert. Weitere Informationen findest du unter Konfigurieren der Geheimnisüberprüfung für deine Repositorys.

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 an ein Repository mit Pushschutz 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).

    Hinweis: Sie müssen einen Grund für die Umgehung des Pushschutzes angeben, wenn das Repository die Geheimnisüberprüfung aktiviert hat.

    Beim Pushen in ein öffentliches Repository, für das die Geheimnisüberprüfung nicht aktiviert ist, sind Sie dank Pushschutz für Benutzer, der standardmäßig für Ihr Benutzerkonto aktiviert ist, weiterhin vor versehentlichem Pushen von Geheimnissen geschützt.

    Mit dem Pushschutz für Benutzer blockiert GitHub automatisch Pushvorgänge in öffentliche Repositorys, wenn diese Pushvorgänge unterstützte Geheimnisse enthalten, aber Sie müssen keinen Grund für die Zulassung des Geheimnisses angeben, und GitHub generiert keine Warnung. Weitere Informationen findest du unter Pushschutz für Benutzer.

  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 Sie über die Webbenutzeroberfläche versuchen, ein unterstütztes Geheimnis an ein Repository zu committen, das über Pushschutz verfügt, 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).

    Hinweis: Sie müssen einen Grund für die Umgehung des Pushschutzes angeben, wenn das Repository die Geheimnisüberprüfung aktiviert hat.

    Beim Pushen in ein öffentliches Repository, für das die Geheimnisüberprüfung nicht aktiviert ist, sind Sie dank Pushschutz für Benutzer, der standardmäßig für Ihr Benutzerkonto aktiviert ist, weiterhin vor versehentlichem Pushen von Geheimnissen geschützt.

    Mit dem Pushschutz für Benutzer blockiert GitHub automatisch Pushvorgänge in öffentliche Repositorys, wenn diese Pushvorgänge unterstützte Geheimnisse enthalten, aber Sie müssen keinen Grund für die Zulassung des Geheimnisses angeben, und GitHub generiert keine Warnung. Weitere Informationen findest du unter Pushschutz für Benutzer.

  3. Klicke auf Geheimnis zulassen.