ssh-Keys portabel verwahren
-
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
ssh-Keys portabel verwahren
Ich hab mal eine grundsätzliche Frage.
Ich habe meine Serverlandschaft jetzt so mittels LDAP aufgebaut, dass ich bei jedem Login den sshPublicKey auf den Server übertrage, der dort zu temporären "known Hosts" hinzugefügt wird.
Das ganze läuft mittels sssd auch gecached ziemlich super ab. Den private Key hab ich auf meinem Arbeitsrechner und der ist mittels Passwort geschützt.
Ich hab ein File ~/.ssh/config, in das zu jedem Host ein Kurzname, User, Port und auch der private-Key angegeben ist, sodass ich mit ssh hostname ganz einfach jeden einzelnen Host erreichen kann.
An LDAP-Server ist für jeden User genau ein publicKey gespeichert. Sollte also mein private-Key aus irgend einem Grund verloren gehen oder geleakt werden, reicht es am LDAP-Server den Public-Key auszutauschen, und schon ist der geleakte private Key auf keinem Rechner mehr brauchbar.
Soweit so gut.
Wie verwaltet man solche Keys und Configs aber sinnvollerweise, wenn man auf mehreren Rechnern zu tun hat? Wie nehme ich die am besten mit?
Wenn ich das auf einem USB-Stick speichere, muss ich das Verzeichnis erst recht wieder lokal an die richtige Stelle kopieren/bind-mounten, damit ssh die Userconfig findet...
Und wenn ich von einem zu betreuenden Rechner auf einen anderen zugreifen möchte, benötige ich die Konfig incl. private-Key auch auf diesem Server... Wie bringe ich den ganzen Sermon dort hin?
Genau für solche Szenarien wäre natürlich git mit einem privaten Repo angesagt... Dann kann ich auf einem Rechner die Konfig anpassen und habs beim nächsten pull auch auf den anderen Rechnern aktualisiert.
Oder legt man so etwas in ein NFS-Share, welches beim Login an die entsprechende Stelle gemountet wird? Ist das sicher?
Wie löst ihr so etwas?
lg scientific
Ich habe meine Serverlandschaft jetzt so mittels LDAP aufgebaut, dass ich bei jedem Login den sshPublicKey auf den Server übertrage, der dort zu temporären "known Hosts" hinzugefügt wird.
Das ganze läuft mittels sssd auch gecached ziemlich super ab. Den private Key hab ich auf meinem Arbeitsrechner und der ist mittels Passwort geschützt.
Ich hab ein File ~/.ssh/config, in das zu jedem Host ein Kurzname, User, Port und auch der private-Key angegeben ist, sodass ich mit ssh hostname ganz einfach jeden einzelnen Host erreichen kann.
An LDAP-Server ist für jeden User genau ein publicKey gespeichert. Sollte also mein private-Key aus irgend einem Grund verloren gehen oder geleakt werden, reicht es am LDAP-Server den Public-Key auszutauschen, und schon ist der geleakte private Key auf keinem Rechner mehr brauchbar.
Soweit so gut.
Wie verwaltet man solche Keys und Configs aber sinnvollerweise, wenn man auf mehreren Rechnern zu tun hat? Wie nehme ich die am besten mit?
Wenn ich das auf einem USB-Stick speichere, muss ich das Verzeichnis erst recht wieder lokal an die richtige Stelle kopieren/bind-mounten, damit ssh die Userconfig findet...
Und wenn ich von einem zu betreuenden Rechner auf einen anderen zugreifen möchte, benötige ich die Konfig incl. private-Key auch auf diesem Server... Wie bringe ich den ganzen Sermon dort hin?
Genau für solche Szenarien wäre natürlich git mit einem privaten Repo angesagt... Dann kann ich auf einem Rechner die Konfig anpassen und habs beim nächsten pull auch auf den anderen Rechnern aktualisiert.
Oder legt man so etwas in ein NFS-Share, welches beim Login an die entsprechende Stelle gemountet wird? Ist das sicher?
Wie löst ihr so etwas?
lg scientific
dann putze ich hier mal nur...
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Re: ssh-Keys portabel verwahren
Eine wirkliche Lösung habe ich nicht. Aber warum überhaupt mitnehmen? Vielleicht kannst du die Anmeldung auf einen Server auslagern.scientific hat geschrieben:Wie verwaltet man solche Keys und Configs aber sinnvollerweise, wenn man auf mehreren Rechnern zu tun hat? Wie nehme ich die am besten mit?
Auf einen Anmeldeserver (oder sogar dein Arbeitsrechner mit SSH-Server) legst du einen persönlichen Benutzer inkl. deiner SSH-Konfiguration (Configs und Private Key) ab. Den Server selbst kannst du z. B. per Passwort oder OTP (libpam-otpw und otpw-bin) erreichen. Da du deinen privaten Key mit einen eigenen Passwort auf den Server schützt sollte es keinen Unterschied machen ob du das Passwort des Private Keys auf einen Client direkt oder über einen Client remote auf einen Anmeldeserver eingibst. Mit screen, tmux und ssh-agent kannst du evtl. den Zugriff vereinfachen. Einen Datentransfer zwischen Client über Server zum Ziel wirst du etwas umständlicher über einen Local-SSH-Port-Forwarding-Tunnel durchführen müssen. Auf den jeweiligen Client benötigst du nur noch einen SSH-Client, dein Benutzername und das Passwort/OTP.scientific hat geschrieben:Den private Key hab ich auf meinem Arbeitsrechner und der ist mittels Passwort geschützt.
Re: ssh-Keys portabel verwahren
Ich habe erst einmal den dateibasierten SSH-Key abgeschafft und nutze einen Nitrokey Pro (USB Smartcard Stick) wo mein private SSH-Key lagert, so kann ich das leaken schon mal einfacher verhindern, ansonsten nutze ich SSH Agent Forwarding, so das ich von Server A zu Server B springen kann. Eine ssh_config nutze ich nicht, sondern direkt die FQDNs.
- cosinus
- Beiträge: 4357
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: ssh-Keys portabel verwahren
Wenn musst du das auf doch eh nur 1x pro Rechner machen. Bist du (täglich?) an so vielen verschiedenen Rechnern das erste Mal angemeldet, dass sich das echt lohnt über eine andere Lösung nachzudenken? Also anders als den aktuellen privatekey auf nen Stick zu haben? Und wenn du den Stick nicht dabei hast, den key aber dennoch brauchst, dann könnte man ihn in die dropbox legen oder so.scientific hat geschrieben:26.04.2018 00:14:31Wie verwaltet man solche Keys und Configs aber sinnvollerweise, wenn man auf mehreren Rechnern zu tun hat? Wie nehme ich die am besten mit?
Re: ssh-Keys portabel verwahren
Jaa, packt alle eure private Keys auf die Server von Dropboxcosinus hat geschrieben:26.04.2018 10:35:00Und wenn du den Stick nicht dabei hast, den key aber dennoch brauchst, dann könnte man ihn in die dropbox legen oder so.
- cosinus
- Beiträge: 4357
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: ssh-Keys portabel verwahren
1. war das nur ein Vorschlag, muss ja nicht Dropbox seinbluestar hat geschrieben:27.04.2018 00:12:14Jaa, packt alle eure private Keys auf die Server von Dropbox
2. selbstverständlich lädt man den da nicht im Klartext hoch
-
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Re: ssh-Keys portabel verwahren
Ich hab auch an eigenen Filesharing-Server gedacht, nur für mich, nur für diesen Zweck... Statt Dropbox...
dann putze ich hier mal nur...
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
- cosinus
- Beiträge: 4357
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: ssh-Keys portabel verwahren
Stinknormaler webspace würde ja schon reichen.scientific hat geschrieben:27.04.2018 21:39:04Ich hab auch an eigenen Filesharing-Server gedacht, nur für mich, nur für diesen Zweck... Statt Dropbox...
Re: ssh-Keys portabel verwahren
In meinen Augen führt ihr das Thema ad absurdum... Da kann man doch auch gleich auf Key-Files verzichten und auf Passwörter zum Login setzen.
Re: ssh-Keys portabel verwahren
Sehe ich anders. Einen privaten Schlüssel per Passphrase zu entschlüsseln ist was ganz anderes als ein Passwort. Genauer ist die Frage wo Passphrase bzw. Passwort eingegeben, hin übertragen und im Klartext vorhanden sein müssen. Vergleiche EC-Karten-PIN mit Facebook-Passwort.
Re: ssh-Keys portabel verwahren
Ich bin bei dir, wenn der private Schlüssel sorgsam verwahrt ist. Wenn jmd. seinen verschlüsselten Private Key bei Dropbox oder einem anderen File-Hoster, dann hat das mit Sicherheit nicht mehr viel zu tun.
-
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Re: ssh-Keys portabel verwahren
Wenn ich selbst $FILEHOSTER bin?
dann putze ich hier mal nur...
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Re: ssh-Keys portabel verwahren
Dann schützt du den Zugriff auf den Key per Uername und Passwort, oder?
- cosinus
- Beiträge: 4357
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: ssh-Keys portabel verwahren
Was wäre dnen die alternative? Mit USB-Sticks jonglieren, die ein verschlüsseltes Filesystem beinhalten?bluestar hat geschrieben:29.04.2018 10:06:21Dann schützt du den Zugriff auf den Key per Uername und Passwort, oder?
-
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Re: ssh-Keys portabel verwahren
Die Angriffsfläche ist geringer, weil du den Stick physisch haben musst. Allerdings hast du keine Sperren für brute-force Angriffe auf den Stick.
dann putze ich hier mal nur...
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Re: ssh-Keys portabel verwahren
Ich setze bei Keys grundsätzlich auf den Nitrokey (USB-Smartcard), der schützt vor Brute-Force Angeriffen und selbst an einem kompromitierten Rechner ist der Download des privaten Keys von der Smartcard her gar nicht möglich.
- cosinus
- Beiträge: 4357
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: ssh-Keys portabel verwahren
Und wenn ich den Stick vergesse oder er nicht mehr lesbar ist, hab ich keine Möglichkeit mich per SSH einzuloggen.scientific hat geschrieben:01.05.2018 19:00:40Die Angriffsfläche ist geringer, weil du den Stick physisch haben musst. Allerdings hast du keine Sperren für brute-force Angriffe auf den Stick.
Verliere ich ihn bzw wird er mir gestolen, muss ich Angst haben, dass man mir per Brutefore den privatekey abluchst. Wenn ich den auf meinem privaten webspace hätte ist da wo der Unterschied?
Re: ssh-Keys portabel verwahren
Richtig, gleiches gilt für deine EC-Kartecosinus hat geschrieben:01.05.2018 19:21:59Und wenn ich den Stick vergesse oder er nicht mehr lesbar ist, hab ich keine Möglichkeit mich per SSH einzuloggen.
Da liegt der Nachteil darin, einen Key auf einem klassischen USB-Stick zu speichern.cosinus hat geschrieben:01.05.2018 19:21:59Verliere ich ihn bzw wird er mir gestolen, muss ich Angst haben, dass man mir per Brutefore den privatekey abluchst.
Wer schützt deinen privaten Webspace vor Brute-Force-Attacken oder DDos Attacken oder was passiert, wenn ein Keylogger dir Username und Passwort klaut?cosinus hat geschrieben:01.05.2018 19:21:59Wenn ich den auf meinem privaten webspace hätte ist da wo der Unterschied?
Versuch duch mal ne Rangliste der Speichermethoden und potenzieller Angriffsmöglichkeiten zu erstellen...
Für mich gilt die sicherste Methode ist eine Smartcard, danach kommt ein verschlüsselter Key als Datei auf dem Rechner, danach wäre ein Key auf einem USB-Stick.... Alles weitere wäre für mich keine Sicherheit mehr, sondern ein Albtraum
- cosinus
- Beiträge: 4357
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: ssh-Keys portabel verwahren
Ich wollte damit nur darstellen, dass das Ablegen der privatekeys auf USB-Sticks eben auch Nachteile haben kann. Du hast ja vor ein paar Tagen extrem deine Nase gerümpft, also ich "dropbox" schrieb
Re: ssh-Keys portabel verwahren
Am besten den Key auf den Stick und eine Sicherheitskopie in die Dropbox.
- cosinus
- Beiträge: 4357
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: ssh-Keys portabel verwahren
Dann lieber den Key ausdruckenuname hat geschrieben:01.05.2018 21:09:30Am besten den Key auf den Stick und eine Sicherheitskopie in die Dropbox.
-
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Re: ssh-Keys portabel verwahren
Man kann einen Zwischenstand zusammenfassen:
Es ist nicht einfach.
Es ist nicht einfach.
dann putze ich hier mal nur...
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
- cosinus
- Beiträge: 4357
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: ssh-Keys portabel verwahren
So ist es.scientific hat geschrieben:01.05.2018 21:23:05Man kann einen Zwischenstand zusammenfassen:
Es ist nicht einfach.
mehr Sicherheit == weniger Komfort
mehr Konfort == weniger Sicherheit
Ich hab bisher meine privates keys auf Sticks gehabt aber nie online verfügbar bzw in so einer Art private cloud. Vllt ist das mit dem nitro-key bei dir doch die beste Lösung. Ich persönlich hätte wohl die private keys auf ein privaten FTP hochgeladen, die private keys selbst haben ja ne passphrase. Und dann kann man ja noch definieren, dass man regelmäßig neue keys erstellen muss.
Re: ssh-Keys portabel verwahren
Da kann ich dir nur zustimmen, was für dich noch ne Option sein könnte, du verzichtest auf Keys komplett, arbeitest mit Passwort-Logins und sichert das Ganze mit One Time Passwords ab....scientific hat geschrieben:01.05.2018 21:23:05Man kann einen Zwischenstand zusammenfassen:
Es ist nicht einfach.
Den Generator trägst du komfortabel auf dem Smartphone mit dir rum.
- cosinus
- Beiträge: 4357
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: ssh-Keys portabel verwahren
Und wenn ich das Smartphone vergesse oder verliere, komm ich auch an den Generator nicht ranbluestar hat geschrieben:01.05.2018 23:40:47Den Generator trägst du komfortabel auf dem Smartphone mit dir rum.
Man findet immer nen Pferdefuß
Davon ab, ein Smartphone seh ich nicht grade als zusätzliche Sicherheit an