# Отправка событий в SIEM (Syslog)

# Настройка отправки событий в Syslog

## Цель

Настройка отправки системных событий Printum во внешний Syslog-сервер (SIEM).

---

## Предусловия

- Syslog-сервер развёрнут и доступен из сети Printum
- Известен адрес и порт Syslog-сервера

---

## Особенности отправки

- Отправка происходит по указанному хосту и порту (например, `192.168.10.10:1514`).
- Допустимые порты: `514`, `1514`, `1468`. Если порт не указан — используется `514`.
- Авторизация по стандарту syslog не поддерживается — логин и пароль указывать не нужно.
- Тело отчёта заполнять не нужно — отправляются все доступные параметры события.

---

## Шифрование (TLS)

Для отправки по шифрованному протоколу укажите CA-сертификат и сертификат клиента в формате `.pem`. Шифрование выполняется по протоколу TLS (выбирается максимально возможная версия для сервера). Если нежелательный протокол TLS активирован — запретите его непосредственно на сервере syslog.

Для настройки syslog-сервера обратитесь к его официальной документации.

---

## Формат событий

Логи передаются в следующем формате:

```
2023-05-25T06:15:21.930828+00:00 local Обнаружено новое устройство  event=2 user=One additional_parameters={'foo': 0}
2023-05-25T06:32:44.487278+00:00 test.local Обнаружено новое устройство  event=4 user=One location="Офис в Иваново" additional_parameters={'foo': 0}
```

Поля:

- `event` — уникальный идентификатор события.
- `user` — логин пользователя.
- `location` — название локации (если есть).
- `additional_parameters` — дополнительные параметры события.

---

## Диагностика

Для проверки прослушиваемого порта (TCP/UDP) на сервере syslog:

```
netstat -tulnp
```

---

## Ожидаемый результат

События из Printum поступают в Syslog-сервер в заданном формате.

---

## Параметры настройки интеграции

Перейдите по адресу `https://<адрес_сервера>:8001/config/integrations/` и выберите раздел **«Внешние интеграции»**. Нажмите **«Добавить»**.

Заполните поля:

<table id="bkmrk-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%9D%D0%B0%D0%B7"><thead><tr><th>Параметр</th><th>Описание</th></tr></thead><tbody><tr><td>Название конфигурации</td><td>Произвольное имя интеграции, например «Syslog SIEM»</td></tr><tr><td>Хост</td><td>Адрес и порт сервера Syslog, например `192.168.10.10:1514`. Допустимые порты: 514, 1514, 1468. Если порт не указан — используется 514</td></tr><tr><td>Тип интеграции</td><td>Выбрать **Syslog**</td></tr><tr><td>Locations</td><td>Локации, события которых передаются. Если не выбрать — передаются все события</td></tr><tr><td>Интервал между обменами</td><td>Время в минутах (минимум 1 минута)</td></tr><tr><td>Включено</td><td>Активировать интеграцию после создания</td></tr><tr><td>CA сертификат</td><td>Для шифрования по TLS — CA-сертификат в формате .pem</td></tr><tr><td>Сертификат</td><td>Файл SSL-сертификата клиента (.pem, без кодовой фразы)</td></tr></tbody></table>

**Важно:** авторизация по стандарту Syslog не поддерживается — логин и пароль указывать не нужно.

---

## Создание конструктора отчётов для Syslog

1. После создания интеграции нажать **«Добавить»** рядом с разделом «Отчёты для отправки» (события или логи безопасности).
2. Заполнить поля: 
    - **Внешняя интеграция** — выбрать созданную интеграцию.
    - **Тело отчёта** — поля для включения в отчёт (оставить пустым — передаются все поля).

Для каждой интеграции допускается только один конструктор отчётов. Для передачи данных по нескольким пользователям необходимо создать несколько интеграций.

---

## Формат событий Syslog

Пример лога:

```
2023-05-25T06:15:21.930828+00:00 local Обнаружено новое устройство event=2 user=One additional_parameters={'foo': 0}
2023-05-25T06:32:44.487278+00:00 test.local Обнаружено новое устройство event=4 user=One location="Офис в Иваново" additional_parameters={'foo': 0}

```

Поля события:

<table id="bkmrk-%D0%9F%D0%BE%D0%BB%D0%B5%D0%A2%D0%B8%D0%BF%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-even"><thead><tr><th>Поле</th><th>Тип</th><th>Описание</th></tr></thead><tbody><tr><td>event</td><td>число</td><td>Уникальный ID события</td></tr><tr><td>user</td><td>строка</td><td>Логин пользователя</td></tr><tr><td>location</td><td>строка</td><td>Название локации (если есть)</td></tr><tr><td>additional\_parameters</td><td>JSON</td><td>Дополнительные параметры события</td></tr></tbody></table>

### Поля логов безопасности

<table id="bkmrk-%D0%9F%D0%BE%D0%BB%D0%B5%D0%A2%D0%B8%D0%BF%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-even-1"><thead><tr><th>Поле</th><th>Тип</th><th>Описание</th></tr></thead><tbody><tr><td>event\_group</td><td>строка</td><td>Группа событий</td></tr><tr><td>event\_name</td><td>строка</td><td>Название события</td></tr><tr><td>event\_name\_unique\_id</td><td>число</td><td>ID события</td></tr><tr><td>timestamp</td><td>строка</td><td>Время в формате ISO (пример: "2005-08-09T18:31:42")</td></tr><tr><td>operation\_subject</td><td>строка</td><td>Субъект операции</td></tr><tr><td>operation\_object</td><td>строка</td><td>Объект операции</td></tr><tr><td>result</td><td>строка</td><td>Результат операции</td></tr><tr><td>event\_level</td><td>строка</td><td>Уровень критичности</td></tr><tr><td>changed\_params</td><td>JSON</td><td>Изменённые параметры</td></tr></tbody></table>

---

## Шифрование TLS

Для передачи по зашифрованному каналу укажите CA-сертификат и сертификат клиента в формате .pem. Версия TLS выбирается максимально возможная для сервера Syslog. Если нужна конкретная версия TLS — запретите нежелательные протоколы на стороне сервера Syslog.

Для проверки порта Syslog на сервере:

```
netstat -tulnp
```

---

## Связанные страницы

- [Настройка подключения к почтовому серверу](http://wiki.printum.io/books/4-integracii/page/nastroika-podkliuceniia-k-poctovomu-serveru)
- [Управление пользователями — обзор](http://wiki.printum.io/books/5-upravlenie-sistemoi/page/upravlenie-polzovateliami-obzor)