Skip to main content

Сбор событий auditd с помощью Rsyslog

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

Официальная документация по данному разделу приведена в Онлайн-справке на продукт: https://support.kaspersky.com/KUMA/2.1/ru-RU/239760.htm

Создание коллектора KUMA

1.       Перейдите в раздел Ресурсы и нажмите на кнопку Подключить источник.

2.     В появившемся окне мастера настройки Создание коллектора на первом шаге (Подключение источников) выберите Имя коллектора и Тенант, к которому будет принадлежать создаваемый коллектор.

 image.png

3.       На втором шаге мастера (Транспорт) укажите параметры коннектора для взаимодействия с подключаемым источником:

·       Типtcp/udp. В данном примере tcp

·       URL FQDN:порт (порт, на котором коллектор будет ожидать входящие подключения. Выбирается любой из незанятых, выше 1024). В данном примере 5152.

·       Auditd включено

В поле URL можно указать только порт при инсталляции All-in-one

В версии KUMA 3.2 появился переключатель Auditd, который позволяет группировать полученные от коннектора строки событий auditd в одно событие auditd.

image.png

4.       На третьем шаге мастера укажите нормализатор. В данном случае рекомендуется использовать «коробочный» нормализатор для событий auditd Linux [OOTB] Linux auditd syslog for KUMA 3.2.

image.png

5.       Шаги мастера настройки с четвертого по шестой являются опциональными, их можно пропустить и вернуться к настройке позднее.

6.     На седьмом шаге мастера задайте точки назначения. Для хранения событий добавьте точку назначения типа Хранилище. В случае если предполагается также анализ потока событий правилами корреляции добавьте точку назначения типа Коррелятор.

image.png

image.png

image.png

image.png

7.       На завершающем шаге мастера нажмите на кнопку Создать и сохранить сервис. После чего появится строка установки сервиса, которую необходимо скопировать для дальнейшей установки.

image.png

8.       Нажмите Сохранить.

9.     После выполнения вышеуказанных действий в разделе Ресурсы  Активные сервисы появится созданный сервис коллектора.

image.png

Установка коллектора KUMA

Чтобы установить коллектор KUMA:

1.       Выполните подключение к CLI сервера, на котором планируется развертывание коллектора KUMA.

2.     Для установки сервиса коллектора в командной строке выполните команду под учетной записью root, скопированную на прошлом шаге.

image.png

3.       При необходимости добавьте используемый порт сервиса коллектора в исключения МЭ ОС и обновите параметры службы.

# Пример для firewalld
firewall-cmd --add-port=<порт, выбранный для коллектора>/tcp|udp –permanent
firewall-cmd –reload

# Пример для ufw
ufw allow <порт, выбранный для коллектора>/tcp|udp
ufw reload

4.       После успешной установки сервиса его статус в веб-консоли KUMA изменится на ВКЛ с зеленой индикацией.

image.png


Настройка сервера источника логов

На GitHub'е доступен community-скрипт для автоматической настройки отправки событий с Linux-хостов:
https://github.com/KUMA-Community/kuma_auditd

В случае наличия ошибок с доступом журналов, попробуйте отключить SELinux. Отключение SELinux вручную — SELINUX = Disabled в /etc/selinux/config и затем setenforce 0, команда getenforce для проверки.

1. На сервере источнике логов проверьте наличие сервиса RSyslog в системе:

systemctl status rsyslog.service

image.png

2. В случае отсутствия сервиса его необходимо установить и запустить:

# Для ОС Oracle Linux
yum install rsyslog
systemctl enable rsyslog.service
systemctl start rsyslog.service

# Для Astra Linux и Ubuntu
apt install rsyslog
systemctl enable rsyslog.service
systemctl start rsyslog.service

# РЕД ОС
dnf install rsyslog
systemctl enable rsyslog.service
systemctl start rsyslog.service

3.       Отредактируйте файл настроек сервиса audit.service /etc/audit/auditd.conf и измените значение параметра name_format, присвоив этому параметру значение NONE:

name_format=NONE

4. После изменения настроек перезапустите сервис auditd с помощью команды:

sudo systemctl restart auditd.service

5. Далее в папке /etc/rsyslog.d необходимо создать файл audit.conf следующего содержания:

vi /etc/rsyslog.d/audit.conf

·       Для отправки событий по протоколу TCP (как в нашем примере)

$ModLoad imfile
$InputFileName /var/log/audit/audit.log
$InputFileTag tag_audit_log:
$InputFileStateFile audit_log
$InputFileSeverity info
$InputFileFacility local6
$InputRunFileMonitor
*.* @@<ip адрес коллектора KUMA>:<порт коллектора KUMA>

Например:
*.* @@10.68.85.89:5152

·       Для отправки событий по протоколу UDP 

 

$ModLoad imfile
$InputFileName /var/log/audit/audit.log
$InputFileTag tag_audit_log:
$InputFileStateFile audit_log
$InputFileSeverity info
$InputFileFacility local6
$InputRunFileMonitor
template(name="AuditFormat" type="string" string="<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag% %msg%\n")
*.* @<ip адрес коллектора KUMA>:<порт коллектора KUMA>;AuditFormat

Например:
*.* @10.68.85.89:5152;AuditFormat

6. После сохранения изменений в файле необходимо перезапустить сервис Rsyslog командой:

systemctl restart rsyslog.service

Рабочая станция/сервер Linux настроен. События передаются в коллектор KUMA.


Проверка поступления событий

  1.       Для проверки, что сбор событий с устройств Linux успешно настроен перейдите в Ресурсы  Активные сервисы → выберите ранее созданный коллектор для Linux и нажмите Перейти к событиям.

image.png

2.       В открывшемся окне События убедитесь, что присутствуют события с устройств Linux.

image.png



Отправка с TLS

Предварительно нужно установить дополнительный пакет для использования TLS:

apt install rsyslog-gnutls

Далее создем конфиг:

nano /etc/rsyslog.d/50-auditd-tls.conf

Со следующим содержимым (без верификации сертификата сервера):

# Load necessary modules
$ModLoad imfile
$ModLoad omfwd
$ModLoad gtls

# TLS settings
$DefaultNetstreamDriver gtls
$ActionSendStreamDriverMode 1       # TLS-only
$ActionSendStreamDriverAuthMode anon  # No server certificate validation
# No CA or client certs needed for anon mode

# Configure file monitoring for auditd log
$InputFileName /var/log/audit/audit.log
$InputFileTag tag_audit_log:
$InputFileStateFile audit_log
$InputFileSeverity info
$InputFileFacility local6
$InputRunFileMonitor

# Forward log lines matching the audit log tag
if $programname == 'tag_audit_log' then @@<ip адрес коллектора KUMA>:<порт коллектора KUMA>
Конфиг TLS с верификацией сервера
$ActionSendStreamDriverAuthMode x509/name
$ActionSendStreamDriverPermittedPeer rsyslog-server
$DefaultNetstreamDriverCAFile /etc/rsyslog/ca.crt

После изменений в файле необходимо перезапустить сервис Rsyslog командой:

systemctl restart rsyslog.service

Отправка лога без заголовка syslog

Иногда необходимо отпралять события без заголовка, в этом случае используются шаблоны, ниже пример использования в конфиге:

$template onlyMSG,"%msg%\n"
$ModLoad imfile
$InputFileName /var/log/audit/audit.log
$InputFileTag tag_audit_log:
$InputFileStateFile audit_log
$InputFileSeverity info
$InputFileFacility local6
$InputRunFileMonitor

local6.* @<ip адрес коллектора KUMA>:<порт коллектора KUMA>;onlyMSG

Полезные ссылки: