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

<p class="callout info">Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и **НЕ** является официальной рекомендацией вендора.</p>

<p class="callout info">Официальная документация по данному разделу приведена в Онлайн-справке на продукт: [https://support.kaspersky.com/KUMA/2.1/ru-RU/239760.htm](https://support.kaspersky.com/KUMA/2.1/ru-RU/239760.htm)</p>

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

Для создания коллектора KUMA необходимо в веб-консоли KUMA перейти на вкладку **Ресурсы – Коллекторы** и нажать на кнопку **Добавить коллектор**. Также можно на вкладке **Ресурсы** выбрать пункт **Подключить источник**. В обоих случая откроется мастер подключения источников событий.

На первом шаге мастера необходимо выбрать **Тенант**, которому будет принадлежать коллектор и также задать **Имя** коллектора.

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/7Ejimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/7Ejimage.png)

На втором шаге мастера необходимо выбрать тип подключения **udp** или **tcp** и указать **порт**, на котором коллектор будет ожидать входящие подключения. В данном примере выбран UDP/5144.

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/EoGimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/EoGimage.png)

На третьем шаге мастера необходимо выбрать предустановленный нормализатор **\[OOTB\] Linux Audit and iptables Syslog (либо парсер AuditD из PreSales Pack)**. В случае отсутствия указанного нормализатора, обратитесь к своему менеджеру для его получения.

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/CQEimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/CQEimage.png)

Шаги мастера с четвертого по шестой можно пропустить, либо заполнить позднее по своему усмотрению.

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

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/IW1image.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/IW1image.png)

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

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/4Bkimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/4Bkimage.png)

В результате на вкладке **Ресурсы – Активные сервисы** появится созданный сервис коллектора.

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/O9dimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/O9dimage.png)

---

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

Для установки сервиса коллектора необходимо подключиться к консоли сервера коллектора KUMA.

Для установки сервиса коллектора необходимо выполнить скопированную команду.

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/dmzimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/dmzimage.png)

Также необходимо добавить порт коллектора в исключения фаервола и обновить параметры службы

```bash
firewall-cmd --add-port=5144/udp --permanent
firewall-cmd --reload
```

В результате статус коллектора в веб-интерфейсе KUMA изменится на **зеленый**.

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/INUimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/INUimage.png)

---

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


<p class="callout info">На GitHub'е доступен community-скрипт для автоматической настройки отправки событий с Linux-хостов:  
[https://github.com/KUMA-Community/kuma\_auditd](https://github.com/KUMA-Community/kuma_auditd)</p>

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

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

```
systemctl status rsyslog.service
```

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/GCJimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/GCJimage.png)

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

```
yum install rsyslog
systemctl enable rsyslog.service
systemctl start rsyslog.service
```

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

```bash
vi /etc/rsyslog.d/audit.conf
```

```
$ModLoad imfile
$InputFileName /var/log/audit/audit.log
$InputFileTag tag_audit_log:
$InputFileStateFile audit_log
$InputFileSeverity info
$InputFileFacility local6
$InputRunFileMonitor

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

Для отправки событий по протоколу TCP последнюю строчку следует заменить на:

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

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

```
systemctl restart rsyslog.service
```

---

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


Для проверки поступления событий выберите соответствующий коллектор и нажмите на кнопку **Перейти к событиям**. В открывшемся окне события при нажатии на значок лупы должны появиться события **Auditd**.

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/NL7image.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/NL7image.png)

---

### Отправка с TLS

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

```bash
apt install rsyslog-gnutls
```

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

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

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

```bash
# 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>
```

<details id="bkmrk-%D0%9A%D0%BE%D0%BD%D1%84%D0%B8%D0%B3-tls-%D1%81-%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D0%B8%D0%BA"><summary>Конфиг TLS с верификацией сервера</summary>

```bash
$ActionSendStreamDriverAuthMode x509/name
$ActionSendStreamDriverPermittedPeer rsyslog-server
$DefaultNetstreamDriverCAFile /etc/rsyslog/ca.crt
```

</details>После изменений в файле необходимо перезапустить сервис 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
```