Вики / Логи и аудит
auditd (аудит безопасности)
Аудит ядра — кто, что и когда сделал; правила watch и поиск по событиям.
auditd ведёт аудит на уровне ядра: кто открывал/менял файл, выполнял команду,
менял права. Это инструмент безопасности и расследований (compliance), а не обычные
логи. События — в /var/log/audit/audit.log, поиск — ausearch/aureport.
sudo systemctl status auditd
sudo auditctl -s # статус подсистемы (enabled, backlog, потери)
# watch файла/каталога: -p = права (r=read w=write x=exec a=attr)
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
sudo auditctl -w /etc/sudoers -p wa -k sudoers
sudo auditctl -w /etc/ssh/sshd_config -p wa -k sshd_conf
# syscall-правила (-a always,exit): ловить действия
sudo auditctl -a always,exit -F arch=b64 -S execve -F euid=0 -k root_cmd # команды от root
sudo auditctl -a always,exit -F arch=b64 -S unlink,unlinkat -F dir=/etc -k etc_delete
sudo auditctl -l # текущие правила
sudo auditctl -D # удалить все (временно)
# постоянно — /etc/audit/rules.d/*.rules + sudo augenrules --load
# заблокировать изменение правил до ребута: последним правилом -e 2 (immutable)
sudo ausearch -k passwd_changes # по ключу (-k)
sudo ausearch -k passwd_changes -i # -i = человекочитаемо (имена вместо чисел)
sudo ausearch -f /etc/passwd -ts today # по файлу за сегодня
sudo ausearch -ui 1000 -ts recent # по UID за последние 10 мин
sudo ausearch -m USER_LOGIN --start today # по типу события (логины)
sudo aureport --summary # сводный отчёт
sudo aureport -au # отчёт по аутентификациям
sudo aureport -f -i # отчёт по файловым событиям
Кто изменил важный файл?
Поставь watch (auditctl -w файл -p wa -k метка), затем ausearch -k метка -i →
uid/команда/время. Для уже случившегося (watch не стоял) — событий нет, аудит не
ретроактивен. Поэтому ключевые watch ставят заранее (в rules.d).
Слишком много событий / шум / потери (lost)
auditctl -s покажет lost/backlog. Делай узкие правила (конкретные файлы/syscall/
ключи), подними -b (backlog), следи за размером /var/log/audit/ (своя ротация в
auditd.conf: max_log_file, num_logs).
Правила пропали после ребута
auditctl -w/-a временно. Постоянные — /etc/audit/rules.d/*.rules, применяются
augenrules --load (или при старте auditd).
Не могу изменить/удалить правила
Включён immutable-режим (-e 2) — правила залочены до перезагрузки (это by design
для защиты от подмены).
auditd vs journald
journald — операционные логи служб (journalctl); auditd — кто-что-сделал для безопасности (неизменяемый след). Разные подсистемы.
sudo auditctl -w /etc/passwd -p wa -k passwd_changes # watch файла
sudo auditctl -a always,exit -F arch=b64 -S execve -F euid=0 -k root_cmd
sudo auditctl -l ; sudo auditctl -s # правила / статус
sudo ausearch -k passwd_changes -i # поиск по ключу (читаемо)
sudo aureport --summary
# постоянно: /etc/audit/rules.d/*.rules → augenrules --load
См. также
- journalctl — Логи и аудит
- Права доступа (rwx, SUID, sticky) — Пользователи и права
- sudo — Пользователи и права