[gelöst] Ist ein SSH-Login per RSA-key sicher?
[gelöst] Ist ein SSH-Login per RSA-key sicher?
Hallo Zusammen,
ich habe offentsichtlich ein Sicherheitsproblem:
ssh -i .ssh/user1_rsa.key user1@sshserver funktioniert super!
ssh -i .ssh/user1_rsa.key user2@sshserver funktioniert auch, und ich bin tatsächlich im user2 Home-Verzeichnis gelandet!
Warum ist das möglich und wie kann ich das verhindern?
ich habe offentsichtlich ein Sicherheitsproblem:
ssh -i .ssh/user1_rsa.key user1@sshserver funktioniert super!
ssh -i .ssh/user1_rsa.key user2@sshserver funktioniert auch, und ich bin tatsächlich im user2 Home-Verzeichnis gelandet!
Warum ist das möglich und wie kann ich das verhindern?
Zuletzt geändert von tubbi am 20.12.2024 20:14:12, insgesamt 1-mal geändert.
Re: Ist ein SSH-Login per RSA-key sicher?
Öffentliche Schlüssel sind so gedacht, dass man die veröffentlichen kann. (Auch wenn es bei SSH auch gründe dagegen gibt.) Jeder der dir vertraut kann deinen öffentlichen Schlüssel kopieren und dir damit Zugang zum System geben. Wenn also user1 und user2 deinen Key kopiert haben kannst du auf beide Systeme. War ja deren freie Entscheidung das zu tun. (Umgekehrt nicht.) Der riesige Vorteil von RSA das ein Schlüssel Zugang zu vielen verschiedenen Dingen geben kann ohne die Sicherheit zu gefährden. Deswegen wird es an so vielen Stellen verwendet.
rot: Moderator wanne spricht, default: User wanne spricht.
Re: Ist ein SSH-Login per RSA-key sicher?
Ein sehr großer Vorteil gegenüber Passwörtern egal wie komplex ist, dass die geheime Information nicht an einen Zielserver übertragen werden muss. Du kannst dich ja mal aus Spaß mit strace an den SSH-Server-Prozess deines Servers dranhängen und das beliebig komplexe Passwort im Klartext mitlesen. Bei einer Anmeldung mit einem SSH-Key wirst du den geheimen Schlüssel auf dem Server mit strace nicht erfahren, da er nie den Server erreicht es sei denn er wurde dort erzeugt bzw. muss dort verwendet werden.
Re: Ist ein SSH-Login per RSA-key sicher?
Das kannst Du verhindern, in dem Du in der config des ssh-Servers (sshd) einträgst/festlegst, dass der user2 such nicht anmelden/einloggen soll/darf.
Debian 12.8 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: Ist ein SSH-Login per RSA-key sicher?
@wanne @uname
Besten dank für die Hinweise. Ist schon auf meiner Todo-Liste.
@mat6937
Danke für deine Antwort. Aber ... ich will nicht verhindern, dass sich beide user anmelden können. Ich will lediglich NICHT, dass sich user1 mit seinem eigenen Schlüssel als user2 anmelden kann: ssh -i .ssh/user1_rsa.key user2@sshserver
Besten dank für die Hinweise. Ist schon auf meiner Todo-Liste.
@mat6937
Danke für deine Antwort. Aber ... ich will nicht verhindern, dass sich beide user anmelden können. Ich will lediglich NICHT, dass sich user1 mit seinem eigenen Schlüssel als user2 anmelden kann: ssh -i .ssh/user1_rsa.key user2@sshserver
Re: Ist ein SSH-Login per RSA-key sicher?
Das könnte er nur, wenn er seinen öffentlichen Schlüssel im Speicherbereich von user2 also /home/user2/.ssh/authorized_keys ablegen könnte. Hat er diese Möglichkeit? Wenn ja, wie und warum?tubbi hat geschrieben:Ich will lediglich NICHT, dass sich user1 mit seinem eigenen Schlüssel als user2 anmelden kann
Re: Ist ein SSH-Login per RSA-key sicher?
Musst du den public-Key halt wieder löschen:tubbi hat geschrieben:20.12.2024 11:16:31Danke für deine Antwort. Aber ... ich will nicht verhindern, dass sich beide user anmelden können. Ich will lediglich NICHT, dass sich user1 mit seinem eigenen Schlüssel als user2 anmelden kann: ssh -i .ssh/user1_rsa.key user2@sshserver
Also in die ~/.ssh/authorized_keys gehen und die passende Zeile für user1 löschen.
rot: Moderator wanne spricht, default: User wanne spricht.
Re: Ist ein SSH-Login per RSA-key sicher?
@ wanne uname matt6937
Ich habe dank eurer Mithilfe die Lösung bzw. die Ursache gefunden.
Zur besseren Übersicht hier nochmal das Ausgangsszenario:
ssh -i .ssh/user1_rsa.key user1@sshserver <--- funktioniert super!
ssh -i .ssh/user1_rsa.key user2@sshserver <--- user1 ist als user2 im Homeverzeichnis von user2 eingeloggt.
Der Knackpunkt:
user2 ist der bei der vServer-Installation angelegte administrative User. Lösche ich also von diesem, also von user2, die .ssh/authorized_keys, dann wird user1 der Zugang als user2 verwehrt. Lege ich aber wieder eine neue authorized_keys für user2 an und fülle diese NUR mit dem user2_rsa.pub, so wie es sein soll, ohne den RSA-Pub von user1, dann ist das Ausgangsszenario wieder gültig!
LÖSUNG:
Das Home-Verzeichnis von user2 hatte bei der vServer-Installation den Besitzer "user2" und die Gruppe "users" bekommen. Die bisher fehlende Gruppe "user2" habe ich nun erstellt und beim user2 Home-Verzeichnis habe via "chgrp user2 /home/user2" geändert.
Schlussszenario:
ssh -i .ssh/user1_rsa.key user2@sshserver <--- user1 kann sich NICHT als user2 in das Homeverzeichnis von user2 einloggen.
Nochmals vielen Dank an alle für die gelieferten "Zaunphähle"!
Wie setze ich meine Fragen, bzw. den gesamten Beitrag auf "gelöst"?
Ich habe dank eurer Mithilfe die Lösung bzw. die Ursache gefunden.
Zur besseren Übersicht hier nochmal das Ausgangsszenario:
ssh -i .ssh/user1_rsa.key user1@sshserver <--- funktioniert super!
ssh -i .ssh/user1_rsa.key user2@sshserver <--- user1 ist als user2 im Homeverzeichnis von user2 eingeloggt.
Der Knackpunkt:
user2 ist der bei der vServer-Installation angelegte administrative User. Lösche ich also von diesem, also von user2, die .ssh/authorized_keys, dann wird user1 der Zugang als user2 verwehrt. Lege ich aber wieder eine neue authorized_keys für user2 an und fülle diese NUR mit dem user2_rsa.pub, so wie es sein soll, ohne den RSA-Pub von user1, dann ist das Ausgangsszenario wieder gültig!
LÖSUNG:
Das Home-Verzeichnis von user2 hatte bei der vServer-Installation den Besitzer "user2" und die Gruppe "users" bekommen. Die bisher fehlende Gruppe "user2" habe ich nun erstellt und beim user2 Home-Verzeichnis habe via "chgrp user2 /home/user2" geändert.
Schlussszenario:
ssh -i .ssh/user1_rsa.key user2@sshserver <--- user1 kann sich NICHT als user2 in das Homeverzeichnis von user2 einloggen.
Nochmals vielen Dank an alle für die gelieferten "Zaunphähle"!
Wie setze ich meine Fragen, bzw. den gesamten Beitrag auf "gelöst"?
Re: Ist ein SSH-Login per RSA-key sicher?
Wirklich nachvollziehen kann ich das nicht. Nur so, dass der Benutzer user1 unrechtmäßig den Key nach /home/user2/.ssh/authorized_keys kopiert hat. Trotz evtl. Berechtigung sollte das ein user1 normalerweise trotzdem nicht tun, da die Funktionalität standardmäßig nicht zu erwarten ist. Somit wohl Anwenderfehler und da die Berechtigung falsch war hat es funktioniert.
Re: Ist ein SSH-Login per RSA-key sicher?
@uname
Leider nicht so, wie du vermutest.
Es ist genauso, wie ich es in der Lösung beschrieben habe. Es gibt und gab lediglich nur 2 User die sich per SSH-Key anmelden.
Die pubs sind bzw. waren IMMER separat beim rechmäßigen User.
Ich verstehe es genauso wenig wie du. Deshalb auch mein Titel "Ist ein SSH-Login per RSA-key sicher?"
Leider nicht so, wie du vermutest.
Es ist genauso, wie ich es in der Lösung beschrieben habe. Es gibt und gab lediglich nur 2 User die sich per SSH-Key anmelden.
Die pubs sind bzw. waren IMMER separat beim rechmäßigen User.
Ich verstehe es genauso wenig wie du. Deshalb auch mein Titel "Ist ein SSH-Login per RSA-key sicher?"
Re: Ist ein SSH-Login per RSA-key sicher?
Warum sagst Du, dass user 1 als user2 angemeldet ist? Wie hast Du das festgestellt? Wie war die Ausgabe von:tubbi hat geschrieben:20.12.2024 14:15:16ssh -i .ssh/user1_rsa.key user2@sshserver <--- user1 ist als user2 im Homeverzeichnis von user2 eingeloggt.
Code: Alles auswählen
whoami
Debian 12.8 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: Ist ein SSH-Login per RSA-key sicher?
Die pubs oder der pub-key? Du hast doch nur ein einziges Schlüsselpaar, oder? Wer hat wie den einzigen pub-key, bei beiden usern (user1 und user2) auf dem Server (sshd) eingetragen?tubbi hat geschrieben:20.12.2024 18:21:27Die pubs sind bzw. waren IMMER separat beim rechmäßigen User.
Debian 12.8 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: [gelöst] Ist ein SSH-Login per RSA-key sicher?
@matt6937
"whoami" hatte ich nicht bemüht, weil allein die Tatsache, dass ich mit dem user1-key mich ins user2 Homeverzeichnis anmelden und dort alle Dateien und Ordner sehen konnte, nicht sein durfte. Außerdem stand der sudo-Befehl von user2 zur Verfügung.
Nein, nicht ein pub, sondern zwei unterschiedliche analog zu den Usern. Mit "pubs" waren die Einträge in den entsprechenden authorized_keys gemeint.
"whoami" hatte ich nicht bemüht, weil allein die Tatsache, dass ich mit dem user1-key mich ins user2 Homeverzeichnis anmelden und dort alle Dateien und Ordner sehen konnte, nicht sein durfte. Außerdem stand der sudo-Befehl von user2 zur Verfügung.
Nein, nicht ein pub, sondern zwei unterschiedliche analog zu den Usern. Mit "pubs" waren die Einträge in den entsprechenden authorized_keys gemeint.
Re: [gelöst] Ist ein SSH-Login per RSA-key sicher?
"Einträge" sind nicht relevant. Lt. deinem 1. Beitrag hast Du nur ein Paar keys:tubbi hat geschrieben:20.12.2024 21:37:08Mit "pubs" waren die Einträge in den entsprechenden authorized_keys gemeint.
Code: Alles auswählen
ssh -i .ssh/user1_rsa.key user1@sshserver
ssh -i .ssh/user1_rsa.key user2@sshserver
Debian 12.8 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: [gelöst] Ist ein SSH-Login per RSA-key sicher?
@matt6937
ok, dann hatte ich unvollständig informiert. Sorry!!
Vervollständigung:
user1 hat seinen eigenen RSA-Key "user1_rsa.key" und user2 hat einen eigenen RSA-Key "user2_rsa.key". Daraus resultieren die beiden unterschiedlich gefüllten authorized_keys.
ok, dann hatte ich unvollständig informiert. Sorry!!
Vervollständigung:
user1 hat seinen eigenen RSA-Key "user1_rsa.key" und user2 hat einen eigenen RSA-Key "user2_rsa.key". Daraus resultieren die beiden unterschiedlich gefüllten authorized_keys.
Re: [gelöst] Ist ein SSH-Login per RSA-key sicher?
OK, Du hast den 2. key aber nicht benutzt, denn:tubbi hat geschrieben:20.12.2024 22:00:09user1 hat seinen eigenen RSA-Key "user1_rsa.key" und user2 hat einen eigenen RSA-Key "user2_rsa.key". Daraus resultieren die beiden unterschiedlich gefüllten authorized_keys.
Code: Alles auswählen
ssh -i .ssh/user1_rsa.key user1@sshserver
ssh -i .ssh/user1_rsa.key user2@sshserver
Debian 12.8 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: [gelöst] Ist ein SSH-Login per RSA-key sicher?
@mat6937
der 2. Key machte ja keine Probleme:
ssh -i .ssh/user2_rsa.key user2@sshserver <--- user2 landet in seinem Homeverzeichnis.
ssh -i .ssh/user2_rsa.key user1@sshserver <--- erzwingt die Passworteingabe für die Anmeldung (nicht für die Passphrase) von user1.
der 2. Key machte ja keine Probleme:
ssh -i .ssh/user2_rsa.key user2@sshserver <--- user2 landet in seinem Homeverzeichnis.
ssh -i .ssh/user2_rsa.key user1@sshserver <--- erzwingt die Passworteingabe für die Anmeldung (nicht für die Passphrase) von user1.
Re: [gelöst] Ist ein SSH-Login per RSA-key sicher?
Weil Du neben pub-key-authentication auch noch password-authentication ermöglichst/erlaubst. BTW: Die Passphrase gehört dem Schlüssel und nicht dem user.tubbi hat geschrieben:20.12.2024 22:19:10ssh -i .ssh/user2_rsa.key user1@sshserver <--- erzwingt die Passworteingabe für die Anmeldung (nicht für die Passphrase) von user1.
Debian 12.8 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: [gelöst] Ist ein SSH-Login per RSA-key sicher?
@mat6937
Genau, so soll es auch sein!
Danke nochmals, auch an die "anderen"!
Genau, so soll es auch sein!
Danke nochmals, auch an die "anderen"!