auditd записує у /var/log/audit/audit.log, читати може лише root. Найшвидший експорт часових даних у початковому форматі здійснюється так:
sudo ausearch --raw -ts yesterday > web-03_audit.log
Якщо /var/log/audit не існує, значить auditd не встановлено. Це стандартно для Debian та Ubuntu. Події аудиту ядра тоді потрапляють до журналу, де journalctl _TRANSPORT=audit їх знаходить.
auditd – це відповідь Linux на питання “хто що запускав і які файли змінював”: виконання процесів, доступ до файлів, зміни дозволів та акаунтів, включно з системними викликами. Prime Core має 1350 правил виявлення для даних auditd, відповідних 440 технікам MITRE ATT&CK. Серед них: зловмисне використання shell (T1059.004), підставлені ключі SSH (T1098.004) та зміни дозволів на конфіденційні файли (T1222.002).
Перед початком
Чи працює воно і що записується?
systemctl is-active auditd
sudo auditctl -l
Системи сімейства Red Hat встановлюють auditd за замовчуванням; для Debian та Ubuntu потрібно встановити пакет auditd. Якщо auditctl -l виводить No rules, ви все ще отримаєте базові дані про входи, автентифікацію та відмови SELinux. Однак ви не отримаєте записи про виконання команд чи доступ до файлів, оскільки цього ніхто не просив.
Тільки для root. /var/log/audit жорстко захищено, тому плануйте використовувати sudo.
Обертання – власна функція auditd. auditd самостійно обертає свої журнали, базуючись на max_log_file та num_logs у /etc/audit/auditd.conf, у audit.log.1, audit.log.2 і так далі. Стара історія знаходиться у цих файлах.
Формат потребує звикання. Одна подія зазвичай займає кілька рядків (SYSCALL, EXECVE, CWD, PATH, PROCTITLE), які мають той самий штамп msg=audit(<epoch>:<serial>). Значення з пробілами кодуються у hex. Це нормально.
Крок 1: Експорт з ausearch
ausearch фільтрує за часом, типом запису або ключем правила, а –raw зберігає початковий формат:
# день, raw
sudo ausearch --raw -ts yesterday -te today > web-03_audit.log
Ключові слова today, yesterday, this-week і recent (останні десять хвилин) позбавляють вас від форматів дат. Явні дати слідують вашій локалі, 10/19/2026 00:00:00 у en_US, що часто є причиною “немає співпадінь”.
Для завантаження збережіть –raw: оригінальні записи містять більше інформації, ніж інтерпретовані.
Якщо ви просто хочете взяти все, з’єднайте файли з найстарішого на перший:
sudo cat $(ls -tr /var/log/audit/audit.log*) > web-03_audit_all.log
Крок 2 (немає auditd): Отримайте події аудиту з журналу
Без auditd, записи аудиту ядра все ще потрапляють до journald:
sudo journalctl _TRANSPORT=audit --since yesterday -o json --no-pager > web-03_audit.jsonl
Без завантажених правил очікуйте переважно записи про входи та повідомлення SELinux або AppArmor, але це краще, ніж нічого.
Завантажте, санітуйте та перевірте у LogTotal
[PROOF: confirm LogTotal parses raw auditd format. If it doesn’t yet, publish this guide with the journal JSON route only, or hold it until support lands.]
- Завантаження. Відкрити logtotal.com і киньте у файл.
- Санітувати. [PROOF: what gets masked in auditd records: usernames, hostnames, IPs, paths]. Look it over before you continue.
- Перевірити.
Коли щось йде не так
| Симптом | Ймовірна причина | Fix |
|---|---|---|
| /var/log/audit не існує | auditd не встановлено | Використовуйте шлях журналу (Крок 2) |
| Відмова в доступі | Не root | sudo |
| Тільки входи, без команд | Немає завантажених правил exec | Очікується; додайте правила на майбутнє |
| <нема співпадінь> з ausearch | Формат дати не відповідає вашій локалі | Використовуйте today, yesterday, this-week |
| “перевищено ліміт зворотної черги” в повідомленнях ядра | Ядро відкинуло події аудиту під навантаженням | Лікуйте журнал так, ніби в нього є прогалини; підвищіть backlog_limit |
FAQ
Чи варто увімкнути auditd зараз?
Так, на майбутнє. Правила визначають усе, тому починайте з відомого набору правил замість написання своїх з нуля. Пакет audit надає типові правила, а також існують добре підтримувані спільнотою набори.
auditd чи журнал: який є реальним записом?
З працюючим auditd, /var/log/audit/audit.log є повним. Журнал може містити часткову копію, залежно від конфігурації.