Настройка отправки и получения уведомлений через «rsyslog»
Настройка отправки и получения уведомлений через rsyslog состоит из следующих этапов:
- Настройка отправки и получения уведомлений на СХД.
- Настройка получения уведомлений на Linux-системе и отправка тестового сообщения.
Сообщения с уведомлениями отправляются в формате CEF.
CEF (англ. аббр. для «Common Event Format», «общий формат событий») – независимый от поставщика устройств формат для логирования данных из устройств и приложений. Формат был разработан специально для решений по управлению информацией и событиями безопасности (англ. «Security Information and Event Management», англ. аббр. «SIEM»).
Формат сообщения:
CEF:Version|Device Vendor|Device Product|Device Version|Signature ID|Name|Severity|Extension
Пример сообщения в формате CEF:
May 27 15:38:43.218289 0OY5CC rdnotify[81421]: CEF:0|Raidix||5.3|100|system.state|1|src=10.78.188.121 msg=The system is in NORMAL state. spt=514 shost=0OY5CC
May 16 20:01:55.0 alex1 rdnotify[35638]: CEF:0|YADRO|YADRO TATLIN.FLEX|5.3|100|raid dimec|5|msg=RAID initialization is running. spt=514 src=10.78.188.210 shost=alex1
Описание формата CEF:
Поле | Назначение |
---|---|
CEF:Version |
Обязательный префикс с версией CEF. |
Device Vendor |
Имя вендора продукта. |
Device Product |
Имя продукта. В RAIDIX 5.3.0 значение всегда пустое. Значение всегда Raidix RAIDIX. |
Device Version |
Версия ПО RAIDIX. |
Signature ID |
Уникальный идентификатор типа события. В RAIDIX 5.3.0 значение всегда 100. |
Name |
Тип объекта и, если применимо, имя объекта события. |
Severity |
Важность события. В зависимости от типа уведомления:
|
Extension |
Дополнительные поля:
|
Особенности и ограничения
Учитывайте следующие особенности и ограничения отправки и получения уведомлений с СХД через «rsyslog»:
- С СХД отправляются все уведомления без возможности фильтрации по типу и объекту.
- Отправка доступна только для одной принимающей системы.
- В DC-системе настройки на одном контроллере автоматически применяются на втором.
- Если «rsyslog» настроен на контроллере, не входящем в DC, после включения DC-режима настройте «rsyslog» на другом контроллере вручную.
Настройка отправки и получения уведомлений на СХД
$ rdcli notify syslog profile modify [-a <remote_address>] [-po <remote_port>] [-pr <remote_protocol>] [-e 1]
где
<remote_address>
– IP-адрес принимающей системы;<remote_port>
– номер порта принимающей системы;<remote_protocol>
– транспортный протокол.-e 1
– включение отправки уведомлений.
Настройка получения уведомлений на Linux-системе и отправка тестового сообщения
-
Создайте файл /etc/rsyslog.d/some_name.conf и пропишите настройки сервиса «rsyslog» для получения логов с СХД.
Пример конфигурации для протокола TCP с сохранением всех уведомлений, отправляемых СХД, в файл /var/log/remote-CEF.log:
module(load="imtcp" MaxSessions="500") input(type="imtcp" port="514" ruleset="remote") template(name="RemoteCEF" type="string" string="/var/log/remote-CEF.log") ruleset(name="remote") { if $msg startswith " CEF" then { action(type="omfile" dynaFile="RemoteCEF") stop } action(type="omfile" dynaFile="RemoteHost") stop }
Описание параметров, используемых в примерах, см. в секции Параметры конфигурации «rsyslog». Полная информация о сервисе «rsyslog» доступна на официальном сайте rsyslog.
-
Перезапустите сервис rsyslog:
# systemctl restart rsyslog.service
Чтобы отправить тестовое уведомление, после настройки СХД и принимающей стороны, на контроллере выполните
$ rdcli notify syslog test
Пример тестового уведомления:
Jun 19 17:21:59.098126 0OY5CC rdcmd[2395939]: CEF:0|Raidix||5.3|100|test|10|src=10.78.188.121 spt=514 shost=0OY5CC msg=Test CEF message
Jun 19 17:21:59.098126 0OY5CC rdcmd[2395939]: CEF:0|Рэйдикс|Рэйдикс RAIDIX|5.3|100|test|10|src=10.78.188.121 spt=514 shost=0OY5CC msg=Test CEF message
Параметры конфигурации «rsyslog»
В секции представлено описание параметров конфигурационного файла «rsyslog», используемых в примерах. Полная информация о сервисе «rsyslog» доступна на официальном сайте rsyslog.
Параметр | Значение | Описание |
---|---|---|
module |
load |
Модуль для загрузки сообщений. imtcp – обеспечивает отправку syslog-сообщений через TCP. imudp – обеспечивает отправку syslog-сообщений через UDP. |
MaxSessions |
Максимальное количество сессий для модуля TCP. |
|
input |
type |
Тип модуля входных параметров. |
port |
Порт сервера. |
|
ruleset |
Имя используемого набора правил. |
|
template |
name |
Имя шаблона. |
type |
Тип шаблона. string – содержит строку с шаблоном, который будет применён. |
|
string |
Текст строки для типа шаблона «string». |
|
ruleset |
name |
Имя набора правил. |