Informationen zum Pushschutz
Push-Schutz ist ein secret scanning-Feature, das darauf ausgelegt ist, vertrauliche Informationen, z. B. Geheimnisse oder Token, zuerst an Ihr Repository zu übertragen. Im Gegensatz zu secret scanning, das geheime Schlüssel erkennt, nachdem sie committet wurden. Push-Schutz scannt Ihren Code proaktiv nach geheimen Schlüsseln während des Push-Vorgangs und blockiert den Push, falls vorhanden.
Mithilfe von Push-Schutz können Sie die Risiken vermeiden, die mit offengelegten geheimen Schlüsseln verbunden sind, z. B. nicht autorisierter Zugriff auf Ressourcen oder Dienste. Mit diesem Feature erhalten Entwickler sofortiges Feedback und können potenzielle Probleme beheben, bevor sie zu sicherheitsrelevanten Problemen werden.
Sie können den Push-Schutze aktivieren:
- Auf Repository-/Organisationsebene, wenn Sie ein Repository-Administrator oder ein Organisationsbesitzer sind. Auf der Registerkarte Sicherheit Ihres Repositorys werden Warnungen angezeigt, wenn ein Mitwirkender des Repositorys den Push-Schutz umgeht.
- Für Ihr Konto in GitHub als Benutzer. Diese Art von Push-Schutz wird als „Push-Schutz für Benutzer“ bezeichnet. Es schützt Sie davor, geheime Schlüssel an alle öffentliches Repository auf GitHub zu übertragen, es werden jedoch keine Warnungen generiert.
Weitere Informationen zu Geheimnissen und Dienstanbietern, für die der Push-Schutz unterstützt wird, findest du unter „Unterstützte Scanmuster für geheime Schlüssel“.
So funktioniert der Push-Schutz
Der Push-Schutz funktioniert auf folgende Art und Weise:
- Über die Befehlszeile. Weitere Informationen finden Sie unter Verwenden von Pushschutz über die Befehlszeile.
- In der Benutzeroberfläche von GitHub. Siehe „Arbeiten mit Pushschutz in der GitHub-Benutzeroberfläche.“
- Bei Dateien, die in das Repository hochgeladen auf GitHub.
- Über die REST-API. Siehe "Arbeiten mit dem Push-Schutz über die REST-API."
Wenn der Push-Schutz während eines Push-Versuchs einen potenziellen geheimen Schlüssel erkennt, wird der Push blockiert und eine detaillierte Meldung bereitgestellt, in der der Grund für den Block erläutert wird. Sie müssen den betreffenden Code überprüfen, alle vertraulichen Informationen entfernen und den Push wiederholen.
Standardmäßig kann jeder Benutzer mit Schreibzugriff auf das Repository den Pushschutz umgehen, indem er einen der in der Tabelle beschriebenen Umgehungsgründe angibt. 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 Umgehung | Warnungsverhalten |
---|---|
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. |
Wenn Sie eine bessere Kontrolle darüber haben möchten, welche Mitwirkenden den Push-Schutz umgehen können und welche Pushs, die Geheimnisse enthalten, zugelassen werden sollen, können Sie die delegierte Umgehung des Push-Schutzes aktivieren. Mit der delegierten Umgehung können Sie eine bestimmte Gruppe von Prüfern konfigurieren, die Anfragen zur Umgehung des Push-Schutzes von Mitwirkenden, die in das Repository pushen, beaufsichtigen und verwalten. Weitere Informationen finden Sie unter Info zur delegierten Umgehung für den Pushschutz.
Sie können auch den Push-Schutz auch über die REST-API umgehen. Weitere Informationen finden Sie unter REST-API-Endpunkte für die Geheimnisüberprüfung.
Über die Vorteile des Push-Schutzes
-
Präventive Sicherheit: Der Push-Schutz fungiert als erster Abwehrmechanismus, indem Code zum Zeitpunkt des Pushs auf geheime Schlüssel überprüft wird. Dieser präventive Ansatz hilft, potenzielle Probleme abzufangen, bevor sie in Ihr Repository zusammengeführt werden.
-
Sofortiges Feedback: Entwickler erhalten sofortiges Feedback, wenn während eines Push-Versuchs ein potenzieller geheimer Schlüssel erkannt wird. Diese sofortige Benachrichtigung ermöglicht eine schnelle Behebung und verringert die Wahrscheinlichkeit, dass vertrauliche Informationen verfügbar gemacht werden.
-
Reduziertes Risiko von Datenlecks: Durch Blockieren von Commits, die vertrauliche Informationen enthalten, reduziert der Push-Schutz das Risiko versehentlicher Datenlecks erheblich. Dies hilft beim Schutz vor unbefugtem Zugriff auf Ihre Infrastruktur, Dienste und Daten.
-
Effizientes Management von geheimen Schlüsseln: Anstatt retrospektiv mit offengelegten geheimen Schlüsseln umzugehen, können Entwickler Probleme an der Quelle angehen. Dies macht die Verwaltung geheimer Schlüssel effizienter und weniger zeitaufwendig.
-
Integration in CI/CD-Pipelines: Der Push-Schutz kann in Ihre Pipelines für kontinuierliche Integration/Kontinuierliche Bereitstellung (CI/CD) integriert werden, um sicherzustellen, dass jeder Push nach geheimen Schlüsseln gescannt wird, bevor er bereitgestellt wird. Dadurch wird Ihrer DevOps-Methode eine zusätzliche Sicherheitsebene hinzugefügt.
-
Fähigkeit zum Erkennen benutzerdefinierter Muster: Organisationen können benutzerdefinierte Muster definieren, um geheime Schlüssel eindeutig für ihre Umgebung zu erkennen. Durch diese Anpassung wird sichergestellt, dass Push-Schutz sogar nicht standardmäßige geheime Schlüssel effektiv identifizieren und blockieren kann.
-
Delegierte Überbrückung für Flexibilität: Für Fälle, in denen falsch positive Ergebnisse auftreten oder wenn bestimmte Muster erforderlich sind, ermöglicht das Feature delegierte Überbrückung bestimmten Benutzern die Genehmigung bestimmter Pushs. Dies bietet Flexibilität, ohne die Gesamtsicherheit zu beeinträchtigen.
Jeder Benutzer über GitHub kann auch den Push-Schutz für sich selbst innerhalb ihrer individuellen Einstellungen aktivieren. Das Aktivieren des Push-Schutzes für Ihr Benutzerkonto bedeutet, dass Ihre Pushs immer geschützt sind, wenn Sie auf öffentliches Repository GitHub pushen, ohne sich darauf verlassen zu müssen, dass Push-Schutz aktiviert ist. Weitere Informationen findest du unter Pushschutz für Benutzer.
Anpassen des Push-Schutzes
Sobald der Push-Schutz aktiviert ist, können Sie ihn weiter anpassen:
Integrieren in CI/CD-Pipelines
Integrieren Sie Push-Schutz in Ihre Continuous Integration/Continuous Deployment (CI/CD)-Pipelines, um sicherzustellen, dass Scans während automatisierter Prozesse ausgeführt werden. Dies umfasst in der Regel das Hinzufügen von Schritten in ihrer Pipeline-Konfigurationsdatei, um GitHub-APIs aufzurufen oder GitHub Actions zu verwenden.
Definieren benutzerdefinierter Muster
Definieren Sie benutzerdefinierte Muster, mit denen der Push-Schutz geheime Schlüssel identifizieren und Push-Pushs blockieren kann, die diese geheimen Schlüssel enthalten. Weitere Informationen findest du unter Definieren von benutzerdefinierten Mustern für die Geheimnisüberprüfung.
Konfigurieren der delegierten Überbrückung
Definieren Sie Mitwirkende, die Push-Schutz umgehen können, und fügen Sie einen Genehmigungsprozess für andere Mitwirkende hinzu. Weitere Informationen findest du unter Info zur delegierten Umgehung für den Pushschutz.