GitHubs Schlüsselpatzer: Muss ich was tun?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
buhtz
Beiträge: 1099
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

GitHubs Schlüsselpatzer: Muss ich was tun?

Beitrag von buhtz » 24.03.2023 22:32:46

Es gab die Meldung das der private RSA Host-Key von Microsoft GitHub öffentlich einsehbar war, daher als kompromitiert gilt und ausgetauscht wurde.

Bei der Frage, ob ich als Microsoft GitHub User jetzt was tun muss, bin ich mir unschlüssig. Die Angaben in dem Artikel dazu entziehen sich meinem Verständnis.

SSH Zugriff? Vermutlich ja. Ich kann git push/pull machen, ohne ein Passwort eingeben zu müssen.

RSA/ECDSA/Ed25519? Da bin ich überfragt. In meinen Account Settings stehen drei Schüssel (weil drei Maschinen/Clients) die alle mit "SSH256" beginnen.

In meinem /.ssh Verzeichnis finde ich mehrere Dateien, die ich nicht zuordnen kann und in denen ich auch keinen Hinweis zu GitHub finde.

Warum interessiert mich der Host key überhaupt? Ich habe doch damals ein eignes Paar generiert und den öffentlichen Teil im GH Account hinterlegt.

EDIT: Da ich mich offensichtlich unklar ausgedrückt habe, versuche ich es nochmal gerade zu rücken. Tatsächlich rührt meine Hin-und-Her-Art zu fragen bzw. der verwirrte Unterton daher, dass ich gewisse Grundlagen zu dem Thema nicht verstanden habe. Dokus zu Keys usw habe ich schon häufiger gelesen. Aber es bleibt ein Thema, bei dem es mir schwer fällt gerade aus zudenken. Um eine passwortlose Anmeldung per SSH einzurichten benötige ich auch heute noch meine Notizen; weil ich das nicht aus dem FF kann und auch nicht verstehe. Solche praktischen und realen Szenarien wie das Problem bei Microsoft GitHub nehme ich daher als gute Gelegenheit etwas am realen Beispiel zu lernen.
Vordergründig möchte ich also etwas lernen und nicht einfach in technisches Problem lösen. Bitte entschuldigt meine unklare Ausdrucksweise. :hail:
Zuletzt geändert von buhtz am 27.03.2023 09:18:47, insgesamt 1-mal geändert.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

JTH
Moderator
Beiträge: 3015
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: GitHubs Schlüsselpatzer: Muss ich was tun?

Beitrag von JTH » 24.03.2023 22:39:59

buhtz hat geschrieben: ↑ zum Beitrag ↑
24.03.2023 22:32:46
Es gab die Meldung
Im verlinkten Artikel steht doch auch, was du tun kannst – nur evtl. musst: „Update für die Betroffenen“.

buhtz hat geschrieben: ↑ zum Beitrag ↑
24.03.2023 22:32:46
Warum interessiert mich der Host key überhaupt?
Für dich ist GitHubs Schlüssel hauptsächlich relevant, um identifizieren zu können, dass du wirklich mit einem GitHub-Server sprichst. Wenn der Server seinen eigenen Schlüssel geändert hat (wie hier passiert) – oder im ungünstigen Fall jemand deine Verbindung böswillig anzwackt – beschwert sich SSH, dass sich der Schlüssel der Gegenseite unerwartet verändert hat. Wie auch in dem von mir verlinkten Abschnitt in dem Artikel zitiert.
Manchmal bekannt als Just (another) Terminal Hacker.

buhtz
Beiträge: 1099
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Re: GitHubs Schlüsselpatzer: Muss ich was tun?

Beitrag von buhtz » 24.03.2023 22:51:09

Die Frage ob RSA/ECDSA/Ed25519 hat also gar nichts mit meinem Schüsselpaar zu tun oder etwas das inn ~/.ssh liegt?
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Benutzeravatar
paedubucher
Beiträge: 850
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Re: GitHubs Schlüsselpatzer: Muss ich was tun?

Beitrag von paedubucher » 25.03.2023 23:17:17

Code: Alles auswählen

ssh-keygen -R github.com
und alles wird gut
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

buhtz
Beiträge: 1099
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Re: GitHubs Schlüsselpatzer: Muss ich was tun?

Beitrag von buhtz » 27.03.2023 09:14:30

paedubucher hat geschrieben: ↑ zum Beitrag ↑
25.03.2023 23:17:17

Code: Alles auswählen

[LÖSCHKOMMANDO SNIPPED]
Lieber paedubucher,
ich halte es für ein Sicherheitsproblem, wenn solche Löschkommandos (-R entfernt keys) ohne Kommentar, Erläuterung oder Warnung hier gepostet werden. Dabei ist es unerheblich, dass dies in dem konkreten Anwendungsfall zu keinen schwerwiegenden Folgen führt.
Ebenso lernen die Lesenden hier nichts bei.

