Используйте Pam_Tally2 для блокировки и разблокировки неудачных попыток входа в систему SSH
Модуль pam_tally2 используется для блокировки учетных записей пользователей после определенного количества неудачных попыток входа в систему по SSH. Этот модуль ведет подсчет попыток доступа и слишком большого количества неудачных попыток.
Модуль pam_tally2 состоит из двух частей: одна — pam_tally2.so, а другая — pam_tally2. Он основан на модуле PAM и может использоваться для проверки файла счетчика и управления им. Он может отображать количество попыток входа пользователя в систему, устанавливать счетчик на индивидуальной основе, разблокировать все счетчики пользователей.
Модуль pam_faillock заменяет модули pam_tally и pam_tally2, которые устарели в RHEL 7 и RHEL 8. Он предлагает больше гибкости и возможностей, чем эти два. модули.
По умолчанию модуль pam_tally2 уже установлен в большинстве дистрибутивов Linux и управляется самим пакетом PAM. В этой статье показано, как блокировать и разблокировать учетные записи SSH после достижения определенного количества неудачных попыток входа в систему.
Как заблокировать и разблокировать учетные записи пользователей
Используйте файл конфигурации «/etc/pam.d/password-auth», чтобы настроить доступ к попыткам входа в систему. Откройте этот файл и добавьте в него следующую строку конфигурации AUTH в начале раздела «auth».
auth required pam_tally2.so file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200
Затем добавьте следующую строку в раздел «аккаунт».
account required pam_tally2.so
Параметры
- file=/var/log/tallylog – файл log по умолчанию используется для хранения количества входов в систему.
- deny=3 – запретить доступ после 3 попыток и заблокировать пользователя.
- even_deny_root – политика также применяется к пользователю root.
- unlock_time=1200 – учетная запись будет заблокирована на 20 минут. (удалите этот параметр, если вы хотите навсегда заблокировать его, пока не разблокируете вручную.)
После завершения вышеуказанной настройки попробуйте выполнить 3 неудачных попытки входа на сервер с использованием любого «имя пользователя». После того, как вы сделаете более 3 попыток, вы получите следующее сообщение.
[root@tecmint ~]# ssh [email
[email 's password:
Permission denied, please try again.
[email 's password:
Permission denied, please try again.
[email 's password:
Account locked due to 4 failed logins
Account locked due to 5 failed logins
Last login: Mon Apr 22 21:21:06 2013 from 172.16.16.52
Теперь проверьте счетчик, который пытается выполнить пользователь, с помощью следующей команды.
[root@tecmint ~]# pam_tally2 --user=tecmint
Login Failures Latest failure From
tecmint 5 04/22/13 21:22:37 172.16.16.52
Как сбросить или разблокировать учетную запись пользователя, чтобы снова включить доступ.
[root@tecmint pam.d]# pam_tally2 --user=tecmint --reset
Login Failures Latest failure From
tecmint 5 04/22/13 17:10:42 172.16.16.52
Убедитесь, что попытка входа в систему сброшена или разблокирована.
[root@tecmint pam.d]# pam_tally2 --user=tecmint
Login Failures Latest failure From
tecmint 0
Модуль PAM является частью всех дистрибутивов Linux, и представленная конфигурация должна работать во всех дистрибутивах Linux. Введите «man pam_tally2» из командной строки, чтобы узнать об этом больше.
Читайте также:
- 5 советов по обеспечению безопасности и защите SSH-сервера
- Блокируйте атаки грубой силы SSH с помощью DenyHosts