Skip to main content

Diese Version von GitHub Enterprise Server wurde eingestellt am 2024-03-26. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise Server. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

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?

Der Pushschutz ist für organisationseigene Repositorys in GitHub Enterprise Server verfügbar, wenn Ihr Unternehmen über eine Lizenz für GitHub Advanced Security verfügt.

Hinweis: Dein Websiteadministrator muss secret scanning für Ihre GitHub Enterprise Server-Instance aktivieren, damit du dieses Feature verwenden kannst. Weitere Informationen findest du unter Konfigurieren der Geheimnisüberprüfung für deine Appliance.

Möglicherweise kannst du secret scanning nicht aktivieren oder deaktivieren, wenn ein Unternehmensbesitzer eine Richtlinie auf Unternehmensebene festgelegt hat. Weitere Informationen findest du unter Erzwingen von Richtlinien für die Codesicherheit und -analyse für Unternehmen.

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.

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.

Aktivieren von secret scanning als Pushschutz

Damit du secret scanning als Pushschutz in öffentlichen Repositorys verwenden kannst, muss für das Unternehmen, die Organisation oder das Repository secret scanning aktiviert sein. Weitere Informationen findest du unter Verwalten von GitHub Advanced Security-Features für dein Unternehmen, 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“.

Unternehmensadministratoren können auch secret scanning als Push-Schutz für das Unternehmen über die API aktivieren oder deaktivieren. Weitere Informationen findest du unter REST-API-Endpunkte für die Sicherheit und Analyse von Enterprise-Code.

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 dein Repository

  1. Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.

    Screenshot des Dropdownmenüs, das angezeigt wird, wenn du auf GitHub Enterprise Server auf das Profilfoto klickst. Die Option „Unternehmenseinstellungen “ ist dunkelorange umrandet.

  2. Wähle auf der Randleiste des Unternehmenskontos die Option Einstellungen aus.

  3. Klicke in der linken Randleiste auf Codesicherheit und -analyse.

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

    Screenshot des Abschnitts „Pushschutz“ der Seite „Codesicherheit und -analyse“. Zwei Schaltflächen mit den Bezeichnungen „Alle aktivieren“ und „Alle deaktivieren“ sind dunkelorange umrandet.

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

  6. Wenn du optional einen benutzerdefinierten Link in die Meldung einfügen möchtest, die Mitgliedern angezeigt wird, wenn diese versuchen, ein Geheimnis zu pushen, 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.

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 Ihre GitHub Enterprise Server-Instance 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 Ihre GitHub Enterprise Server-Instance 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).
  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).
  3. Klicke auf Geheimnis zulassen.