01. Используем auditd
`auditd` (Audit Framework) — это мощная подсистема в Linux для сбора информации о событиях системы: кто, когда и что делал с файлами, запускал программы, менял настройки. *В контексте поиска неисправн
auditd (Audit Framework) — это мощная подсистема в Linux для сбора информации о событиях системы: кто, когда и что делал с файлами, запускал программы, менял настройки.
В контексте поиска неисправностей он особенно ценен, когда нужно понять, кто, когда и что изменил в системе.
Может не везде стоять но возможно везде стоит поставить
Просмотр и анализ логов
Логи пишутся в /var/log/audit/audit.log, но читать их вручную тяжело. Для этого есть ausearch.
Найти все события по ключу passwd_changes:
sudo ausearch -k passwd_changes
Найти события от конкретного пользователя (UID):
sudo ausearch -ua 1000 Где 1000 - UID пользователя
Найти события за последние 10 минут:
sudo ausearch -ts recent
Найти конкретную попытку неудачного входа (лог USER_LOGIN с результатом fail):
sudo ausearch -m USER_LOGIN --success no
Основные компоненты
auditd— сам демон, который пишет логи.auditctl— утилита для управления правилами в реальном времени (пока работает демон)./etc/audit/rules.d/— директория с файлами правил (обычноaudit.rules), которые загружаются при старте.ausearch— утилита для поиска событий в логах.aureport— утилита для генерации отчетов по логам./var/log/audit/audit.log— основной файл логов.
Без правил auditd не знает, за чем следить. Правила делятся на три типа: Watch (наблюдение за файлами/папками), Syscall (наблюдение за системными вызовами) и Control (управление).
Как временно добавить правило
Посмотреть текущие активные правила sudo auditctl -l
Типовые примеры правил
Следить за изменениями в важном конфигурационном файле:
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
-w /etc/passwd— следить за файлом.-p wa— какие права отслеживать:w(запись),a(изменение атрибута),r(чтение),x(исполнение).-k passwd_changes— ключ (метка) для удобного поиска.
Следить за всей директорией /etc на запись:
sudo auditctl -w /etc/ -p wa -k etc_modify
Осторожно: это может создать очень много записей в логах.
Отслеживать запуск бинарного файла (например, chmod):
sudo auditctl -w /usr/bin/chmod -p x -k chmod_execution
Наблюдение за системным вызовом (продвинутый уровень):
Допустим, мы хотим ловить все попытки изменения времени (системный вызов settimeofday), которые не отлавливаются просто слежением за файлами.
sudo auditctl -a always,exit -S settimeofday -k time_change
-a always,exit— добавить правило в список, срабатывающее при завершении syscall.-S settimeofday— имя системного вызова.