Syscall rules перехватывают системные вызовы ядра. Это мощнее файловых правил, но сложнее в настройке:
# /etc/audit/rules.d/40-syscalls.rules
# === PCI DSS 10.2.2: действия root и привилегированных пользователей ===
# Отслеживаем все команды, выполненные от root (uid=0)
-a always,exit -F arch=b64 -F euid=0 -S execve -k root_commands
-a always,exit -F arch=b32 -F euid=0 -S execve -k root_commands
# Отслеживаем использование sudo
-a always,exit -F path=/usr/bin/sudo -F perm=x -k sudo_usage
-a always,exit -F path=/usr/bin/su -F perm=x -k su_usage
# === PCI DSS 10.2.5: изменения идентификации и аутентификации ===
# Отслеживаем смену пользователя (setuid/setgid)
-a always,exit -F arch=b64 -S setuid -S setreuid -S setresuid -k setuid
-a always,exit -F arch=b64 -S setgid -S setregid -S setresgid -k setgid
# === PCI DSS 10.2.6: инициализация аудит-логов ===
# Отслеживаем попытки удаления/очистки логов
-a always,exit -F arch=b64 -S unlink -S unlinkat -S rename -S renameat \
-F dir=/var/log -k log_deletion
-a always,exit -F arch=b64 -S truncate -S ftruncate \
-F dir=/var/log -k log_truncation
# === Отслеживаем сетевые подключения ===
# Исходящие подключения (detect reverse shells)
-a always,exit -F arch=b64 -S connect -F a2=16 -F success=1 -k network_connect
# Прослушивание портов (detect backdoors)
-a always,exit -F arch=b64 -S bind -k network_bind
-a always,exit -F arch=b64 -S listen -k network_listen
# === Отслеживаем загрузку/выгрузку модулей ядра ===
-a always,exit -F arch=b64 -S init_module -S finit_module -k kernel_modules
-a always,exit -F arch=b64 -S delete_module -k kernel_modules
# === Отслеживаем монтирование файловых систем ===
-a always,exit -F arch=b64 -S mount -S umount2 -k mounts
# === Отслеживаем изменение системного времени ===
-a always,exit -F arch=b64 -S adjtimex -S settimeofday -S clock_settime -k time_change
-w /etc/localtime -p wa -k time_change
Блокируем возможность отключения auditd:
# /etc/audit/rules.d/99-finalize.rules
# Делаем конфигурацию immutable (нельзя изменить без перезагрузки)
-e 2
Флаг -e 2 критически важен: после применения правил их нельзя изменить или отключить без перезагрузки сервера. Это предотвращает ситуацию, когда злоумышленник отключает аудит перед вредоносными действиями.
Оставить комментарий