Menu
Szybki wybór
Hosting Domeny VPS SSL Kalkulator Porównania FAQ
Aktywne kody
Wszystkie kody rabatowe

auditd — logi audytu i compliance na Linuksie

Opublikowano: 9 kwietnia 2026 · Kategoria: Bezpieczeństwo

Kiedy ktoś włamie się na twój serwer i skasuje logi syslog, większość narzędzi zostaje ślepa. auditd (Linux Audit Framework) jest wyjątkiem — działa na poziomie jądra, zbiera zdarzenia zanim dotrą do przestrzeni użytkownika, a jego logi są chronione osobnymi regułami i mogą być wysyłane na bieżąco do zdalnego SIEM. Dla firm objętych PCI-DSS, HIPAA, ISO 27001 albo CIS Benchmarks auditd nie jest opcjonalny — jest wymogiem. Ten przewodnik pokazuje, jak zainstalować, skonfigurować i używać auditd na produkcyjnym serwerze.

Instalacja i uruchomienie

# Ubuntu / Debian
sudo apt update && sudo apt install auditd audispd-plugins -y

# RHEL / CentOS / Rocky / AlmaLinux (zwykle zainstalowany domyslnie)
sudo dnf install audit audit-libs -y

# Uruchomienie i wlaczenie przy starcie
sudo systemctl enable --now auditd

# Sprawdzenie statusu
sudo systemctl status auditd
sudo auditctl -s

# Lokalizacja logow
ls -l /var/log/audit/
# audit.log      - glowny plik
# audit.log.1..N - rotacja

Reguły audytu — auditctl i /etc/audit/rules.d

Reguły dodawane przez auditctl działają tylko do restartu. Do trwałych reguł używaj plików w /etc/audit/rules.d/, które przeładuje augenrules --load. Typowy zestaw reguł dla serwera produkcyjnego monitoruje zmiany plików krytycznych, wywołania systemowe związane z uprawnieniami i aktywność uprzywilejowanych użytkowników.

# /etc/audit/rules.d/hardening.rules

# Identyfikatory uzytkownikow i hasla
-w /etc/passwd      -p wa -k identity
-w /etc/shadow      -p wa -k identity
-w /etc/group       -p wa -k identity
-w /etc/gshadow     -p wa -k identity
-w /etc/sudoers     -p wa -k scope
-w /etc/sudoers.d/  -p wa -k scope

# Konfiguracja sieci
-w /etc/hosts       -p wa -k network
-w /etc/network/    -p wa -k network

# Logowania i SSH
-w /var/log/faillog -p wa -k logins
-w /var/log/lastlog -p wa -k logins
-w /etc/ssh/sshd_config -p wa -k sshd

# Zmiany czasu systemowego (wazne dla forensics)
-a always,exit -F arch=b64 -S adjtimex,settimeofday,stime -k time-change
-a always,exit -F arch=b64 -S clock_settime -k time-change

# Wywolania chmod/chown (potencjalna eskalacja)
-a always,exit -F arch=b64 -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=4294967295 -k perm_mod
-a always,exit -F arch=b64 -S chown,fchown,fchownat,lchown -F auid>=1000 -F auid!=4294967295 -k perm_mod

# Blokada dalszych zmian regul (immutable)
-e 2

# Po edycji:
sudo augenrules --load
sudo auditctl -l             # lista aktywnych regul

Analiza logów — ausearch i aureport

Surowy audit.log jest nieczytelny dla człowieka. auditd dostarcza dwa narzędzia: ausearch do wyszukiwania konkretnych eventów po czasie, kluczu, PID, user, oraz aureport do generowania raportów statystycznych. Oba obsługują tryb CSV do dalszej obróbki.

# Wszystkie zdarzenia z ostatniej godziny
sudo ausearch -ts recent

# Zdarzenia powiazane z kluczem identity (zmiany /etc/passwd itd.)
sudo ausearch -k identity

# Nieudane logowania
sudo ausearch -m USER_LOGIN --success no

# Wszystko co zrobil user UID 1000 od wczoraj
sudo ausearch -ua 1000 -ts yesterday

# Eksport do formatu czytelnego dla czlowieka
sudo ausearch -k perm_mod -i

