In der am häufigsten verwendeten Konfiguration von Sudo muss der Benutzer sein Kennwort eingeben. In der Regel hat der Benutzer sein Kennwort bereits zur Authentifizierung im Konto verwendet. Durch erneute Eingabe des Kennworts wird bestätigt, dass der legitime Benutzer seine Konsole nicht verlassen hat und entführt wurde.
In Ihrem Setup wird das Kennwort des Benutzers nur zur Authentifizierung bei sudo verwendet. Insbesondere wenn der SSH-Schlüssel eines Benutzers kompromittiert ist, kann der Angreifer keine Root-Rechte auf dem Server erlangen. Der Angreifer könnte einen Schlüsselprotokollierer in das Konto einfügen, aber dieser Schlüsselprotokollierer könnte von anderen Benutzern erkannt und sogar automatisch überwacht werden.
Ein Benutzer muss normalerweise sein aktuelles Kennwort kennen, um es in ein anderes Kennwort zu ändern. Das passwd
Programm überprüft dies (es kann so konfiguriert werden, dass dies in Ihrem Szenario nicht sinnvoll oder überhaupt wünschenswert ist). Root kann jedoch das Passwort jedes Benutzers ändern, ohne das alte zu kennen. Daher kann ein Benutzer mit sudo-Befugnissen sein eigenes Kennwort ändern, ohne es an der passwd
Eingabeaufforderung durch Ausführen eingeben zu müssen sudo passwd $USER
. Wenn sudo
konfiguriert ist, dass das Kennwort des Benutzers erforderlich ist, muss der Benutzer das Kennwort auf sudo
jeden Fall eingegeben haben.
Sie können die Kennwortauthentifizierung selektiv deaktivieren. In Ihrer Situation würden Sie die Kennwortauthentifizierung in ssh und möglicherweise in anderen Diensten deaktivieren. Die meisten Dienste auf den meisten modernen Geräten (einschließlich Ubuntu) verwenden PAM , um Authentifizierungsmethoden zu konfigurieren. Unter Ubuntu befinden sich die PAM-Konfigurationsdateien in /etc/pam.d
. Kommentieren Sie die auth … pam_unix.so
Zeile in aus, um die Kennwortauthentifizierung zu deaktivieren /etc/pam.d/common-auth
. Darüber hinaus stellen Sie sicher , haben Sie PasswordAuthentication no
in /etc/ssh/sshd_config
zu deaktivieren sshd der integrierten Passwort - Authentifizierung.
Möglicherweise möchten Sie einigen administrativen Benutzern erlauben, sich mit einem Kennwort anzumelden oder die Kennwortauthentifizierung in der Konsole zuzulassen. Dies ist mit PAM möglich (es ist ziemlich flexibel), aber ich konnte Ihnen nicht sagen, wie es mir schlecht geht. Stellen Sie eine separate Frage, wenn Sie Hilfe benötigen.