Eine regelmäßige Änderung von Kennwörtern ist unter gängigen Betriebssystemen kein Problem. Aber da gibt es ja auch noch SSH-Keys um sich an Servern anzumelden. Auch ein SSH-Key kann natürlich mit einem Kennwort geschützt werden. Der Server an dem man sich damit anmeldet kann aber weder prüfen ob der Key mit einem Kennwort geschützt ist, noch wann dieses gesetzt wurde. Es mag eine Spitzfindigkeit sein, aber gerade die machen ja oft besonders Spaß. In vielen Dokumenten zum Datenschutz wird eine regelmäßige Änderung von Kennwörtern gefordert, ist das bei einem SSH-Key der Fall? Und wie stellt der Admin das sicher?
Bisher habe ich gerne One Time Passwords (TOTP, Time based One Time Password) mittels OPIE unter Debian genutzt. Leider ist OPIE in aktuellen Debianversionen nicht mehr dabei.
Als Alternative kann man das PAM-Modul “google_authenticator” verwenden. Es funktioniert zwar etwas anders als OPIE erhöht aber die Sicherheit auf ähnliche Weise. Während man bei OPIE quasi wählen kann ob man sich mit seinem normalen Password oder aber mit einem One-Time-Password anmelden möchte benötigt man beim google_authenticator stets beides.
Für unseren Testserver brauchte ich eine Möglichkeit eine virtuelle Xen-Maschine auf ein anderes System zu klonen. Auf der Dom0 wird hierzu ein LVM-Snapshot der zu klonenden Maschine erzeugt, damit sich die Daten während des Kopiervorgangs nicht verändern.
Das Ziel des Kopiervorgangs ist eine andere Dom0, welche per SSH erreichbar ist. Ausgelöst wird der Kopiervorgang von einem dritten System aus, weil nur hier die nötigen SSH-Keys vorliegen (der Befehl ist Teil eines komplexeren Scripts welches weitere Informationen von anderen Rechnern per SSH einsammelt).
Insgesamt sind an dem Kopiervorgang also drei Systeme beteiligt. Der Rechner von dem aus das Script gestartet wird, die Quell-Dom0 und die Ziel-Dom0.