Блокировка учетной записи после неудачных попыток входа в систему на Debian/Ubuntu

Блокировка учетной записи после неудачных попыток входа в систему на Debian/Ubuntu


В этом подробном руководстве мы обсудим, как реализовать политику блокировки учетных записей pam_faillock ubuntu после неудачных попыток входа в систему на системах Debian и Ubuntu. Модуль pam_faillock позволяет автоматически блокировать учетную запись пользователя после определенного количества неудачных попыток аутентификации. Это обеспечивает защиту от атак методом грубой силы. В этой статье также будут обсуждены настройки конфигурации и последствия для безопасности при реализации этой защиты.

Механизмы блокировки учетных записей являются важными мерами безопасности. Они помогают защитить системы Linux от атак методом грубой силы, когда злоумышленники многократно пытаются угадать пароли пользователей. Автоматическая блокировка учетных записей pam_faillock в ubuntu после нескольких неудачных попыток входа позволяет системным администраторам значительно снизить риск несанкционированного доступа. Кроме того, это поддерживает удобство использования системы для законных пользователей.

В этом учебном пособии вы узнаете:

  • Как настроить pam_faillock для автоматической блокировки аккаунтов после неудачных попыток входа
  • Настройка таймеров разблокировки и пороговых значений количества сбоев
  • Модификация стека PAM аутентификации для интеграции faillock
  • Тестирование и устранение неполадок функции блокировки учетной записи

Понимание pam_faillock

Модуль pam_faillock был введен в рамках проекта Linux-PAM для предоставления функциональности блокировки учетной записи на основе неудачных попыток аутентификации. Этот модуль ведет базу данных неудачных попыток входа и может автоматически блокировать учетные записи пользователей, когда превышен порог неудач. Механизм faillock работает, отслеживая сбои аутентификации через различные методы входа, включая графические входы, SSH-соединения и доступ к консоли TTY, что делает его эффективной защитой от различных векторов атак.

РЕШЕНИЕ ПРОБЛЕМ БЕЗОПАСНОСТИ
Эта конфигурация защищает от случайных попыток подбора паролей, но не предотвращает физический доступ через режим восстановления или системы с загрузкой с USB. Для полной безопасности комбинируйте это с паролями BIOS/UEFI и шифрованием диска.

КРИТИЧЕСКОЕ ПРЕДУПРЕЖДЕНИЕ О БЕЗОПАСНОСТИ — ОБЯЗАТЕЛЬНО К ЧТЕНИЮ
Прежде чем вносить какие-либо изменения в конфигурацию PAM, ВСЕГДА держите открытой сессию root в другом окне терминала. Если вы сделаете ошибку и не сможете войти, эта резервная сессия позволит вам отменить изменения. Сначала протестируйте эту конфигурацию в виртуальной машине перед применением к рабочим системам.

