auditd zapisuje do /var/log/audit/audit.log, dostępny tylko dla użytkownika root. Najszybszy eksport z okna czasowego w oryginalnym formacie to:
sudo ausearch --raw -ts yesterday > web-03_audit.log
Jeśli /var/log/audit nie istnieje, auditd nie jest zainstalowany. To domyślnie na Debian i Ubuntu. Zdarzenia jądra audytu trafiają wtedy do dziennika, gdzie journalctl _TRANSPORT=audit je znajduje.
auditd to odpowiedź Linuksa na pytanie „kto uruchomił co, i jaki plik dotknął”: wykonywanie procesów, dostęp do plików, zmiany uprawnień i kont, do poziomu wywołań systemowych. Prime Core ma 1350 reguł wykrywania dla danych auditd, przypisanych do 440 technik MITRE ATT&CK. Wśród nich: użycie złośliwego shella (T1059.004), wprowadzone klucze SSH (T1098.004) i zmiany uprawnień dla plików wrażliwych (T1222.002).
Zanim zaczniesz
Czy działa i co rejestruje?
systemctl is-active auditd
sudo auditctl -l
Systemy z rodziny Red Hat instalują auditd domyślnie; Debian i Ubuntu potrzebują pakietu auditd. Jeśli auditctl -l wyświetla brak reguł, nadal uzyskasz podstawową rejestrację logowań, uwierzytelniania i odmów SELinux. Jednak nie otrzymasz zapisów wykonywania komend ani dostępu do plików, ponieważ nikt tego nie zażądał.
Tylko dla użytkownika root. /var/log/audit jest rygorystycznie zabezpieczony, więc musisz planować użycie sudo.
Rotacja jest własnością auditd. auditd obraca swoje dzienniki samodzielnie, na podstawie max_log_file i num_logs w /etc/audit/auditd.conf, na audit.log.1, audit.log.2, i tak dalej. Starsza historia znajduje się w tych plikach.
Format wymaga przyzwyczajenia. Jedno zdarzenie to często kilka linii (SYSCALL, EXECVE, CWD, PATH, PROCTITLE) dzielących ten sam znacznik msg=audit(<epoch>:<serial>). Wartości z odstępami są zakodowane szesnastkowo. To normalne.
Krok 1: Eksport za pomocą ausearch
ausearch filtruje według czasu, typu rekordu lub klucza reguły, a –raw utrzymuje oryginalny format:
# dzień, raw
sudo ausearch --raw -ts yesterday -te today > web-03_audit.log
Słowa kluczowe dziś, wczoraj, ten tydzień i ostatnio (ostatnie dziesięć minut) chronią przed błędami formatowania daty. Jawnie podawane daty podążają za twoim lokalnym formatem, 19/10/2026 00:00:00 w en_US, co jest najczęstszą przyczyną niespodzianek w postaci „brak dopasowań”.
Do przesyłania, zachowaj –raw: oryginalne zapisy zawierają więcej niż interpretowany widok.
Jeśli wolisz po prostu wziąć wszystko, połącz pliki od najstarszego do najnowszego:
sudo cat $(ls -tr /var/log/audit/audit.log*) > web-03_audit_all.log
Krok 2 (bez auditd): Pobierz zdarzenia audytowe z dziennika
Bez auditd, audytowe zapisy jądra nadal trafiają do journald:
sudo journalctl _TRANSPORT=audit --since yesterday -o json --no-pager > web-03_audit.jsonl
Z brakiem załadowanych reguł, oczekuj głównie logowań i wiadomości z SELinux lub AppArmor, ale to lepsze niż nic.
Przesyłaj, oczyszczaj i przeglądaj w 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.]
- Przesyłaj. Otwórz logtotal.com i wrzuć tam plik.
- Oczyść. [PROOF: what gets masked in auditd records: usernames, hostnames, IPs, paths]. Look it over before you continue.
- Przeglądaj.
Kiedy coś pójdzie nie tak
| Objaw | Prawdopodobna przyczyna | Fix |
|---|---|---|
| /var/log/audit nie istnieje | auditd nie jest zainstalowany | Użyj ścieżki dziennika (Krok 2) |
| Odmowa dostępu | Brak roota | sudo |
| Tylko logowania, brak komend | Brak załadowanych reguł exec | Oczekiwane; dodaj reguły na przyszłość |
| <brak dopasowań> z ausearch | Format daty nie pasuje do twojego lokalnego ustawienia | Użyj dziś, wczoraj, ten tydzień |
| „przekroczony limit zaległości” w wiadomościach jądra | Jądro pominęło zdarzenia audytowe podczas obciążenia | Traktuj log jako posiadający luki; zwiększ backlog_limit |
FAQ
Czy powinienem teraz włączyć auditd?
Tak, na przyszłe wydarzenia. Reguły decydują o wszystkim, więc zacznij od znanego zestawu reguł, zamiast pisać swoje od zera. Pakiet audytowy zawiera przykładowe reguły, a dobrze utrzymane zestawy społecznościowe istnieją.
auditd czy dziennik: co jest właściwym zapisem?
Z włączonym auditd, /var/log/audit/audit.log jest kompletnym zapisem. Dziennik może zawierać częściową kopię, w zależności od konfiguracji.