Ü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 AE zu übernehmen, können sie böswillige Änderungen an deinem Code oder Buildprozess vornehmen. Dein oberstes Ziel muss daher sein, die Übernahme deines Kontos und der Konten anderer Mitglieder in deiner Organisation oder deinem Unternehmen zu erschweren.
Konfigurieren der zweistufigen Authentifizierung
Die beste Möglichkeit, die Sicherheit deines Unternehmens auf GitHub AE zu verbessern, ist die Konfiguration der Zwei-Faktor-Authentifizierung mit deinem SAML-Identitätsanbieter (Identity Provider, IdP). 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.
Herstellen einer Verbindung mit GitHub AE mithilfe von SSH-Schlüsseln
Außer der Anmeldung bei der Website über deinen IdP gibt es auch andere Möglichkeiten, mit GitHub AE zu interagieren. Viele autorisieren den Code, den sie an GitHub pushen, mit einem privaten SSH-Schlüssel. Weitere Informationen findest du unter Informationen zur SSH.
Ebenso wie bei dem Kennwort deines IdP-Kontos können Angreifer*innen deine Identität annehmen und böswilligen Code an alle Repositorys pushen, für die du Schreibzugriff hast, falls sie an deinen privaten SSH-Schlüssel gelangen. Wenn du deinen privaten SSH-Schlüssel in einem Datenträgerlaufwerk speicherst, solltest du ihn mit einer Passphrase zu schützen. Weitere Informationen findest du 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 findest du unter Generieren eines neuen SSH-Schlüssels und Hinzufügen des Schlüssels zum ssh-agent.
Hardwaregestützte SSH-Schlüssel sind recht sicher, aber die Hardwareanforderung ist für einige Organisationen möglicherweise nicht geeignet. Ein alternativer Ansatz besteht darin, SSH-Schlüssel zu verwenden, die nur für einen kurzen Zeitraum gültig sind. Auch wenn der private Schlüssel kompromittiert wird, kann er nicht lange genutzt werden. Auf diesem Konzept beruht die Unterhaltung einer eigenen SSH-Zertifizierungsstelle. Bei diesem Ansatz kannst du weitgehend festlegen, wie sich Benutzer*innen authentifizieren, jedoch bist du dafür verantwortlich, selbst eine SSH-Zertifizierungsstelle zu unterhalten. Weitere Informationen findest du unter Informationen zu SSH-Zertifizierungsstellen.