Über diesen Leitfaden
In diesem Leitfaden werden die Änderungen mit den größten Auswirkungen beschrieben, die du zum Erhöhen der Kontosicherheit vornehmen kannst. In den einzelnen Abschnitten wird jeweils eine Änderung beschrieben, die du zur Verbesserung der Sicherheit an deinen Prozessen vornehmen kannst. Die Änderungen mit den größten Auswirkungen sind zuerst aufgeführt.
Welches Risiko besteht?
Kontosicherheit ist grundlegend für die Sicherheit deiner Lieferkette. Wenn es Angreifer*innen gelingt, dein Konto auf GitHub zu übernehmen, können sie böswillige Änderungen an deinem Code oder Buildprozess vornehmen. Ihr oberstes Ziel muss daher sein, die Übernahme Ihres Kontos und der Konten anderer Mitglieder in Ihrer Organisation zu erschweren.
Konfigurieren der zweistufigen Authentifizierung
Note
Hinweis: Seit März 2023 verlangte GitHub von allen Benutzern, die Code auf GitHub.com beitragen, die Aktivierung einer oder mehrerer Formen der Zwei-Faktor-Authentifizierung (2FA). Wenn du einer berechtigten Gruppe angehörst, wurdest du per E-Mail benachrichtigt, wenn diese Gruppe für die Registrierung ausgewählt wurde. Ab diesem Zeitpunkt beginnt eine 45-tägige Anmeldefrist für 2FA, und auf GitHub.com wurden Banner angezeigt, die dich zur Registrierung für 2FA aufforderten. Wenn du keine Benachrichtigung erhalten hast, gehörst du keiner Gruppe mit verpflichtender 2FA-Registrierung an, aber wir empfehlen diese ausdrücklich.
Weitere Informationen zum Rollout der 2FA-Registrierung findest du in diesem Blogbeitrag.
Die beste Möglichkeit zur Verbesserung der Sicherheit Ihres persönlichen Kontos ist die Konfiguration der Zwei-Faktor-Authentifizierung (2FA). Kennwörter selbst können kompromittiert werden, wenn sie erraten werden können, auf einer kompromittierten Website wiederverwendet oder durch Social Engineering wie Phishing kompromittiert werden. Mit der zweistufigen Authentifizierung wird die Kompromittierung eines Kontos deutlich erschwert, selbst wenn der Angreifer über das entsprechende Kennwort verfügt.
Um sowohl die Sicherheit als auch den zuverlässigen Zugriff auf dein Konto zu gewährleisten, solltest du immer mindestens zwei Anmeldeinformationen mit Zwei-Faktor-Authentifizierung in deinem Konto registriert haben. Zusätzliche Anmeldeinformationen stellen sicher, dass du nicht aus deinem Konto gesperrt wirst, auch wenn du den Zugriff auf eine Anmeldeinformation verlierst.
Außerdem solltest du nach Möglichkeit Hauptschlüssel, Sicherheitsschlüssel und Authentifikator-Apps (sogenannte TOTP-Apps) der Verwendung von SMS vorziehen. Sowohl SMS-basierte 2FA- als auch TOTP-Apps sind anfällig für Phishing und bieten nicht das gleiche Maß an Schutz wie Hauptschlüssel und Sicherheitsschlüssel. SMS wird nicht mehr unter den NIST 800-63B-Richtlinien für digitale Identität empfohlen.
Wenn du Organisationsbesitzer bist, kannst du festlegen, dass alle Mitglieder der Organisation die zweistufige Authentifizierung aktivieren.
Weitere Informationen zum Aktivieren von 2FA in deinem eigenen Konto findest du unter Zwei-Faktor-Authentifizierung konfigurieren. Weitere Informationen zur Anforderung von 2FA in deiner Organisation findest du unter Erfordern der zweistufigen Authentifizierung in deiner Organisation.
Konfigurieren eines persönlichen Kontos
GitHub unterstützt mehrere Optionen für 2FA, und obwohl jede von ihnen besser ist als keine, ist die sicherste Option ein WebAuthn-Zugangsnachweis. WebAuthn erfordert einen Authentifikator wie einen FIDO2-Hardware-Sicherheitsschlüssel, einen Plattformauthentifikator wie Windows Hello, ein Apple- oder Google-Telefon oder einen Kennwort-Manager. Phishing ist bei anderen Formen der zweistufigen Authentifizierung zwar schwierig, aber möglich (wenn du beispielsweise gebeten wirst, dein sechsstelliges Einmalkennwort vorzulesen). WebAuthn ist jedoch wesentlich widerstandsfähiger gegen Phishing, da in das Protokoll ein Domain Scoping eingebaut ist, das verhindert, dass Zugangsdaten von einer Website, die sich als die Anmeldeseite ausgibt, auf GitHub verwendet werden können.
Wenn Sie 2FA einrichten, sollten Sie immer die Wiederherstellungscodes herunterladen und mehr als eine 2FA-Anmeldung einrichten. Dadurch wird sichergestellt, dass der Zugriff auf dein Konto nicht von einem einzelnen Gerät abhängt. Weitere Informationen findest du unter Zwei-Faktor-Authentifizierung konfigurieren und Wiederherstellungsmethoden bei der Zwei-Faktor-Authentifizierung konfigurieren.
Konfigurieren eines Organisationskontos
Als Organisationsinhaberin kannst du erkennen, für welche Benutzerinnen die zweistufige Authentifizierung nicht aktiviert ist. Du kannst ihnen beim Einrichten der zweistufigen Authentifizierung behilflich sein und anschließend festlegen, dass für deine Organisation die zweistufige Authentifizierung verwendet werden muss. Informationen zu dieser Vorgehensweise findest du unter:
- Überprüfen, ob die 2FA für die Benutzer*innen deiner Organisation aktiviert ist
- Vorbereiten auf die Voraussetzung der zweistufigen Authentifizierung in deiner Organisation
- Erfordern der zweistufigen Authentifizierung in deiner Organisation
Herstellen einer Verbindung mit GitHub mithilfe von SSH-Schlüsseln
Es gibt weitere Möglichkeiten, mit GitHub zu interagieren, um sich bei der Website anzumelden. Viele autorisieren den Code, den sie an GitHub pushen, mit einem privaten SSH-Schlüssel. Weitere Informationen finden Sie unter Informationen zur SSH.
Ein Angreifer, der an deinen privaten SSH-Schlüssel gelangt, kann deine Identität annehmen und böswilligen Code an alle Repositorys pushen, für die du Schreibzugriff hast. Wenn du deinen privaten SSH-Schlüssel in einem Datenträgerlaufwerk speicherst, solltest du ihn mit einer Passphrase zu schützen. Weitere Informationen finden Sie unter SSH-Schlüssel-Passphrasen verwenden.
Eine weitere Option besteht darin, SSH-Schlüssel mit einem Hardwaresicherheitsschlüssel zu generieren. Dabei kann derselbe Schlüssel wie für die zweistufige Authentifizierung verwendet werden. Die Kompromittierung von Hardwaresicherheitsschlüsseln per Fernzugriff ist schwierig, da der private SSH-Schlüssel auf der Hardware verbleibt und über die Software nicht direkt zugänglich ist Weitere Informationen finden Sie unter Generieren eines neuen SSH-Schlüssels und Hinzufügen des Schlüssels zum ssh-agent.