Ich möchte wissen, wie ich eine dynamische Authentifizierung für einen Benutzer unter Linux erstellen kann (und ob dies möglich ist).
Der Server würde das Benutzerkennwort regelmäßig ändern und der Benutzer würde ein Programm (wie ein Token) verwenden, um das richtige Kennwort abzurufen und einzugeben.
Antwort1
Nicht genau das, wonach Sie suchen, aber ich habe gesehen, dass OTPW für solche Szenarien verwendet wird. Es ist ein Komplettpaket, das sich über PAM-Module in ein Linux-System integrieren lässt.
Auszug
Das OTPW-Paket besteht aus dem Einmalpasswortgenerator
otpw-gen
plus zwei Verifizierungsroutinenotpw_prepare()
undotpw_verify()
kann leicht zu Programmen wielogin
oderftpd
auf POSIX-Systemen hinzugefügt werden. Für Plattformen, die die Pluggable Authentication Method (PAM)-Schnittstelle unterstützen, ist auch ein geeigneter Wrapper enthalten. Auf diese Weise erweiterte Anmeldesoftware ermöglicht eine einigermaßen sichere Benutzerauthentifizierung über unsichere Netzwerkleitungen. Der Benutzer führt eine Passwortliste auf Papier mit sich. Das Schema ist so konzipiert, dass es gegen Diebstahl der Papierliste und Race-for-the-last-letter-Angriffe robust ist. Kryptografische Hashwerte der Einmalpasswörter werden zur Verifizierung im Home-Verzeichnis des Benutzers gespeichert.
In Ihrem Fall sollten Sie den Anweisungen zur PAM-Installation auf dieser Seite folgen.
Auszug
Wenn Ihr System Pluggable Authentication Modules [Mor01,XSSO] unterstützt, kompilieren Sie einfach die Shared Library
pam_otpw.so
und kopieren Sie sie in das Verzeichnis, in dem sich andere PAM-Module befinden (unter Linux normalerweise/lib/security/
). Bearbeiten Sie dann die PAM-Konfigurationsdatei für die Anwendung, in der Sie OTPW verwenden möchten, wie in Ihrem PAM System Administrators' Guide beschrieben. Daspam_otpw.so
bietet sowohl eine Authentifizierungs- als auch eine Sitzungskomponente. Die Authentifizierungskomponente fragt nach einem Einmalkennwort und überprüft dieses, die Sitzungskomponente druckt nach jedem erfolgreichen Login eine Erinnerung aus, wie viele unbenutzte Kennwörter Sie noch haben.Um beide Komponenten bei der Anmeldung in Ihrem System über Secure Shell zu verwenden, müssen Sie möglicherweise
/etc/pam.d/sshd
die Zeilen hinzufügenauth required pam_otpw.so session optional pam_otpw.so
Bei OpenSSH 3.4 müssen Sie beispielsweise sicherstellen, dass Ihre Version PAM-Unterstützung enthält, und Sie müssen
/etc/ssh/sshd_config
die Zeilen hinzufügenUsePrivilegeSeparation no PAMAuthenticationViaKbdInt yes
Um OpenSSH zur Verwendung der PAM-Authentifizierung zu zwingen (anstelle der eigenen hostbasierten oder Publickey-Methoden, die es normalerweise zuerst versucht), verwenden Sie
“ssh -o PreferredAuthentications=keyboard-interactive”
.