Du hast den Unternehmensbesitz inne und bist dafür verantwortlich, innerhalb deines Unternehmens einen starken Sicherheitsstatus zu wahren, Vorschriften einzuhalten, Risiken zu verringern und geistiges Eigentum zu schützen. GitHub verfügt über Tools, die dir dabei helfen können.
Indem du den Code deines Unternehmens auf GitHub speicherst, vereinfachst du die Zusammenarbeit, die Nachverfolgung und die Bereitstellung von einem einzigen Ort aus. Denn Projektbeteiligten das reibungslose Arbeiten in Repositorys zu ermöglichen, ist zwar wichtig für Kultur und Produktivität, du solltest jedoch auch gewisse Kontrollmechanismen implementieren, um sicherzustellen, dass dein Code sicher und zuverlässig bleibt.
Mit GitHub Enterprise hast du Zugriff auf alle Governancefeatures von GitHub. So kannst du:
- kontrollieren, wie Beteiligte Code aktualisieren können
- steuern, wie Beteiligte Repositorys verwenden können
- Überwachen der Aktivität
- kompromittierte Geheimnisse erkennen
- einen Genehmigungsprozess für wichtige Aktionen einrichten
- Sicherheitsrisiken oder Fehler im Code erkennen
Schützen von Branches
Bei wichtigen Branches in den Repositorys deines Unternehmens, z. B. solche mit Produktionscode, sollte dein Complianceframework das Risiko senken, dass Fehler oder bösartiger Code in deine Produktionsumgebungen gelangt.
Mit Regelsätzen kannst du Regeln anwenden, die steuern, wie mit bestimmten Branches interagiert werden kann. Du kannst bestimmten Benutzenden auch das Recht erteilen, die Regeln explizit zu umgehen. Dies ermöglicht Flexibilität und verdeutlicht gleichzeitig die vorgesehenen Einschränkungen.
Viele Unternehmen führen Regeln ein, die:
- Löschungen einschränken, sodass du sicher sein kannst, dass Benutzende den Branch nicht versehentlich löschen
- Pull Requests erfordern, damit keine Änderungen ohne Nachweis erfolgen und du Reviews erzwingen kannst
- erfordern, dass Statusprüfungen und Bereitstellungen erfolgreich ausgeführt werden müssen, bevor Pull Requests gemergt werden, damit keine Fehler in der Produktion auftreten
Andere Regeln wie das Erfordern signierter Commits oder eines linearen Commitverlaufs hängen stärker von der Situation und deinen Complianceanforderungen ab.
Weitere Informationen findest du unter Informationen zu Regelsätzen.
Verwalten der Verwendung von Repositorys
Da der Code und die Daten deines Unternehmens in Repositorys aufbewahrt werden, solltest du unbedingt definieren, wie Benutzende mit deinen Repositorys interagieren können, um das Risiko von Datenlecks zu verringern. In den Unternehmenseinstellungen kannst du festlegen, dass Richtlinien:
- die Standardsichtbarkeit von Repositorys einschränken
- verhindern, dass Nichtmitglieder zu Repositorys eingeladen werden
- verhindern, dass Repositorys geforkt oder an einen Ort außerhalb einer Organisation übertragen werden
Das Ziel deiner Richtlinien sollte sein, deine Sicherheitsanforderungen beizubehalten und gleichzeitig die reibungslose Zusammenarbeit in der Entwicklung zu fördern. Du kannst beispielsweise eine Open-Source-Organisation für alle öffentlichen Repositorys deines Unternehmens erstellen und verhindern, dass öffentliche Repositorys in einer anderen Organisation erstellt werden.
zum Festlegen von Richtlinien findest du unter Erzwingen von Repositoryverwaltungsrichtlinien in einem Unternehmen.
Überwachen von Aktivitäten
Wenn etwas schiefgeht, ist es wichtig, Aktivitäten in deinem Unternehmen durchsuchen zu können, um die Ursache oder den Umfang des Problems zu untersuchen.
Das Überwachungsprotokoll von GitHub enthält detaillierte Ereignisse zu deinem Unternehmenskonto, deinen Organisationen und, wenn du Enterprise Managed Users verwendest, deinen verwalteten Benutzerkonten. Du kannst das Überwachungsprotokoll z. B. nach Abrechnungsaktivitäten filtern oder nach Ereignissen zu einem kompromittierten Token suchen.
Informationen zum Zugriff auf das Überwachungsprotokoll findest du unter Zugreifen auf das Überwachungsprotokoll für dein Unternehmen.
GitHub bewahrt die Daten aus Überwachungsprotokollen nicht auf unbestimmte Zeit auf. Es wird empfohlen, deine Überwachungsprotokolle an einen externen Ort zu streamen, damit die Daten so lange wie nötig aufbewahrt und mit externen Tools abgefragt werden können. Weitere Informationen findest du unter Streamen des Überwachungsprotokolls für ein Unternehmen.
Verhindern, dass vertrauliche Informationen deine Codebasis erreichen
Um geistiges Eigentum zu schützen und Sicherheitsincidents zu verhindern, muss ein System implementiert werden, um vertrauliche Informationen wie Token aus deiner Codebasis herauszuhalten.
Secret scanning
Mit secret scanning kannst du deinen Code scannen, um vertrauliche Informationen wie API-Schlüssel, Kennwörter und andere Anmeldeinformationen in der Codebasis zu erkennen und unbefugten Zugriff sowie potenzielle Verstöße zu verhindern. Secret scanning benachrichtigt dich über vertrauliche Informationen in deiner Codebasis, sodass du entsprechend reagieren kannst, indem du Kennwörter änderst oder Token rotierst.
Weitere Informationen findest du unter Informationen zur Geheimnisüberprüfung.
Secret scanning kann auf Unternehmens-, Organisations- und Repositoryebene aktiviert werden. Weitere Informationen zur Aktivierung auf Unternehmensebene findest du unter Konfigurieren der Geheimnisüberprüfung für deine Appliance.
Pushschutz
Darüber hinaus kannst du mit Pushschutz verhindern, dass vertrauliche Daten und Anmeldeinformationen versehentlich an Repositorys übertragen werden.
Der Pushschutz scannt in Echtzeit auf Geheimnisse und blockiert Pushes, die potenziell vertrauliche Informationen enthalten. Organisationsbesitzende können Pushschutzrichtlinien auf Organisationsebene konfigurieren, um einheitliche Sicherheitsstandards in allen Repositorys durchzusetzen. Wenn ein Push blockiert wird, erhält die Entwicklungsabteilung detaillierte Angaben zur Problembehebung, z. B. zum Entfernen des Geheimnisses aus dem Code.
Weitere Informationen findest du unter Informationen zum Pushschutz.
Der Pushschutz kann auf Organisations-, Repository- und Benutzerkontoebene aktiviert werden. Weitere Informationen findest du unter Aktivieren des Pushschutzes für Ihr Repository.
Einrichten eines Genehmigungsprozesses für vertrauliche Aktionen
Du solltest auch einen Genehmigungsprozess einrichten, um besser zu steuern, wer in deinem Unternehmen vertrauliche Aktionen ausführen kann. Ein Genehmigungsprozess hilft, das Risiko nicht autorisierter oder böswilliger Änderungen zu verringern, und protokolliert, wer die Umgehung warum verwendet hat und stellt so sicher, dass alle Aktionen nachverfolgbar und rechenschaftspflichtig sind.
Note
Die Implementierung dieses Genehmigungsprozesse kann unter Umständen Spannungen verursachen. Daher solltest du zunächst sicherstellen, dass dein Sicherheitsmanagementteam ausreichend Kompetenzen hat.
Genehmigungsprozesse sind verfügbar für:
- Umgehungen des Pushschutzes: Du kannst auswählen, wer den Pushschutz umgehen darf, und einen Überprüfungs- und Genehmigungszyklus für Pushes einrichten, die Geheimnisse der anderen Mitwirkenden enthalten. Weitere Informationen zur delegierten Umgehung des Pushschutzes findest du unter Info zur delegierten Umgehung für den Pushschutz.
Ermitteln von Sicherheitsrisiken und Fehlern
In vielen Branchen gelten Bestimmungen, die regelmäßige Sicherheitsbewertungen und Vulnerability Management vorschreiben. Code scanning trägt dazu bei, die Einhaltung von Branchenstandards zu gewährleisten, indem Sicherheitsrisiken wie unsichere Muster in deinem Code ermittelt und verringert werden.
Code scanning kann in deine CI/CD-Pipeline integriert werden und bietet eine kontinuierliche Überwachung und Bewertung deiner Codebasis.
Für einen Direkteinstieg in code scanning empfehlen wir, das Standardsetup zu verwenden. Weitere Informationen findest du unter Konfigurieren des Standardsetups für das Codescanning.
Code scanning kann auf Unternehmens-, Organisations- und Repositoryebene aktiviert werden. Weitere Informationen zur Aktivierung auf Unternehmensebene findest du unter Konfigurieren der Codeüberprüfung für Ihre Anwendung.