В Ubuntu все события, связанные с аутентификацией пользователей, фиксируются в системных логах. Эти записи позволяют отслеживать успешные и неудачные попытки входа, использование sudo, изменения учетных записей и другие действия, связанные с безопасностью.
Основной файл для анализа - /var/log/auth.log. В нем содержатся данные о входах в систему, SSH-сессиях и операциях с привилегиями.
Просмотр логов аутентификации
Для быстрого просмотра содержимого файла используется команда:
sudo less /var/log/auth.logОткроется прокручиваемый вывод:
Mar 25 10:15:42 ubuntu sshd[1234]: Accepted password for user1 from 192.168.1.10 port 54321 ssh2
Mar 25 10:16:01 ubuntu sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/apt update
Mar 25 10:17:22 ubuntu sshd[1250]: Failed password for invalid user admin from 203.0.113.5 port 41234 ssh2Первая строка показывает успешный вход по SSH, вторая выполнение команды через sudo, а третья неудачную попытку входа.
Для просмотра последних строк используется:
sudo tail /var/log/auth.logПример вывода:
Mar 25 11:05:10 ubuntu sshd[1300]: Failed password for root from 198.51.100.23 port 50222 ssh2
Mar 25 11:05:12 ubuntu sshd[1300]: Connection closed by authenticating user root 198.51.100.23 port 50222 [preauth]Фильтрация логов
Для поиска конкретных событий используется grep.
Поиск неудачных попыток входа:
sudo grep "Failed password" /var/log/auth.logПример результата:
Mar 25 11:05:10 ubuntu sshd[1300]: Failed password for root from 198.51.100.23 port 50222 ssh2
Mar 25 11:06:45 ubuntu sshd[1312]: Failed password for invalid user test from 203.0.113.10 port 42311 ssh2Поиск успешных входов:
sudo grep "Accepted password" /var/log/auth.logВывод:
Mar 25 10:15:42 ubuntu sshd[1234]: Accepted password for user1 from 192.168.1.10 port 54321 ssh2Для просмотра активности sudo:
sudo grep "sudo" /var/log/auth.logПример:
Mar 25 10:16:01 ubuntu sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/apt updateИспользование journalctl
В системах с systemd можно работать с логами через journalctl.
Просмотр логов аутентификации:
sudo journalctl _COMM=sshdПример вывода:
Mar 25 10:15:42 ubuntu sshd[1234]: Accepted password for user1 from 192.168.1.10 port 54321 ssh2
Mar 25 10:17:22 ubuntu sshd[1250]: Failed password for invalid user admin from 203.0.113.5 port 41234 ssh2Для фильтрации по времени:
sudo journalctl _COMM=sshd --since "1 hour ago"Результат:
Mar 25 11:05:10 ubuntu sshd[1300]: Failed password for root from 198.51.100.23 port 50222 ssh2Отслеживание в реальном времени
Для наблюдения за логами в реальном времени используется:
sudo tail -f /var/log/auth.logПри появлении новых событий они сразу выводятся:
Mar 25 11:10:01 ubuntu sshd[1400]: Accepted password for user2 from 192.168.1.20 port 53321 ssh2
Mar 25 11:10:15 ubuntu sudo: user2 : TTY=pts/1 ; PWD=/home/user2 ; USER=root ; COMMAND=/bin/systemctl restart nginxАнализ IP-адресов
Для извлечения IP-адресов неудачных попыток входа:
sudo grep "Failed password" /var/log/auth.log | awk '{print $11}'Пример вывода:
198.51.100.23
203.0.113.10Для подсчета количества попыток с каждого IP:
sudo grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nrРезультат:
5 198.51.100.23
3 203.0.113.10Проверка активности пользователей
Для просмотра последних входов используется команда:
lastПример:
user1 pts/0 192.168.1.10 Tue Mar 25 10:15 still logged in
user2 pts/1 192.168.1.20 Tue Mar 25 11:10 - 11:20 (00:10)Для неудачных попыток входа:
sudo lastbВывод:
root ssh:notty 198.51.100.23 Tue Mar 25 11:05 - 11:05 (00:00)
test ssh:notty 203.0.113.10 Tue Mar 25 11:06 - 11:06 (00:00)Ротация логов
Файл /var/log/auth.log со временем увеличивается. Для управления размером используется logrotate.
Проверка конфигурации:
cat /etc/logrotate.d/rsyslogПример:
/var/log/auth.log
{
rotate 7
daily
missingok
notifempty
compress
}Это означает, что лог хранится 7 дней, ежедневно архивируется и сжимается.
Ограничение доступа к логам
Файл логов доступен только привилегированным пользователям:
ls -l /var/log/auth.logВывод:
-rw-r----- 1 syslog adm 123456 Mar 25 11:20 /var/log/auth.logДоступ имеют только пользователи из группы adm и root.