Dein Kommando entfernt den Host-Key zu GitHub. Das war nicht die Frage.
Es ging darum heraus zu finden, ob ich den Key entfernen muss und wie man die ganzen Fachwörter hierbei einordnet. Ich frage, weil ich etwas dazulernen möchte.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Benutzeravatar
paedubucher
Beiträge: 850
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Re: GitHubs Schlüsselpatzer: Muss ich was tun?

Beitrag von paedubucher » 27.03.2023 13:10:07

buhtz hat geschrieben: ↑ zum Beitrag ↑
27.03.2023 09:14:30
paedubucher hat geschrieben: ↑ zum Beitrag ↑
25.03.2023 23:17:17

Code: Alles auswählen

[LÖSCHKOMMANDO SNIPPED]
Lieber paedubucher,
ich halte es für ein Sicherheitsproblem, wenn solche Löschkommandos (-R entfernt keys) ohne Kommentar, Erläuterung oder Warnung hier gepostet werden. Dabei ist es unerheblich, dass dies in dem konkreten Anwendungsfall zu keinen schwerwiegenden Folgen führt.
Ebenso lernen die Lesenden hier nichts bei.

Dein Kommando entfernt den Host-Key zu GitHub. Das war nicht die Frage.
Es ging darum heraus zu finden, ob ich den Key entfernen muss und wie man die ganzen Fachwörter hierbei einordnet. Ich frage, weil ich etwas dazulernen möchte.
Ich war wohl eher gerade im "hans on"-Modus und nicht im didaktischen Modus. Wenn der Befehl etwas (potenziell) gefährliches machen würde, hätte ich ihn so hier nicht geposted.

Der Host-Key von GitHub, der lokal gespeichert und offenbar einmal manuell als vo github.com stammend akzeptiert worden ist, wurde kompromittiert (bzw. die private Schlüsselhälfte, die dir nicht bekannt ist). GitHub hat den darum ersetzt, eben damit diese Verbindungen nicht mehr funktionieren.

Durch das Entfernen wird man beim nächsten Verbindungsversuch wieder gefragt, ob man dem vertrauen möchte. Andernfalls würde hier eine Warnmeldung erscheinen.
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: GitHubs Schlüsselpatzer: Muss ich was tun?

Beitrag von Meillo » 27.03.2023 14:33:28

Mein Post ist sicherlich in verschiedener Weise eine Dopplung. Vielleicht hilft er dennoch beim Verstaendnis.
JTH hat geschrieben: ↑ zum Beitrag ↑
24.03.2023 22:39:59
buhtz hat geschrieben: ↑ zum Beitrag ↑
24.03.2023 22:32:46
Warum interessiert mich der Host key überhaupt?
Für dich ist GitHubs Schlüssel hauptsächlich relevant, um identifizieren zu können, dass du wirklich mit einem GitHub-Server sprichst. Wenn der Server seinen eigenen Schlüssel geändert hat (wie hier passiert) – oder im ungünstigen Fall jemand deine Verbindung böswillig anzwackt – beschwert sich SSH, dass sich der Schlüssel der Gegenseite unerwartet verändert hat.
Kann man das ``hauptsaechlich'' in deinem ersten Satz nicht streichen? Der Hostkey ist die Identifikation des Servers. Wenn der private Hostkey oeffentlich wird, koennen sich andere Server als diesen ausgeben. Dazu muss aber auch das DNS manipuliert werden, da der Hostkey anhand des Domainnames (bzw. der IP-Adresse) geprueft wird. Solang das DNS korrekt ist, ist es irrelevant, ob der private Hostkey veroeffentlicht wurde, vermute ich.

Github wird nun sicherlich einen neuen Hostkey erzeugen. Folglich wird beim naechsten SSH-Kontakt die Hostkey-Ueberpruefung fehlschlagen, weil der Server ploetzlich einen anderen Hostkey hat als bisher. Das kann passieren, wenn der Server seinen Hostkey austauscht oder wenn jemand Man-in-the-Middle spielt. Indem du den Hostkey aus deinem Speicher rausloeschst, sagst du SSH einfach nur, dass es diesen Server noch nicht kennt.

Du solltest ueber einen unabhaengigen Kanal die Signatur des neuen Hostkeys in Erfahrung bringen (z.B. wenn der neue Hostkey im Heise-Artikel steht). Dann loeschst du den alten Hostkey aus dem Speicher. Dann baust du eine neue SSH-Verbindung auf. SSH sagt daraufhin, dass es den Server nicht kennt und zeigt die Signatur dessen Hostkeys an. Diesen vergleichst du dann mit der Signatur, die du dir aus der vertrauenswuerdigen Fremdquelle besorgt hast. Wenn sie passt, kannst du dir (recht) sicher sein, dass du wiederum mit dem offiziellen Github-Server kommunizierst. Lass dir den Hostkey also in deinen Speicher eintragen. Bei jeder weiteren SSH-Verbindung wird wiederum geprueft, dass es immer noch der gleiche Server ist.

