Как заблокировать учетную запись пользователя после некоторого количества неудачных попыток входа в систему?

Как заблокировать учетную запись пользователя после некоторого количества неудачных попыток входа в систему?

Аутентификация

В этой статье будет показано, как заблокировать учетную запись пользователя после определенного количества неудачных попыток входа в системы CentOS, RHEL и Fedora. Здесь основное внимание уделяется обеспечению простой защиты сервера путем блокировки учетной записи пользователя после последовательного числа неудачных аутентификаций.

Данная цель может быть достигнута с помощью модуля pam_faillock, который помогает временно блокировать учетные записи пользователей в случае нескольких неудачных попыток аутентификации и ведет запись этого события в журнал (лог). Неудачные попытки входа в систему хранятся в файлах-пользователях в каталоге tally, который по умолчанию соответствует /var/run/faillock/.

pam_faillock является частью Linux PAM (Pluggable Authentication Modules), динамического механизма для реализации служб аутентификации в приложениях и различных системных сервисах.

Как заблокировать учетные записи пользователей после нескольких неудачных проверок подлинности?

Вы можете настроить вышеуказанные функции в файлах /etc/pam.d/system-auth и /etc/pam.d/password-auth, добавив записи ниже в раздел auth.

auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600
auth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=600

 

Куда:

  • auth — позволяет проводить аудит пользователей.
  • deny — используется для определения количества попыток (в этом случае 3), после чего учетная запись пользователя должна быть заблокирована.
  • unlock_time — устанавливает время (300 секунд = 5 минут), для которого учетная запись должна оставаться заблокированной.

 

Обратите внимание, что порядок этих строк очень важен, неправильные конфигурации могут привести к блокировке всех учетных записей пользователей.

Секция auth в обоих файлах должна содержать нижеуказанный контент в следующем порядке:

auth required pam_env.so
auth required pam_faillock.so preauth silent audit deny=3 unlock_time=300
auth sufficient pam_unix.so nullok try_first_pass
auth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=300
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so

 

Теперь откройте эти два файла с помощью вашего редактора.

# vi /etc/pam.d/system-auth
# vi /etc/pam.d/password-auth 

 

Записи по умолчанию в разделе 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
auth required pam_deny.so

 

После добавления вышеуказанных настроек он должен выглядеть следующим образом.

#%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_faillock.so preauth silent audit deny=3 unlock_time=300
auth sufficient pam_fprintd.so
auth sufficient pam_unix.so nullok try_first_pass
auth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=300
auth requisite pam_succeed_if.so uid >= 1000 quiet
auth required pam_deny.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
account required pam_faillock.so

 

Как заблокировать учетную запись root после неудачных попыток входа в систему

Чтобы заблокировать учетную запись root после неудачных попыток аутентификации, добавьте параметр even_deny_root в строки в обоих файлах раздела auth, как показано ниже:

auth required pam_faillock.so preauth silent audit deny=3 even_deny_root unlock_time=300
auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=300

 

 

После того, как вы все настроили. Вы можете перезапустить службы удаленного доступа, такие как sshd, для того, чтобы вышеуказанная политика вступила в силу, если пользователи будут использовать ssh для подключения к серверу.

# systemctl restart sshd [On SystemD]
# service sshd restart [On SysVInit]

 

Как протестировать ошибки входа пользователя в систему по SSH?

Из приведенных выше настроек мы настроили систему на блокировку учетной записи пользователя после 3 неудачных попыток аутентификации.

В этом случае пользователь tecmint пытается переключиться на пользователя aaronkilik, но после 3 неправильных логинов из-за неправильного пароля, получает сообщени «Отказано в аутентификации», учетная запись пользователя aaronkilik заблокирована, как показано сообщением об ошибке аутентификации при четвертой попытки.

 Как заблокировать учетную запись пользователя после некоторого количества неудачных попыток входа в систему?

 

 

Пользователь root также уведомляется о неудачных попытках входа в систему, как показано на скриншоте ниже:

Failed-Login-Attempts-Message

 

 

Как просмотреть неудачные попытки аутентификации?

Вы можете просмотреть все неудавшиеся случаи проверки подлинности с помощью утилиты faillock, которая используется для отображения и изменения журнала сбоев проверки подлинности.

Вы можете просмотреть неудачные попытки входа в систему для определенного пользователя, подобного этому:

# faillock --user aaronkilik

 

 Как заблокировать учетную запись пользователя после некоторого количества неудачных попыток входа в систему?

 

 

Чтобы просмотреть все неудачные попытки входа в систему, запустите файл faillock без каких-либо аргументов:

# faillock 

 

Чтобы очистить журналы ошибок аутентификации пользователя, выполните эту команду.

# faillock --user aaronkilik --reset 

 

Или же:

# fail --reset #clears all authentication failure records

 

Наконец, чтобы сообщить системе не блокировать учетные записи пользователей или пользователей после нескольких неудачных попыток входа, добавьте запись, отмеченную красным цветом, чуть выше, где pam_faillock сначала вызывается в разделе auth в обоих файлах (/etc/pam.d/ system-auth и /etc/pam.d/password-auth) следующим образом.

Просто добавьте полное имя пользователя, разделенное двоеточиями, к пользователю.

auth required pam_env.so
auth [success=1 default=ignore] pam_succeed_if.so user in tecmint:aaronkilik
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 unlock_time=600
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so

 

Для получения дополнительной информации смотрите страницы man pam_faillock и faillock.

# man pam_faillock
# man faillock 

 

Вот и все! В этой статье мы продемонстрировали, как обеспечить безопасность сервера, заблокировав учетную запись пользователя после того, как было выполнено некоторое количество неудачных попыток аутентификации.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасности от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Аутентификация

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню