Загрузка данных


1. Настройка auditd (/etc/audit/auditd.conf)
ini
local_events = yes
write_logs = yes
log_file = /var/log/audit/audit.log
log_group = adm
log_format = ENRICHED
flush = INCREMENTAL_ASYNC
freq = 50
max_log_file = 50
num_logs = 5
priority_boost = 4
disp_qos = lossless
dispatcher = /sbin/audispd
name_format = HOSTNAME
max_log_file_action = ROTATE
space_left = 50
space_left_action = SYSLOG
admin_space_left = 15
admin_space_left_action = SUSPEND
disk_full_action = SUSPEND
disk_error_action = SUSPEND
Важно: write_logs = yes включает локальное хранение. Параметры max_log_file и num_logs задают ротацию (5 файлов по 50 МБ).

2. Правила аудита (/etc/audit/rules.d/00-siem.rules)
Скопируйте содержимое этого файла (полный набор правил из итогового скрипта).
Ключевые моменты: исключения шумных процессов, мониторинг критических файлов/каталогов, сетевые вызовы, execve, capabilities, ptrace и т.д.

3. Отключение дублирования в systemd-journald
bash
sudo systemctl disable --now systemd-journald-audit.socket
sudo systemctl mask systemd-journald-audit.socket
sudo systemctl restart systemd-journald
4. Настройка audisp (передача в syslog) — /etc/audisp/plugins.d/syslog.conf
ini
active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_LOCAL6
format = string
5. Настройка syslog-ng (/etc/syslog-ng/conf.d/10-siem.conf)
bash
@define allow-config-dups 1

filter f_audit {
    program("audit") or program("audispd") or program("audisp-syslog");
};

filter f_messages {
    level(info,notice,warn)
    and not facility(auth,authpriv,cron,daemon,mail,news)
    and not filter(f_audit);
};

filter f_syslog3 {
    not facility(auth, authpriv, mail)
    and not filter(f_debug)
    and not filter(f_audit);
};

filter pt_siem_filter {
    (facility(local6) or priority(info))
    and not facility(mail, lpr, news, uucp, cron);
};

destination siem_agent_udp {
    udp("10.8.10.25" port(514));   # IP агента MP10
};

log {
    source(s_src);
    filter(pt_siem_filter);
    destination(siem_agent_udp);
};