V zabezpečeném prostředí je často požadavkem zamknout uživatele poté, co zadali nesprávné heslo na určitý počet opakování. Díky tomu je systém chráněn před útoky, jako jsou útoky pomocí slovníku hesel. Příspěvek popisuje, jak zamknout účet po N nesprávných pokusech o přihlášení pomocí souborů pam.d .
Zamknout uživatele po N nesprávných přihlášeních
1. Nejprve vytvořte zálohu souboru /etc/pam.d/password-auth a /etc/pam.d/system-auth . Poté do souboru přidejte následující řádky.
auth required pam_tally2.so file=/var/log/tallylog deny=N even_deny_root unlock_time=1200 account required pam_tally2.so
Zde
file=/var/log/tallylog – Zde jsou zaznamenány neúspěšné pokusy o přihlášení.
zamítnout – umožňuje nastavit hodnotu N (počet pokusů), po jejímž překročení má být uživatelský účet uzamčen.
even_deny_root – zajišťuje, že stejné pravidlo platí i pro uživatele root. Chcete-li z této zásady vyloučit uživatele root, jednoduše odeberte parametr z řádku. [Volitelné]
čas_odemknutí – je doba, po kterou by měl účet zůstat uzamčen [Volitelné]
Ukázka /etc/pam.d/system-auth bude vypadat následovně:
# cat /etc/pam.d/system-auth #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth sufficient pam_fprintd.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth required pam_deny.so account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 1000 quiet account required pam_permit.so password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_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_systemd.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so
2. Upravte soubor /etc/ssh/sshd_config zvýšit MaxAuthTries hodnotu na vyšší hodnotu, než je výše uvedené číslo.
# vi /etc/ssh/sshd_config MaxAuthTries 10
3. Po zaškrtnutí ChallengeResponseAuthentication no soubor uložte je již v souboru nastaveno.
# vi /etc/ssh/sshd_config ChallengeResponseAuthentication no
4. Restartujte službu sshd.
# service sshd restart
Resetujte zámek
1. protokol chyb příkaz hlásí počet neúspěšných pokusů o přihlášení pro konkrétního uživatele:
# faillog -u [username]
2. Pokud se používá pam_tally2.so, příkaz pam_tally2 lze použít ke kontrole počtu neúspěšných pokusů o přihlášení pro konkrétního uživatele:
# pam_tally2 -u [username]
3. Chcete-li resetovat zámek pro uživatele, pam_tally2 lze použít příkaz:
# pam_tally2 --user=[username] --reset