Настройка централизованного сбора событий работы компонентов Немезида ВАФ | Немезида ВАФ

Немезида ВАФ можно интегрировать с внешними SIEM-системами. Для этого необходимо настроить сбор событий со всех серверов, где установлен Немезида ВАФ. Выполнить это можно несколькими способами:

Настройка централизованного сбора событий работы компонентов с помощью Личного кабинета

Тариф Энтерпрайз позволяет организовать централизованный сбор, хранение и обработку журналов всех компонентов Немезида ВАФ, используя возможности Nemesida WAF API и Личного кабинета. Для тарифов Лайт и Бизнес сбор событий и их централизованную отправку на удаленный сервер можно настроить самостоятельно, используя стандартные средства, например, Rsyslog.

Организация централизованного сбора, хранения и обработки журналов всех компонентов Немезида ВАФ доступна по умолчанию и не требует дополнительной настройки, достаточно выполнить обновление всех компонентов до актуальной версии. После обновления компонентов в Личном кабинете будет доступен соответствующий функционал. Для интеграции функционала с внешними SIEM-системами используется фунционал Nemesida WAF API.


Журнал событий работы компонентов Немезида ВАФ

Настройка централизованного сбора событий с помощью Rsyslog

Rsyslog – это мощная, безопасная и высокопроизводительная система обработки логов, принимающая данные из различных источников (систем и приложений). Работает по модели «клиент-серевер», поэтому ее можно настроить как клиент или сервер для централизованного ведения журналов других серверов, сетевых устройств и удаленных приложений. Сегодня мы настроим взаимодействие двух серверов (клиента и сервера) на централизованное хранение логов модулей Немезида ВАФ.

Сервер с IP-адресом 10.0.0.1 используется для примера в качестве сервера централизованного хранения событий.

Настройка сервера централизованного сбора событий
Чтобы настроить rsyslog как сетевой централизованный сервер ведения логов, нужно в файле /etc/rsyslog.conf установить протоколы (UDP, TCP или оба), которые будут использоваться для приема удаленных сообщений, системных логов, а также прослушиваемые порты.

Для прослушивания UDP:

module(load="imudp")
input(type="imudp" port="514")

Для прослушивания TCP:

module(load="imtcp")
input(type="imtcp" port="514")

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

$template RemoteLogs,"/var/log/rsyslog/%HOSTNAME%/%PROGRAMNAME%.log"
local6.* ?RemoteLogs
& ~

Параметры %HOSTNAME% и %PROGRAMNAME%.log позволяют создавать директории с логами под каждый удаленный сервер, с которого поступают события.

Настройка удаленного сервера отправки данных
В файле /etc/rsyslog.conf удаленного сервера настраиваем протокол и порт, который будет использовать Rsyslog во время работы.

Для прослушивания UDP:

module(load="imudp")
input(type="imudp" port="514")

Для прослушивания TCP:

module(load="imtcp")
input(type="imtcp" port="514")

Nginx

Для сбора событий с уровнями CRITICAL и ALERT из журналов ошибок Nginx (файлы /var/log/nginx/*error.log) добавляем следующие строки в файл виртуального хоста Nginx:

server {
...
error_log syslog:server=10.0.0.1:514,facility=local6,tag=nginx;
...
}

В Nginx, для журналов error.log, не поддерживается вывод событий в syslog с необходимым уровнем приоритета, можно указать только пороговый, начиная с которого события будут передаваться в syslog. По умолчанию установлен уровень ERROR.

Nemesida AI MLA

Для модуля Nemesida AI MLA создаем конфигурационный файл /etc/rsyslog.d/nwaf/mla.conf, куда добавляем следующие строки:

$ModLoad imfile
$InputFileName /var/log/nwaf/mla.log
$InputFileTag mla:
$InputFileStateFile mla_log
$InputFileSeverity error
$InputFileFacility local6
$InputRunFileMonitor
10.0.0.1

local6.* @@10.0.0.1:514

Nemesida WAF Update

Для сервиса Nemesida WAF Update создаем конфигурационный файл /etc/rsyslog.d/nwaf/update.conf, куда добавляем следующие строки:

$ModLoad imfile
$InputFileName /var/log/nwaf/nwaf_update.log
$InputFileTag update:
$InputFileStateFile update_log
$InputFileSeverity error
$InputFileFacility local6
$InputRunFileMonitor
10.0.0.1

local6.* @@10.0.0.1:514

Nemesida AI MLC

Для модуля Nemesida AI MLC создаем конфигурационный файл /etc/rsyslog.d/nwaf/mlc.conf, куда добавляем следующие строки:

$ModLoad imfile
$InputFileName /var/log/nwaf/mlc.log
$InputFileTag mlc:
$InputFileStateFile mlc_log
$InputFileSeverity error
$InputFileFacility local6
$InputRunFileMonitor
10.0.0.1

local6.* @@10.0.0.1:514

Nemesida WAF Scanner

Для модуля Nemesida WAF Scanner создаем конфигурационный файл /etc/rsyslog.d/nwaf/nws.conf, куда добавляем следующие строки:

$ModLoad imfile
$InputFileName /var/log/nwaf/nws.log
$InputFileTag nws:
$InputFileStateFile nws_log
$InputFileSeverity error
$InputFileFacility local6
$InputRunFileMonitor
10.0.0.1

local6.* @@10.0.0.1:514

Все созданные файлы необходимо задействовать в основном конфигурационном файле /etc/rsyslog.conf:

$IncludeConfig /etc/rsyslog.d/nwaf/*.conf

Для настройки отправки событий на удаленный сервер необходимо указать IP-адрес и порт назначения, используя конструкцию: @@10.0.0.1:514.