paedubuchers Antwort ist insofern hilfreich, dass man mit dem Rausloeschen des Hostkeys verhindert, dass jemand einem einen falschen Server untermogelt. Man verliert damit nichts, schuetzt sich aber vor dem Untermogeln. Man wird dann in jedem Fall beim naechsten SSH-Kontakt wegen des Hostkeys gefragt, den man dann pruefen sollte, bevor man bestaetigt.
Use ed once in a while!

JTH
Moderator
Beiträge: 3015
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: GitHubs Schlüsselpatzer: Muss ich was tun?

Beitrag von JTH » 27.03.2023 15:04:11

Meillo hat geschrieben: ↑ zum Beitrag ↑
27.03.2023 14:33:28
Mein Post ist sicherlich in verschiedener Weise eine Dopplung. Vielleicht hilft er dennoch beim Verstaendnis.
JTH hat geschrieben: ↑ zum Beitrag ↑
24.03.2023 22:39:59
buhtz hat geschrieben: ↑ zum Beitrag ↑
24.03.2023 22:32:46
Warum interessiert mich der Host key überhaupt?
Für dich ist GitHubs Schlüssel hauptsächlich relevant, um […]
Kann man das ``hauptsaechlich'' in deinem ersten Satz nicht streichen? […]
Jo, das kann man auf der Clientseite, um die es hier geht, streichen.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: GitHubs Schlüsselpatzer: Muss ich was tun?

Beitrag von MSfree » 27.03.2023 15:05:09

buhtz hat geschrieben: ↑ zum Beitrag ↑
24.03.2023 22:51:09
Die Frage ob RSA/ECDSA/Ed25519 hat also gar nichts mit meinem Schüsselpaar zu tun oder etwas das inn ~/.ssh liegt?
Zusätzlich zu dem, was paedubucher und Meillo geschrieben haben:

Ja, es handelt sich um die Datei ~/.ssh/known_hosts, in der die Hostschlüssel gespeichert werden.

Benutzeravatar
paedubucher
Beiträge: 850
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Re: GitHubs Schlüsselpatzer: Muss ich was tun?

Beitrag von paedubucher » 27.03.2023 18:34:22

MSfree hat geschrieben: ↑ zum Beitrag ↑
27.03.2023 15:05:09
buhtz hat geschrieben: ↑ zum Beitrag ↑
24.03.2023 22:51:09
Die Frage ob RSA/ECDSA/Ed25519 hat also gar nichts mit meinem Schüsselpaar zu tun oder etwas das inn ~/.ssh liegt?
Zusätzlich zu dem, was paedubucher und Meillo geschrieben haben:

Ja, es handelt sich um die Datei ~/.ssh/known_hosts, in der die Hostschlüssel gespeichert werden.
Man kann die betreffenden Zeilen (Suche nach github.com) auch aus dieser Datei rauslöschen, mit ssh-keygen -R geht es aber komfortabler.
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: GitHubs Schlüsselpatzer: Muss ich was tun?

Beitrag von Meillo » 27.03.2023 18:49:10

paedubucher hat geschrieben: ↑ zum Beitrag ↑
27.03.2023 18:34:22
MSfree hat geschrieben: ↑ zum Beitrag ↑
27.03.2023 15:05:09
Ja, es handelt sich um die Datei ~/.ssh/known_hosts, in der die Hostschlüssel gespeichert werden.
Man kann die betreffenden Zeilen (Suche nach github.com) auch aus dieser Datei rauslöschen, mit ssh-keygen -R geht es aber komfortabler.
Bei der Meldung, wenn der Hostkey abweicht, wird die Zeile in der Datei angezeigt, um die es geht. Das ist praktisch fuer diejenigen, die es im Editor machen.
Use ed once in a while!

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: GitHubs Schlüsselpatzer: Muss ich was tun?

Beitrag von MSfree » 27.03.2023 18:58:07

paedubucher hat geschrieben: ↑ zum Beitrag ↑
27.03.2023 18:34:22
Man kann die betreffenden Zeilen (Suche nach github.com) auch aus dieser Datei rauslöschen,
Zumindest bei mir ist die known_hosts verschlüsselt, so daß man nicht mehr nach Klartext suchen kann. Mittels ausgegebener Zeilennummer kann man aber die betroffene Zeile im "Blindflug" löschen.

SSH gibt aber auch direkt den Befehl aus, um die Zeile aus known_hosts mittels ssh-keygen zu löschen.

Antworten