Revision 5 vom 2009-10-16 09:26:32

Nachricht löschen

Umgang mit Hostkeys

Private Hostkeys

Handling

Die privaten Keys lagern ausschließlich auf den Rechnern, auf denen sie in Gebrauch sind und werden in keinem Fall übers Netz gespielt. Der Transport der Keys kann über USB-Sticks, Disketten usw. erfolgen. Das gleiche gilt für Backups der Keys.

/!\ Wegen der sonst nicht zu kontrollierenden Mißbrauchsgefahr sind nutzergebundene private Keys grundsätzlich mit einer Passphrase zu verschlüsseln!

Generierung

# Erstellt ein RSA-4096 Schluesselpaar. 
ssh-keygen -t rsa -b 4096 -N "" -f /etc/ssh/ssh_host_rsa_key

Konsistenz der Keys

Kompromittierter public Key

Die public-Keys der Rechner werden in regelmäßigen Abständen von zentraler Stelle übers Netz eingesammelt und auf Veränderungen überprueft. Sollten sich public-Keys verändert haben, werden die zuständigen Techniker automatisch informiert. Der betroffen Rechner wird aus ssh_known_hosts entfernt.

Kompromittierter private Key

Der Rechner meldet beim Versuch sich einzuloggen das Problem und weist alle Verbindungen zurueck.

Administration

Automatisch

Regelmäßiges Einsammeln der public-Keys und die Benachrichtigung im Falle von Veränderungen. Alle validen Keys werden zu einem ssh_known_hosts-File zusammengefasst und öffentlich gemacht (Webseite, um das File extern zu verbreiten; Filesystem (/home/config/openssh/ssh_known_hosts), für die interne Verbreitung). Nicht valide Keys, die aus einer Inkonsistenz her rühren oder nicht unseren Anforderungen (mindestens RSA-2048, Hostdatenbankeintrag erforderlich) genügen, werden unmittelbar aus ssh_known_hosts entfernt.

Nicht automatisch

Im Falle einer Inkonsistenz der public-Keys müssen die, für den betroffenen Rechner, zuständigen Techniker von Hand eingreifen (ssh-check), damit ihre (neuen, anderen) public-Keys wieder in ssh_known_hosts berücksichtigt werden können.

Passende Hostkeys müssen von den Technikern selbst erzeugt werden.

Wer möchte, dass sich sein Hostkey, z.B. nach einer Neuinstallation, nicht ändert, muss sich selber darum kuemmern (Da wir jedoch dauerhaft und mit hoher aktuallitaet das File ssh_known_hosts für alle Benutzer und Rechner vorhalten, spricht aus meiner Sicht nicht viel dagegen, dass sich HostKeys auch mal ändern können! ).

Tool

Für die Verwaltung der public Hostkeys kann das Script /home/config/bin/ssh-check verwendet werden:

./ssh-chek

Beispiele:

Rechner xyz hatte wärend der Neuinstallation einen anderen Hostkey und ist deshalb automatisch gesperrt worden. Aktuell hat der Rechner wieder den alten Hostkey.

Mit ssh-check –e xyz wird die Sperrung aufgehoben und der alte Hostkey wieder in ssh_known_hosts eingesetzt.


Rechner xyz wurde gehackt. Nach der Neuinstallation soll der alte Hostkey durch einen anderen ersetzt werden.

Mit ssh-check –i xyz wird die ssh-relevante Vergangenheit des Rechners gelöscht. Anschliessend wird der neue Hostkey gescannt und in ssh_known_hosts eingesetzt.


Rechner xyz wird in abc umbenannt.

Mit ssh-check –u xyz wird die ssh-relevante Vergangenheit des Rechners gelöscht. Mit ssh-check –i abc wird der Rechner in das System eingefuegt, der neue Hostkey gescannt und in ssh_known_hosts eingesetzt.