Skip to main content

Настройка AuditD на Unix системах

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Для начала необходимо проврить установлена нужная служба auditd, посмотрим активные правила:

auditctl -l

В случае наличия подобной ошибки:

image.png

Необходимо установить следующие пакеты: 

apt-get install auditd audispd-plugins

Рекомендуем использовать следующие правила для аудита:

wget -O audit.rules https://raw.githubusercontent.com/Neo23x0/auditd/master/audit.rules

Загрузить файл с правилами аудита с портала box.kaspersky.com - тут.

Другие  правила аудита и полезные материалы по AuditD можно найти - тут.

Далее нужно переместить правила в директорию по умолчанию и применить правила перезапуском сервиса:

cp audit.rules /etc/audit/rules.d/
systemctl restart auditd.service
systemctl enable auditd.service

Для проверки убедитесь что следующий лог наполняется информацией:

tail -f /var/log/audit/audit.log

Известные проблемы

Бывают случаи, когда из-за ротации самого себя auditd (собственная ротация) падает в статусе сервиса:
Sep 24 00:11:42 example.org auditd[756]: Audit daemon rotating log files

В таком статусе лог файл не пополняется, рекомендуется использовать системную ротацию logrotate.

Сначала отключается собственная ротация auditd, правим конфиг:

nano /etc/audit/auditd.conf

Правим занчение (выделено жирным): max_log_file_action = ignore

Затем настраивается системная ротация logrotate.

touch /etc/logrotate.d/auditd
chmod 644 /etc/logrotate.d/auditd; chown root:root /etc/logrotate.d/auditd
nano /etc/logrotate.d/auditd

Пишем в файле auditd:

/var/log/audit/audit.log
{
    # daily rotation keep last 2 days and compress old
    daily
    rotate 2
    maxsize 150M
    postrotate
        $(/bin/kill `cat /var/run/auditd.pid 2> /dev/null`)
        service auditd restart
    endscript
    missingok
    compress
}

Перезапускаем службы logrotate и auditd:

systemctl restart logrotate.service; systemctl restart auditd.service

 

Удаленная отправка логов auditd

Иногда место на сервере ограничено и хранить объемный лог audutd нет возможности, для этого можно настроить отправку логов сразу на удаленный сервер, для этого будем использовать плагин audispd-plugins, который загружали выше.

Отключим ведение логов аудита в файле /etc/audit/auditd.conf выставляем значение write_logs = no:

root@kuma# nano /etc/audit/auditd.conf

local_events = yes
write_logs = no

Теперь нам нужно исправить файл по примеру ниже для отправки логов на удаленный сервер:

root@kuma# nano /etc/audit/plugins.d/au-remote.conf

active = yes
direction = out
path = /sbin/audisp-remote
type = always
#args =
format = string

remote_server = 192.162.0.100
port = 5140

Далее нужно перезапустить сервис auditd для применения обновленных конфигураций :

systemctl restart auditd.service