Skip to main content

Diese Version von GitHub Enterprise Server wird eingestellt am 2023-12-20. 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.

Pushen eines durch Pushschutz blockierten Branches

Der Pushschutz von secret scanning schützt dich proaktiv davor, dass Geheimnisse aus deinen Repositorys offengelegt werden. Du kannst die Probleme in blockierten Pushes beheben. Sobald das erkannte Geheimnis entfernt wurde, kannst du die Änderungen über die Befehlszeile oder die Webbenutzeroberfläche an den Arbeitsbranch pushen.

Secret scanning ist für organisationseigene Repositorys in GitHub Enterprise Server verfügbar, wenn dein Unternehmen über eine Lizenz für GitHub Advanced Security verfügt. Weitere Informationen findest du unter Informationen zur Geheimnisüberprüfung und Informationen zu GitHub Advanced Security.

Pushschutz für secret scanning

Der Pushschutz von secret scanning verhindert Sicherheitslecks, indem der Code auf Geheimnisse gescannt wird, bevor du Änderungen an dein Repository pushst. 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. Weitere Informationen zu Geheimnissen und Dienstanbietern, für die der Pushschutz unterstützt wird, findest du unter Geheimnisüberprüfungsmuster.

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.

Tipp: 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. Weitere Informationen zum Umgehen des Pushschutzes für Geheimnisse findest du unter Zulassen, dass ein blockiertes Geheimnis gepusht wird und Umgehen des Pushschutzes für ein Geheimnis (jeweils für die Befehlszeile und die Webbenutzeroberfläche).

Organisationsbesitzer*innen können einen benutzerdefinierten Link bereitstellen, der in der Nachricht von GitHub Enterprise Server enthalten ist, wenn dein Push blockiert wird. Dieser benutzerdefinierte Link kann spezifische Ressourcen und Ratschläge für deine Organisation und ihre Richtlinien enthalten.

Korrigieren eines blockierten Pushes ü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.

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.

Wenn das blockierte Geheimnisse mit dem letzten Commit in deinen Branch gelangt ist, befolge diese Schritte:

  1. Entferne das Geheimnis aus deinem Code.
  2. Committe die Änderungen mit git commit --amend.
  3. Pushe die Änderungen mit git push.

Du kannst das Geheimnis auch entfernen, wenn es in einem früheren Commit im Git-Verlauf vorkommt.

  1. Mithilfe von git log kannst du feststellen, welcher im Pushfehler hervorgehobene Commit im Verlauf zuerst vorhanden war.
  2. Starte ein interaktives Rebasing mit git rebase -i <commit-id>~1. entspricht dem Commit aus Schritt 1.
  3. Ermittle den zu ändernden Commit, indem du pick in der ersten Textzeile im Editor in edit änderst.
  4. Entferne das Geheimnis aus deinem Code.
  5. Committe die Änderung mit git commit --amend.
  6. Führe git rebase --continue aus, um das Rebasing fertigzustellen.

Korrigieren eines blockierten Pushes über die 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.

Um einen blockierten Commit über die Webbenutzeroberfläche zu korrigieren, musst du das Geheimnis aus der Datei entfernen oder die Optionen im Dialogfeld verwenden, um das Geheimnis zuzulassen. Weitere Informationen zur Umgehung des Pushschutzes über die Webbenutzeroberfläche findest du unter Pushschutz für Repositorys und Organisationen.

Wenn es sich wirklich um ein Geheimnis handelt, muss es aus der Datei entfernt werden. Nachdem du das Geheimnis entfernt hast, kannst du deine Änderungen committen.