PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : private Organisation von Private/Public Key Verteilung


mekakic
2016-01-25, 10:55:38
Hi, ich lese mich gerade in das Thema Private/Public Keys ein und frage mich wie man die Keys am besten organisiert.

Ich habe hier drei Server, bei allen habe ich die Möglichkeit mich via SSH per Passwort oder Private/Public Key zu verbinden. Ich habe vier Endgeräte mit denen ich auf die drei Server zugreife (Desktop (Putty@Win10), Laptop (Mac), iPhone & iPad mit Serverauditor). Ich habe auf jedem Server den lokalen user 'mekakic'. Ich frage mich welches Vorgehen richtig ist:

Ich generiere auf jedem Endgerät ein RSA (id_rsa/id_rsa.pub)-Keypair und füge dem User 'mekakic' und authorized_keys die id_rsa.pub's von jedem Endgerät hinzu.
Ich generiere für den User 'mekakic' auf jedem Server ein Keypair (also 3x) und kopiere den Private Key auf jedes Endgerät, dass mit dem User Zugriff will.

Mein gefühltes Vorgehen wäre [1], so dass man die private-Keys möglichst nicht transportieren muss. Dazu frage ich mich weiterhin, wie man mit den Private Keys umgeht.

Aktuell liegt zum Beispiel der Putty private Key auf meinem Win10 Rechner unter C:\user\mekakic\.ssh herum. Solange man kein Bitlocker o.ä. einsetzt, kommt aber jeder mit Zugriff auf den Rechner an den private Key. D.h. auf solchen Geräte sollte man auch immer die Keys mit einer Passphrase versehen oder nur auf verschlüsselten Partitionen speichern?

Desweiteren denke ich darüber nach den User Nutzer mekakic sudo fähig zu machen und jeden root login über ssh zu verbieten. D.h. in Kombination mit verbotener Passwort Anmeldung über ssh bräuchte man immer beides. Private Key für die Verbindung und Passwort des Nutzers beim sudo für root-Rechte. Dazu würde das Passwort nicht auf den Endgeräten gespeichert sein, sondern nur auf den Maschinen eingegeben werden.

Was sind die Best-Practices wenn man im privaten Umfeld public/private Keys verwendet? Gefühlt muss man mehr bedenken als sich nur ein Passwort zu merken.

lumines
2016-01-25, 12:42:53
Dein 1. hat den Vorteil, dass man gezielt wieder den Public-Key von bestimmten Geräten entfernen kann. So wie bei 2. sind PKIs eigentlich auch nicht gedacht, denke ich.

Passphrasen für die Private Keys sollte man immer benutzen. Mit dem ssh-agent muss man die auch nur selten eingeben.

Desweiteren denke ich darüber nach den User Nutzer mekakic sudo fähig zu machen und jeden root login über ssh zu verbieten. D.h. in Kombination mit verbotener Passwort Anmeldung über ssh bräuchte man immer beides. Private Key für die Verbindung und Passwort des Nutzers beim sudo für root-Rechte. Dazu würde das Passwort nicht auf den Endgeräten gespeichert sein, sondern nur auf den Maschinen eingegeben werden.

Ist bei vielen Distributionen auch genau so voreingestellt, meine ich. Jedenfalls habe ich es anders auch noch nie gemacht.

Das hier könnte dich auch noch interessieren: http://blog.mailgun.com/security-guide-basic-infrastructure-security/

Disconnected
2016-01-25, 18:43:46
Du kannst mit puttygen.exe ein keypair generieren. Der private sollte mit pass phrase geschützt werden. Den public dann einfach zu den authorized_keys auf dem Server hinzufügen. Ob Du jetzt für jedes der vier Endgeräte ein eigenes keypair erstellst, ist Dir überlassen. Erhöht natürlich die Sicherheit. root login per SSH zu verbieten und dann mit su/sudo mache ich auch so.