In einer sicheren Umgebung ist es häufig erforderlich, Benutzer zu sperren, nachdem sie eine bestimmte Anzahl von Malen ein falsches Kennwort eingegeben haben. Dadurch wird das System wieder geschützt. Der Beitrag beschreibt, wie man ein Konto nach N falschen Anmeldeversuchen mit Hilfe von pam.d-Dateien sperrt . Das pam_faillock Das Modul unterstützt die vorübergehende Sperrung von Benutzerkonten bei mehreren fehlgeschlagenen Authentifizierungsversuchen. Dieses neue Modul verbessert die Funktionalität gegenüber dem bestehenden pam_tally2-Modul, da es auch eine vorübergehende Sperrung ermöglicht, wenn die Authentifizierungsversuche über einen Bildschirmschoner erfolgen.
Benutzer nach N falschen Anmeldungen sperren
1. Erstellen Sie zunächst eine Sicherungskopie der Datei /etc/pam.d/password-auth und /etc/pam.d/system-auth . Fügen Sie dann die rot markierten Zeilen zu beiden Dateien hinzu.
auth required pam_env.so auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600 auth sufficient pam_unix.so nullok try_first_pass auth [default=die] pam_faillock.so authfail audit deny=3 auth sufficient pam_faillock.so authsucc audit deny=3 auth requisite pam_succeed_if.so uid >= 500 quiet auth required pam_deny.so account required pam_faillock.so account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 500 quiet account required pam_permit.so password requisite pam_cracklib.so try_first_pass retry=3 type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so session optional pam_oddjob_mkhomedir.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so The above configuration file would lock out users after 3 unsuccessful login attempts and unlock them after 10 minutes.
Hier
leugnen - ermöglicht es uns, den Wert N (Anzahl der Versuche) festzulegen, nach dem das Benutzerkonto gesperrt werden soll.
unlock_time - ist die Zeit, für die das Konto gesperrt bleiben soll [Optional]
even_deny_root – stellt sicher, dass die gleiche Regel auch für Root-Benutzer gilt. Um Root-Benutzer von dieser Richtlinie auszuschließen, entfernen Sie einfach den Parameter aus der Zeile [Optional].
Hinweis :Die Reihenfolge der Zeilen in den Dateien ist wichtig und jede Änderung der Reihenfolge würde dazu führen, dass alle Benutzer einschließlich des Root-Benutzers gesperrt werden, wenn Sie die Option even_deny_root verwenden.
2. Um den Root-Benutzer zu sperren, ist auth pam_faillock.so erforderlich Zeile sollte sowohl in /etc/pam.d/system-auth hinzugefügt werden und /etc/pam.d/password-auth wie folgt:
auth required pam_faillock.so preauth silent audit deny=3 even_deny_root unlock_time=1200 root_unlock_time=600
3. Um zu verhindern, dass ein Benutzer selbst nach mehreren fehlgeschlagenen Anmeldungen gesperrt wird, fügen Sie die folgende Zeile direkt über dem pam_faillock hinzu sowohl in /etc/pam.d/system-auth und /etc/pam.d/password-auth und ersetzen Sie user1, user2 durch die tatsächlichen Benutzernamen.
auth [success=1 default=ignore] pam_succeed_if.so user in user1:user2:user3
4. Starten Sie den sshd-Dienst neu.
# systemctl restart sshd
Setzen Sie das gesperrte Benutzerpasswort zurück
1. Zum Anzeigen von Authentifizierungsfehleraufzeichnungen:
# faillock --user [username]
2. Zum Zurücksetzen von Authentifizierungsfehleraufzeichnungen:
# faillock --user [username] --reset