# Raport ogolny
sudo aureport --summary

# Raport nieudanych logowan
sudo aureport -au --failed -i

# Raport wykonanych komend (jesli wlaczone execve)
sudo aureport -x --summary

# Top 10 uzytkownikow generujacych eventy
sudo aureport -u --summary -i | head

Compliance — PCI-DSS, HIPAA, CIS Benchmarks

Audit trail jest wymogiem kilku standardów compliance. Poniższa tabela podsumowuje, jakie wymagania stawiają popularne standardy, i jak auditd je spełnia.

Standard Wymóg Jak spełnia auditd
PCI-DSS 10.2 Rejestracja dostępu do danych kart, akcji admina Reguły na /etc/passwd, sudoers, pliki CHD z kluczami
PCI-DSS 10.5 Logi muszą być odporne na manipulację Immutable mode (-e 2), forward do zdalnego SIEM
PCI-DSS 10.7 Retencja 1 rok, 3 miesiące online Rotacja w /etc/audit/auditd.conf (max_log_file, num_logs)
HIPAA §164.312(b) Audit controls — mechanizm monitorujący dostęp do PHI Reguły syscall na pliki ze zdrowotnymi danymi
ISO 27001 A.12.4 Logging i monitoring Centralizacja w SIEM + przeglądy
CIS Benchmark Gotowy zestaw reguł (sekcja 4) Plik audit.rules dostępny w repo CIS

Forward do SIEM — rsyslog, Auditbeat, au-remote

Logi trzymane tylko lokalnie są bezwartościowe — atakujący skasuje je po przejęciu serwera. auditd oferuje plugin architecture (/etc/audit/plugins.d/), która pozwala wysyłać eventy do zewnętrznych systemów. Najczęściej używane rozwiązania:

  • syslog plugin — gotowy moduł, który forwarduje eventy do lokalnego rsyslog, który z kolei przesyła je do zdalnego serwera logów (Graylog, Splunk, ELK, Wazuh).
  • Auditbeat — lekki shipper od Elastic, czyta bezpośrednio audit.log i wysyła do Elasticsearch. Wspiera też moduły file integrity i system.
  • au-remote — natywny dispatcher audit-remote do wysyłania eventów przez audisp-remote do dedykowanego serwera audit-remote (szyfrowanie TLS, GSS-API).
  • Wazuh/OSSEC — host-based IDS, który czyta auditd i koreluje z własnymi regułami wykrywania anomalii.

Najczęstsze pytania

Do czego służy auditd? +
auditd to daemon Linux Audit Framework — zbiera zdarzenia z jądra (syscalls, zmiany plików, próby dostępu, logowania) i zapisuje je w /var/log/audit/audit.log. Służy do audytu bezpieczeństwa, wykrywania intruzji, dochodzeń poincydentalnych i zapewnienia compliance (PCI-DSS, HIPAA, ISO 27001, CIS Benchmarks).
Czym różni się auditd od syslog/journald? +
syslog i journald zbierają logi z aplikacji użytkownika (co aplikacja chce wysłać). auditd działa na poziomie jądra i rejestruje zdarzenia, których aplikacja nie może zablokować ani sfałszować — np. każdy otwarty plik /etc/passwd, każde sudo, każdą zmianę uprawnień. To uzupełnienie syslog, nie zamiennik.
Jak ustawić regułę auditd do monitorowania zmian /etc/passwd? +
Reguła: sudo auditctl -w /etc/passwd -p wa -k passwd_changes. Flag -w = watch (ścieżka), -p wa = write + attribute change, -k = klucz (tag do wyszukiwania). Persystencja w /etc/audit/rules.d/custom.rules, przeładowanie: augenrules --load lub service auditd restart.
Jak przesyłać logi auditd do zewnętrznego SIEM? +
auditd obsługuje dispatchers — audispd wysyła eventy do zewnętrznych narzędzi. Konfiguracja w /etc/audit/plugins.d/ pozwala forwardować logi do rsyslog (a stamtąd do Splunk, Graylog, ELK), Auditbeat (Elastic), lub bezpośrednio do remote via au-remote. Dla PCI-DSS wymagane jest przechowywanie logów poza monitorowanym hostem.

Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.