Чтобы настроить pam_tally2 для блокировки учетной записи пользователя после определенного количества неудачных попыток входа в систему, выполните следующие действия:
1. Добавьте следующую строку в раздел auth и account файлов /etc/pam.d/system-auth и /etc/pam.d/password-auth.
auth required pam_tally2.so deny=3 onerr=fail unlock_time=500 account required pam_tally2.so
Примечание: в RHEL 5 есть только файл /etc/pam.d/system-auth.
2. Пример файла 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 required pam_tally2.so deny=3 onerr=fail unlock_time=300 auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth required pam_deny.so account required pam_tally2.so account required pam_unix.so broken_shadow account sufficient pam_succeed_if.so uid < 500 quiet account required pam_permit.so password requisite pam_cracklib.so try_first_pass retry=3 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 [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so
Порядок правил pam очень важен.
На RHEL6 записи pam_tally2 должны присутствовать как в файлах system-auth, так и в файле password-auth.
Примечание. Все файлы в /etc/pam.d должны быть в режиме доступа 644.
3. pam_tally2 не совместим со старым форматом файла журнала ошибок pam_tally.
По умолчанию файл, в котором хранится счетчик неудачных попыток входа, называется /var/log/tallylog.
Убедитесь, что права у Tallylog 600.
# chmod 600 /var/log/tallylog ; chown root:root /var/log/tallylog
иначе будет записано сообщение об ошибке, как показано ниже в /var/log/secure.
var/log/secure:Nov 20 18:43:17 localhost login: pam_tally2(login:auth): /var/log/tallylog is either world writable or not a normal file var/log/secure:Nov 20 18:43:23 localhost login: pam_tally2(login:auth): /var/log/tallylog is either world writable or not a normal file
Чтобы проверить список пользователей, попавших в число максимальных попыток, введите команду «pam_tally2».
# pam_tally2
# pam_tally2 -u testuser
Чтобы сбросить число неудачных попыток входа в систему, выполните следующую команду.
# pam_tally2 -r -u testuser
– Если вы хотите заблокировать пользователя root, добавьте «even_deny_root» в строку pam_tally2.so в разделе auth файла /etc/pam.d/system-auth (а также в файл password-auth, если необходимо).
auth required pam_tally2.so deny=3 onerr=fail unlock_time=60 even_deny_root account required pam_tally2.so
– Если вы хотите заблокировать только пользователя root, добавьте следующую строку в раздел auth файла /etc/pam.d/system-auth (а также файл password-auth, если необходимо).
auth [success=1 default=ignore] pam_succeed_if.so gid ne 0 auth required pam_tally2.so deny=3 onerr=fail unlock_time=60 even_deny_root
Примечание: параметр «no_magic_root» не требуется настраивать в pam_tally2 в RHEL 6, так как обычно неудачные попытки доступа root не приводят к блокировке учетной записи root. Для получения более подробной информации о pam_tally2 проверьте файл /usr/share/doc/pam-ndomVersion‹/txts/README.pam_tally2.
pam-tally2 поддерживаемые версии
Примечание: модуль pam-tally2 предоставляется с момента выпуска CentOS / RHEL5 GA (5.0), как показано ниже:
# uname -r 2.6.18-8.el5
# rpm -q pam pam-0.99.6.2-3.14.el5 pam-0.99.6.2-3.14.el5
# rpm -ql pam | grep tally2.so /lib/security/pam_tally2.so /lib64/security/pam_tally2.so
см. также
Как блокировать учетные записи Linux после неудачных попыток входа
Как узнать или сбросить количество неудачных попыток входа в Astra Linux