Tipp
Dieser Artikel ist Teil einer Reihe zur Einführung von GitHub Advanced Security im großen Stil. Den vorherigen Artikel dieser Reihe findest du unter Phase 1: Abstimmen deiner Rolloutstrategie und -ziele.
Vorbereiten auf das Aktivieren der code scanning
Code scanning ist ein Feature, das du zum Analysieren des Codes in einem GitHub-Repository verwendest, um Sicherheitsrisiken und Codefehler zu finden. Alle von der Analyse ermittelten Probleme werden im Repository angezeigt. Weitere Informationen finden Sie unter Informationen zu Codescans.
Das Rollout der code scanning hunderte von Repositorys übergreifend kann eine Herausforderung darstellen, besonders dann, wenn es ineffizient erfolgt. Wenn du die folgenden Schritte befolgst, wird dein Rollout sowohl effizient als auch erfolgreich.
Code scanning ist auch für alle öffentlichen Repositorys auf GitHub.com verfügbar, die keine Lizenz für GitHub Code Security haben.
Vorbereiten von Teams auf die code scanning
Bereite deine Teams zunächst darauf vor, die code scanning zu verwenden. Je mehr Teams die code scanning nutzen, desto mehr Daten können für Wartungspläne und zum Überwachen des Fortschritts bei deinem Rollout verwendet werden.
Eine Einführung in code scanning finden Sie unter: * Informationen zu Codescans * Informationen zu Codeüberprüfungswarnungen * Bewerten von Warnungen der Codeüberprüfung für das Repository
Dein Hauptfokus sollte auf dem Vorbereiten möglichst vieler Teams auf das Verwenden der code scanning liegen. Du kannst die Teams auch dazu ermutigen, entsprechende Wartungen vorzunehmen. Es wird jedoch empfohlen, in dieser Phase das Aktivieren und Verwenden der code scanning gegenüber dem Lösen von Problemen zu priorisieren.
Vorbereiten auf das Aktivieren der secret scanning
Hinweis
Wenn ein Secret in einem Repository entdeckt wird, das secret scanning aktiviert hat, warnt GitHub alle Benutzenden mit Zugriff auf Sicherheitswarnungen für das Repository.
Secrets, die in öffentlichen Repositories mit Warnungen zur Geheimnisüberprüfung für Partner gefunden werden, werden direkt an den Partner geliefert, ohne dass eine Warnung auf GitHub erstellt wird. Details zu den unterstützten Partnermustern findest du unter Unterstützte Scanmuster für geheime Schlüssel.
Bei der Kommunikation zwischen einem Projekt und einem externen Dienst wird ein Token oder ein privater Schlüssel zur Authentifizierung verwendet. Wenn du ein Geheimnis in ein Repository einfügst, kann jedermann mit Lesezugriff auf das Repository das Geheimnis verwenden, um mit deinen Privilegien auf den externen Dienst zuzugreifen. Secret scanning durchsucht deine gesamte Git Historie auf allen in deinen GitHub Repositories vorhandenen Branches nach Secrets und warnt dich oder blockiert den Push, der das Secret enthält. Weitere Informationen finden Sie unter Informationen zur Geheimnisüberprüfung.
Warnungen zur Geheimnisüberprüfung für Partner wird automatisch auf öffentlichen Repositories und öffentlichen NPM-Paketen ausgeführt, um Anbieter über durchgesickerte Secrets auf GitHub zu informieren.
Warnungen zur Geheimnisüberprüfung für Benutzer*innen sind in allen öffentlichen Repositorys kostenlos verfügbar.
Überlegungen beim Aktivieren der secret scanning
secret scanning auf Organisationsebene zu aktiveren, muss nicht schwierig sein. Wenn du Enable All auf Organisationsebene anklickst und die Option Automatically enable secret scanning for every new repository auswählst, hat bestimmte nachgelagerte Auswirkungen, denen du dir bewusst sein solltest:
Lizenzverbrauch
Wenn du secret scanning für alle Repositorys aktivierst, maximierst du die Nutzung von GitHub Secret Protection-Lizenzen. Dies ist in Ordnung, wenn du über genügend Lizenzen für die aktuellen Committer für alle diese Repositorys verfügst. Wenn die Anzahl der aktiven Entwicklungsfachkräfte in den nächsten Monaten wahrscheinlich ansteigen wird, wird die Lizenzgrenze möglicherweise überschritten, sodass du secret scanning nicht mehr für neu erstellte Repositorys verwenden kannst.
Anfängliches hohes Volumen erkannter Geheimnisse
Wenn du die secret scanning für eine große Organisation aktivierst, findest du eine hohe Anzahl an Geheimnissen. Manchmal sind Organisationen damit überfordert, und der Alarm wird ausgelöst. Wenn du die secret scanning für alle Repositorys gleichzeitig aktivieren möchtest, solltest du planen, wie du auf mehrere Warnungen in der Organisation reagieren wirst.
Secret scanning können für einzelne Repositorys aktiviert werden. Weitere Informationen finden Sie unter Aktivieren der Überprüfung auf geheime Schlüssel für Ihr Repository. Secret scanning können, wie oben beschrieben, auch für alle Repositorys in deiner Organisation aktiviert werden. Weitere Informationen zur Aktivierung für alle Repositories finden Sie unter Verwalten von Sicherheits- und Analyseeinstellungen für deine Organisation.
Benutzerdefinierte Muster für die secret scanning
Secret scanning erkennt eine große Anzahl von Standardmustern, kann aber auch so konfiguriert werden, dass angepasste Muster erkannt werden, wie z. B. Secret-Formate, die nur in deiner Infrastruktur vorkommen oder von Integratoren verwendet werden, sodass secret scanning von GitHub aktuell nicht erkannt wird. Weitere Informationen zu den unterstützten Secrets für Partner-Muster finden Sie unter Unterstützte Scanmuster für geheime Schlüssel.
Erstelle eine Liste mit Geheimnistypen, wenn du Repositorys überwachst und mit Sicherheits- und Entwicklerteams sprichst, die du später zum Konfigurieren von benutzerdefinierten Mustern für die secret scanning verwenden kannst. Weitere Informationen finden Sie unter Definieren von benutzerdefinierten Mustern für die Geheimnisüberprüfung.
Push-Schutz für secret scanning
Der Push-Schutz für Organisationen und Repositories weist secret scanning an, Pushes auf unterstützte Secrets zu prüfen, bevor Secrets in die Codebase committed werden. Informationen darüber, welche Secrets unterstützt werden, findest du unter Unterstützte Scanmuster für geheime Schlüssel.
Wenn ein Geheimnis in einem Push erkannt wird, wird dieser Push blockiert. 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. Secret scanning kann auch Pushes auf benutzerdefinierte Muster überprüfen.
Entwickler haben die Möglichkeit, den Push-Schutz zu umgehen, indem sie melden, dass ein Geheimnis falsch positiv ist, dass es in Tests verwendet wird oder dass es später behoben wird.
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.
- Fügt das Umgehungsereignis zum Überwachungsprotokoll hinzu.
- Senden einer E-Mail-Warnung an Besitzende eines Organisationskontos oder eines persönlichen Kontos, Sicherheitsmanager und Repositoryadmins, die das Repository beobachten, die einen Link zum Geheimnis und den Grund enthält, warum es zugelassen wurde
Bevor du den Push-Schutz aktivierst, solltest du überlegen, ob du eine Anleitung für Entwicklerteams erstellen musst, unter welchen Bedingungen der Push-Schutz umgangen werden kann. Du kannst einen Link zu dieser Ressource in der Nachricht konfigurieren, die angezeigt wird, wenn ein Entwickler versucht, ein blockiertes Geheimnis zu veröffentlichen.
Mach dich als Nächstes mit den verschiedenen Optionen für die Verwaltung und Überwachung von Warnmeldungen vertraut, die auf die Umgehung des Push-Schutzes durch einen Mitarbeiter zurückzuführen sind.
Weitere Informationen finden Sie unter Informationen zum Pushschutz.
Tipp
Den nächsten Artikel in dieser Reihe findest du unter Phase 3: Pilotprogramme.