Вопрос или проблема
Я просто задумался, при чтении /var/log/auth.log на моем сервере Ubuntu я вижу много логов примерно такого вида:
2025-01-19T23:49:40.513637+00:00 chriscigxyz sshd[137774]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.92.0.175 user=root
2025-01-19T23:49:42.631077+00:00 chriscigxyz sshd[137774]: Failed password for root from 218.92.0.175 port 47209 ssh2
2025-01-19T23:49:45.698558+00:00 chriscigxyz sshd[137774]: Failed password for root from 218.92.0.175 port 47209 ssh2
2025-01-19T23:49:49.238001+00:00 chriscigxyz sshd[137774]: Failed password for root from 218.92.0.175 port 47209 ssh2
2025-01-19T23:49:50.483799+00:00 chriscigxyz sshd[137774]: Received disconnect from 218.92.0.175 port 47209:11: [preauth]
2025-01-19T23:49:50.484162+00:00 chriscigxyz sshd[137774]: Disconnected from authenticating user root 218.92.0.175 port 47209 [preauth]
2025-01-19T23:49:50.484421+00:00 chriscigxyz sshd[137774]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.92.0.175 user=root
Насколько я сейчас понимаю, это указывает на то, что IP-адрес 218.92.0.175 пытался войти и аутентифицироваться 3 раза с пользователем root.
Однако сразу после “Disconnected from authenticating user” в последней строке написано “PAM 2 more authentication failures”.
Означает ли это, что было еще 2 попытки аутентификации в этом процессе? Означает ли это, что всего было 3 или 5 попыток?
Я спрашиваю, потому что пишу свой собственный скрипт на Python для анализа и суммирования содержимого файла auth.log, и хотел бы знать, считать ли это как 3 или 5 в данном случае.
Я не могу найти какие-либо окончательные ответы на это, я мало что знаю о PAM тоже…
Ответ или решение
Понимание логов аутентификации, таких как "PAM 2 more authentication failures", является важной частью работы администратора систем Linux, особенно в случае анализа безопасности и защиты серверов. Давайте разберёмся, что это сообщение означает и как его интерпретировать.
Теория
PAM (Pluggable Authentication Modules) – это набор библиотек, которые помогают в управлении учетными данными пользователей и в их аутентификации в Unix-подобных системах. PAM используется на сервере для обработки всех аспектов аутентификации – от проверки паролей до разрешения доступа на основании различных политик.
Когда система сообщает о неудаче аутентификации через PAM, журнал пишет об этом исчерпывающе, фиксируя попытки входа в систему, успешные или неудачные, а также другие события, касающиеся процессов аутентификации.
Сообщение "PAM 2 more authentication failures" указывает на то, что были попытки аутентификации, которые закончились неудачно. Это важно для понимания, сколько раз была предпринята неудачная попытка входа за определенный период времени.
Пример
В приведенном журнале:
2025-01-19T23:49:40.513637+00:00 chriscigxyz sshd[137774]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.92.0.175 user=root
2025-01-19T23:49:42.631077+00:00 chriscigxyz sshd[137774]: Failed password for root from 218.92.0.175 port 47209 ssh2
2025-01-19T23:49:45.698558+00:00 chriscigxyz sshd[137774]: Failed password for root from 218.92.0.175 port 47209 ssh2
2025-01-19T23:49:49.238001+00:00 chriscigxyz sshd[137774]: Failed password for root from 218.92.0.175 port 47209 ssh2
2025-01-19T23:49:50.483799+00:00 chriscigxyz sshd[137774]: Received disconnect from 218.92.0.175 port 47209:11: [preauth]
2025-01-19T23:49:50.484162+00:00 chriscigxyz sshd[137774]: Disconnected from authenticating user root 218.92.0.175 port 47209 [preauth]
2025-01-19T23:49:50.484421+00:00 chriscigxyz sshd[137774]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.92.0.175 user=root
Из этого видно, что сначала произошло событие pam_unix(sshd:auth): authentication failure
, затем зафиксированы три неудачные попытки ввода пароля Failed password for root
. Последняя строка "PAM 2 more authentication failures"
соотносится именно к этим событиям.
Применение
-
Подсчёт аутентификаций: На первый взгляд, вам может показаться, что всего было пять попыток аутентификации из-за того, что строка упоминает "2 more". Однако на практике эти два дополнительных упоминания – это часть попыток, уже отраженных в предшествующих записях. Логические блоки часто сгруппированы вместе, а это сообщение просто подчеркивает в совокупности весь блок неудачных событий.
-
Применение в скриптах: При создании скрипта для анализа журналов рекомендуется суммировать количество событий "Failed password" и других сообщений PAM, чтобы обозначить уникальную сессию или блок попыток входа. В этом случае количество попыток следует считать как три.
-
Практика безопасности: Такие журналы позволяют анализировать потенциальные попытки взлома, поскольку повторяющиеся неудачные попытки аутентификации могут свидетельствовать о брутфорс-атаках или попытках несанкционированного доступа. Рекомендуется применение дополнительно усиленных мер безопасности, таких как fail2ban, для автоматического блокирования IP-адресов после нескольких неудачных попыток входа.
-
Интерпретация данных: Часто сообщения о неудачной аутентификации связаны механически между различными конфигурациями сертификации и алгоритмами SSH. Важно понимать, что автоматизированный скрипт может облегчить анализ, но требует глубокого понимания механики работы PAM и sshd.
Заключение
Опора на логи аутентификации такой, как "PAM 2 more authentication failures", имеет огромное значение для системных администраторов и специалистов по безопасности. Эти журналы позволяют распознавать и предупреждать угрозы, а также оптимизировать управление доступами в системе. Ваш скрипт анализирует события для защиты ресурсов, что, в свою очередь, способствует кибербезопасности всей инфраструктуры.