Интеграция с внешними системами
Интеграция NTA eSensor с внешними системами обеспечивает передачу данных eSensor сторонним приложениям и взаимодействие с внешними средствами защиты информации.
Во вкладках «Подключения к МЭ» и «Продвинутые настройки» администратор создаёт и настраивает подключения к внешним системам, просматривает их параметры, а также включает, отключает, редактирует и удаляет подключения.
Система поддерживает следующие варианты интеграции:
-
передача данных по протоколам TCP и UDP через подключение типа Socket;
-
взаимодействие с межсетевым экраном для автоматического создания запрещающих политик;
-
другие доступные типы подключений.
Для каждого подключения администратор задаёт параметры, необходимые для установления соединения и передачи данных. Набор параметров зависит от выбранного типа подключения.
Подключение типа Socket настраивается во вкладке «Продвинутые настройки» и используется для передачи данных в формате JSON на заданный адрес. Администратор выбирает транспортный протокол, указывает адрес получателя и определяет данные, которые необходимо передавать.
Подключение к межсетевому экрану настраивается во вкладке «Подключения к МЭ» и используется для автоматической блокировки трафика, связанного с обнаруженными атаками. При срабатывании выбранного правила eSensor сенсор передаёт на межсетевой экран команду на создание запрещающей политики. Условия и срок действия политики определяются настройками подключения.
Для доступа к внешним ресурсам в сетях с ограниченным прямым подключением администратор может настроить использование прокси-сервера во вкладке «Продвинутые настройки». При включённой настройке загрузка данных выполняется через указанное прокси-подключение.
Отключённые подключения сохраняются в системе, но передача данных через них не выполняется. После включения работа подключения возобновляется с использованием сохранённой конфигурации.
Отправка событий о срабатываниях правил по протоколу syslog
eSensor поддерживает передачу событий о зарегистрированных атаках во внешние системы, включая SIEM, в формате CEF по протоколам TCP и UDP. Передачу выполняет модуль отправки событий сенсора.
События передаются в формате CEF. Для подключения к SIEM-системе необходимо настроить следующие параметры:
-
адрес и порт получателя;
-
транспортный протокол;
-
минимальный уровень опасности отправляемых событий;
-
при необходимости (защищённое TLS-соединение);
-
дисковую буферизацию событий.
Отправка данных во внешние системы
Чтобы настроить отправку событий, следует выполнить следующие действия:
-
в разделе «Отправка событий» перейти во вкладку «Продвинутые настройки»;
-
включить параметр «Использовать продвинутые настройки»;
-
раскомментировать строки блока siem-sink, удалив символ # в начале каждой строки;
-
указать адрес получателя и транспортный протокол (таблица 15).
Таблица 15 – Параметры настройки адреса получателя и транспортного протокола
| Параметр | Описание | Возможные значения | Пример |
|---|---|---|---|
| <ADDRESS:PORT> | IP-адрес или доменное имя и порт получателя событий | Адрес и порт в формате <адрес>:<порт> | 10.0.5.74:49000 |
| <MODE> | Транспортный протокол | tcp или udp | tcp |
Пример заполнения блока:
siem-sink:
type: "socket"
inputs: ["suricata_events_cef_filter"]
address: ""10.0.5.74:49000"
mode: "tcp"
buffer:
type: "disk"
max_size: 1073741824
when_full: "drop_newest"
healthcheck:
enabled: true
encoding:
codec: "text"
Параметр max_size задаёт максимальный размер дискового буфера в байтах. Значение 1073741824 соответствует 1 ГБ.
Параметр when_full:"drop_newest" определяет поведение при заполнении буфера: новые события отбрасываются до появления свободного места.
Настройка защищённого соединения
Если события необходимо передавать по защищённому соединению, предварительно загрузите на машину с сенсором:
-
корневой сертификат центра сертификации;
-
сертификат клиента;
-
закрытый ключ сертификата клиента.
После этого раскомментируйте блок tls в настройках siem-sink:
tls:
enabled: <TLS-ENABLED>
ca_file: "<CA-PATH>"
crt_file: "<CLIENT-PATH>"
key_file: "<CLIENT-KEY-PATH>"
Параметры, необходимые для заполнения, представлены в таблице 16.
Таблица 16 – Параметры настройки защищенного соединения
| Параметр | Описание | Пример |
|---|---|---|
| <TLS-ENABLED> | Включение защищённого соединения | true |
| <CA-PATH> | Путь к корневому сертификату | /opt/echelon/tls/syslog-collector/ca.pem |
| <CLIENT-PATH> | Путь к сертификату клиента | /opt/echelon/tls/syslog-collector/client.pem |
| <CLIENT-KEY-PATH> | Путь к закрытому ключу сертификата клиента | /opt/echelon/tls/syslog-collector/client-key.pem |
Пример настройки:
tls:
enabled: true
ca_file: "/opt/echelon/tls/syslog-collector/ca.pem"
crt_file: "/opt/echelon/tls/syslog-collector/client.pem"
key_file: "/opt/echelon/tls/syslog-collector/client-key.pem"
Настройка уровня отправляемых событий
Модуль позволяет отправлять только события, уровень опасности которых не ниже заданного значения.
Для настройки порогового уровня найдите блок suricata_events_cef_filter, раскомментируйте его и замените <LEVEL> требуемым значением:
suricata_events_cef_filter:
type: "filter"
inputs: ["suricata_events_cef"]
condition: parts = split(.message, "|") ?? []; event_level = to_int(parts[6]) ?? 0; event_level >= <LEVEL>
Параметр <LEVEL> принимает целое значение от 0 до 10. Он соответствует полю CEF Severity.
Соотношение уровней опасности атаки представлено в таблице 17.
Таблица 17 – Уровни опасности при отправке событий
| Параметр | Описание | Пример |
|---|---|---|
| <LEVEL> | Минимальный уровень события в градации CEF (поле Severity), который должен быть у события, чтобы отправить его (будут отправляться только события не ниже этого уровня). Целое число от 0 до 10. Соотношение уровня опасности атаки в продукте с Severity CEF: Низкий → 3 Средний → 5 Высокий → 8 Критический → 10 | 8 (будут отправляться события об атаках только с высоким или критическим уровнем опасности) |
Пример полной конфигурации
В данном разделе представлен пример события высокого и критического уровня, которые отправляются по TCP на адрес komrad-esensor.echelon.lan:49000. Для соединения используется TLS.
{{- with .DataDir -}}
data_dir: "{{ . }}"
{{- end }}
sinks:
{{- with .Sinks }}
{{ include "sinks-main.tpl" . | indent 4 }}
{{- end }}
siem-sink:
type: "socket"
inputs: ["suricata_events_cef_filter"]
address: "komrad-esensor.echelon.lan:49000"
mode: "tcp"
buffer:
type: "disk"
max_size: 1073741824
when_full: "drop_newest"
healthcheck:
enabled: true
encoding:
codec: "text"
tls:
enabled: true
ca_file: "/home/echelon/komrad-certs/ca.pem"
crt_file: "/home/echelon/komrad-certs/client.pem"
key_file: "/home/echelon/komrad-certs/client-key.pem"
sources:
{{- with .Sources }}
{{ include "sources-main.tpl" . | indent 4 }}
{{- end }}
transforms:
{{- with .Transforms }}
{{ include "transforms-main.tpl" . | indent 4 }}
{{- end }}
suricata_events_cef_filter:
type: "filter"
inputs: ["suricata_events_cef"]
condition: parts = split(.message, "|") ?? []; event_level = to_int(parts[6]) ?? 0; event_level >= 8
После изменения параметров следует сохранить и применить настройки модуля отправки событий. Затем убедится, что SIEM-система принимает события от сенсора.
Внимание. При редактировании расширенной конфигурации следует сохранять структуру и отступы YAML. Ошибка в отступах или имени параметра может привести к невозможности применить настройки.
Использование прокси-сервера для загрузки данных
Настроенный прокси-сервер используется СУС для подключения к порталам AM TIP и ET Open. Эта настройка не предназначена для организации взаимодействия сенсоров с SIEM-системами и межсетевыми экранами.
Для настройки прокси-сервера необходимо:
- Открыть раздел «Администрирование» → «Общие настройки».
- Включить использование прокси-сервера.
- Указать URL прокси-сервера в формате, поддерживаемом веб-интерфейсом.
- Сохранить настройки.
- Запустить ручное обновление группы правил, индикаторов или базы GeoIP из соответствующего источника и проверить результат в истории обновлений.
Отправка управляющих сигналов на межсетевой экран
При срабатывании выбранного правила сигнатурного анализа сенсор формирует управляющую команду и передает ее межсетевому экрану. На основании полученных данных межсетевой экран создает запрещающую политику, блокирующую трафик с заданными адресами, портами и протоколами.
Запрещающая политика может быть:
-
постоянной – действует до ее удаления или отключения на межсетевом экране;
-
временной – автоматически прекращает действовать после истечения заданного срока.
При создании подключения пользователь задаёт следующие параметры:
-
название подключения;
-
URL МЭ;
-
токен пользователя МЭ.
Адрес межсетевого экрана указывается в формате: <http> или <https>://<адрес>:<порт>/<путь> Пример: https://192.168.1.10:8443/api.
Токен следует указать пользователя, обладающего полномочиями на создание и изменение политик межсетевого экрана.
Выбор триггеров создания запрещающих политик
Триггеры создания запрещающих политик МЭ администратор выбирает из одно или несколько правил eSensor.
При срабатывании выбранного правила сенсор автоматически отправляет на межсетевой экран команду на создание запрещающей политики. Срабатывания правил, не выбранных в настройках подключения, не приводят к созданию политик.
Для выбора доступны правила из группы правил, используемой сенсором в текущий момент.
Выбор правил при создании подключения не является обязательным. Администратор может сохранить подключение, а затем добавить или изменить список правил в его карточке.
Примечание. При отвязке сенсора от группы правил выбранные правила удаляются из настроек всех подключений этого сенсора. После назначения сенсору другой группы администратору необходимо повторно выбрать правила из новой группы. По умолчанию правила новой группы не выбраны.
Выбор данных для формирования политики
Для создания политик МЭ администратор выбирает один или несколько видов данных:
-
протокол;
-
IP-адрес отправителя;
-
порт отправителя;
-
IP-адрес получателя;
-
порт получателя.
Выбранные данные используются как условия запрещающей политики. Параметры, которые администратор не выбрал, не ограничивают трафик в создаваемой политике.
Например, если выбраны IP-адрес отправителя и протокол, политика блокирует трафик указанного протокола от обнаруженного IP-адреса независимо от портов и адреса получателя.
Создание политики при срабатывании правила
При срабатывании выбранного правила eSensor сенсор формирует команду на создание запрещающей политики. В команду включаются выбранные в настройках подключения данные из срабатывания.
В описании созданной политики указывается название сработавшего правила.
Идентификатор политики формируется из следующих параметров:
-
IP-адрес источника;
-
IP-адрес назначения;
-
порт источника;
-
порт назначения;
-
протокол.
Если политика с таким идентификатором уже существует, межсетевой экран не создаёт дубликат. Для существующей политики обновляются описание и время жизни, если переданные значения отличаются от текущих.
Пример настройки:
Для подключения настроено создание политики при срабатывании следующего правила:
alert udp $EXTERNAL_NET any -> $HOME_NET any
(msg:"test rule"; content:"some content"; sid:1;)
В настройках подключения выбраны:
-
правило test rule;
-
IP-адрес отправителя;
-
протокол;
-
временная политика;
-
время жизни – один день.
Правило срабатывает при передаче UDP-пакета от узла 1.1.1.1 из сети $EXTERNAL_NET узлу 10.0.0.1 из сети $HOME_NET.
Сенсор отправляет на межсетевой экран команду на создание следующей политики: блокировать весь UDP-трафик, исходящий от узла 1.1.1.1. Созданная политика действует один день, после чего удаляется с межсетевого экрана.
Редактирование подключения
Для изменения подключения администратор открывает его карточку, редактирует необходимые параметры и сохраняет изменения.
В подключении типа Socket администратор может изменить шаблон конфигурации. В подключении к МЭ можно изменить адрес, токен, перечень правил, используемые данные и срок действия создаваемых политик.
Сохранённые изменения применяются при последующей передаче данных и обработке новых срабатываний.
Отправка уведомлений о срабатываниях правил по электронной почте
eSensor поддерживает отправку уведомлений о зарегистрированных атаках по электронной почте (служба ids-smtp-sender). Передача выполняется в два этапа:
-
Модуль отправки событий сенсора передаёт сведения об атаках в службу ids-smtp-sender по HTTP.
-
Служба ids-smtp-sender формирует и отправляет электронное письмо в соответствии со своими настройками.
Служба ids-smtp-sender устанавливается на каждой машине с сенсорами. По умолчанию служба выключена.
Расположение файлов
Файлы модуля ids-smtp-sender располагаются на машине с сенсором в каталоге:
/opt/echelon/ids-sensor/
Конфигурационный файл модуля:
/opt/echelon/ids-sensor/smtp-sender-config.yaml
Настройка передачи службы отправки почты
Для настройки передачи отправки почты следует выполнить следующие действия:
- в продвинутых настройках модуля отправки событий сенсора добавить блок smtp-sink:
smtp-sink:
type: "http"
inputs: ["suricata_events"]
uri: "http://<ADDRESS>/?to=<RECIPIENT>&title=<TITLE>"
encoding:
codec: "json"
batch:
timeout_secs: <AGGREGATION-PERIOD>
- заменить параметры в угловых скобках требуемыми значениями, представленными в таблице 18.
Таблица 18 – Параметры настройки модуля отправки по электронной почте
| Параметр | Описание |
|---|---|
| <ADDRESS> | Адрес и порт службы ids-smtp-sender |
| <RECIPIENT> | Получатель электронного письма |
| <TITLE> | Заголовок электронного письма |
| <AGGREGATION-PERIOD> | Период агрегации событий в секундах |
Параметр timeout_secs определяет, как долго события Suricata накапливаются перед передачей в ids-smtp-sender. Полученные за этот период события объединяются для последующей отправки.
Если адрес получателя или заголовок содержат специальные символы, их необходимо передавать в URI в URL-кодированном виде.
После изменения конфигурации сохраните и примените настройки модуля отправки событий сенсора.
Пример настройки
В следующем примере события передаются локальной службе ids-smtp-sender, которая принимает HTTP-запросы на порту 8025. Период агрегации составляет 5 секунд:
smtp-sink:
type: "http"
inputs: ["suricata_events"]
uri: "http://127.0.0.1:8025/?to=user&title=suricata_events"
encoding:
codec: "json"
batch:
timeout_secs: 5