Инструкции по конфигурации блокировки учетной записи

  1. Настройка параметров faillock: Создайте или отредактируйте файл конфигурации faillock, чтобы определить поведение блокировки

    sudo nano /etc/security/faillock.conf

    Добавьте следующие параметры конфигурации для управления поведением блокировки учетной записи:

    deny = 5  unlock_time = 300  fail_interval = 900
  2. Параметр deny устанавливает количество неудачных попыток перед блокировкой (5 попыток), unlock_time указывает длительность блокировки в секундах (300 секунд=5 минут), а fail_interval определяет временной интервал для подсчета неудач (900 секунд=15 минут).

  3. Резервное копирование оригинальной конфигурации: Создайте резервную копию перед внесением изменений.

    sudo cp /etc/pam.d/common-auth /etc/pam.d/common-auth.backup

    Этот резервный файл позволяет вам быстро восстановить оригинальную конфигурацию, если что-то пойдет не так:

    sudo cp /etc/pam.d/common-auth.backup /etc/pam.d/common-auth
  4. Измените стек аутентификации PAM: Отредактируйте общую конфигурацию аутентификации, чтобы интегрировать faillock

    sudo nano /etc/pam.d/common-auth

    Сначала проверьте вашу текущую конфигурацию, чтобы понять оригинальную структуру. Конфигурация по умолчанию для Debian 13/Ubuntu 24.04 должна выглядеть так:

    auth    [success=1 default=ignore]      pam_unix.so nullok  auth    requisite                       pam_deny.so  auth    required                        pam_permit.so

    Теперь измените конфигурацию, добавив модули faillock и скорректировав количество успешных попыток. Замените раздел аутентификации на:

    auth    requisite                       pam_faillock.so preauth silent  auth    [success=4 default=ignore]      pam_unix.so nullok  auth    [default=die]                   pam_faillock.so authfail     auth    sufficient                      pam_faillock.so authsucc  auth    requisite                       pam_deny.so  auth    required                        pam_permit.so

    Количество успешных операций изменяется с [success=1 на [success=4 потому что мы добавили три дополнительных модуля аутентификации (preauth, authfail, authsucc), которые должны быть пропущены, когда аутентификация проходит успешно. Параметр silent предотвращает вмешательство preauth в нормальный процесс аутентификации.

  5. Проверьте конфигурацию: Убедитесь, что блокировка учетной записи работает правильно

    su - linuxconfig

    Намеренно введите неправильные пароли пять раз, чтобы активировать механизм блокировки. При шестой попытке аккаунт должен быть заблокирован, чтобы предотвратить дальнейшие попытки входа в течение установленного времени.

    faillock --user linuxconfig
  6. Эта команда отображает текущее состояние блокировки и количество неудачных попыток для указанной учетной записи пользователя.

Примеры конфигурации Advanced Faillock

Настройки индивидуального блокирования

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

deny = 3  unlock_time = 1800  fail_interval = 600  local_users_only

Эта конфигурация блокирует учетные записи после 3 неудачных попыток на 30 минут, считает неудачи за 10 минут и применяется только к локальным пользователям (не к сетевой аутентификации).

Конфигурация административного переопределения

Для предотвращения блокировки административных учетных записей при сохранении защиты для обычных пользователей:

deny = 5  unlock_time = 300  fail_interval = 900  admin_group = wheel

Пользователи в группе wheel будут освобождены от автоматического блокирования, что позволит администраторам поддерживать доступ к системе во время инцидентов безопасности.

Устранение распространенных проблем

Проблемы с управлением аккаунтом

Общие проблемы с faillock включают:

  • Постоянные блокировки – Используйте $ sudo faillock --user имя_пользователя --reset для ручного сбрасывания статуса блокировки.
  • Конфигурация не применяется – Проверьте порядок модулей PAM. Более того, перезапустите службы аутентификации с помощью $ sudo systemctl restart gdm3
  • Блокировка учетной записи root — Пользователь root обычно по умолчанию исключен из faillock, но проверьте конфигурацию, если возникают проблемы.

Тестирование и мониторинг

Всегда проверяйте, что ваша конфигурация работает правильно:

faillock --user yourusername

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

РЕКОМЕНДАЦИЯ ПО ТЕСТИРОВАНИЮ
Всегда тестируйте конфигурацию pam_faillock в среде виртуальной машины перед развертыванием на производственных системах. Это позволит вам проверить поведение блокировки и процедуры разблокировки без риска для критически важных систем.

Дополнительные ресурсы по безопасности аутентификации

Для дополнительных тем по аутентификации PAM и безопасности ознакомьтесь с этими обширными руководствами, которые дополняют этот учебник:

  • Аутентификация USB в Linux с настройкой PAM – всеобъемлющее руководство по внедрению двухфакторной аутентификации с использованием USB-устройств и модулей PAM.
  • Разрешить короткие пароли в Linux через настройки PAM – Узнайте, как изменить политики паролей PAM и настроить минимальные требования к длине для конкретных сред.

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

  • pam_faillock Ручная страница — Официальная документация, охватывающая все параметры конфигурации и сценарии продвинутого использования
  • Руководство по конфигурации PAM Red Hat — Рекомендации по обеспечению безопасности и практики конфигурации аутентификации на уровне предприятия

Заключение

В этом учебном пособии вы узнали, как реализовать автоматическую блокировку учетной записи pam_faillock в Ubuntu после неудачных попыток входа, используя pam_faillock на системах Debian и Ubuntu. Мы рассмотрели настройку конфигурационного файла, изменение стека PAM и процедуры тестирования. Таким образом, пользователи с различными требованиями к безопасности могут эффективно применять подходящие уровни защиты.

Ваши настройки блокировки учетной записи pam_faillock в Ubuntu будут сохраняться после перезагрузок. Кроме того, вам нужно будет вручную сбрасывать блокировки с помощью команды faillock или ждать истечения автоматического таймера разблокировки. Более того, ключевые выводы из этого руководства включают:

  • Используйте pam_faillock вместо устаревшего pam_tally2 для современных систем.
  • Настройте соответствующие пороги неуспеха, которые сбалансируют безопасность и удобство использования.
  • Понимание различия между размещением модулей preauth и authfail
  • Всегда сохраняйте административный доступ во время изменений конфигурации
  • Регулярное тестирование гарантирует, что политики блокировки работают так, как ожидалось.

Эти лучшие практики обеспечивают совместимость вашей конфигурации блокировки аккаунта с текущими и будущими версиями системы. Не забывайте всегда тестировать изменения конфигурации в безопасной среде и поддерживать методы экстренного доступа для восстановления системы.

ИНСТРУКЦИИ ПО ВОССТАНОВЛЕНИЮ
Чтобы полностью удалить защиту faillock, удалите добавленные строки из /etc/pam.d/common-auth и закомментируйте или удалите файл конфигурации /etc/security/faillock.conf. Тщательно протестируйте после внесения изменений.

Комментарии

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

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