Перейти к основному содержимому
Версия: 4.5.X

Подключение с помощью HTTP-коллектора

Подключение нового HTTP-коллектора

Предварительные условия:

Для установки HTTP-коллектора на определенный узел, необходимо:

  1. На узле создать директорию, в которую необходимо переместить deb-пакет komrad-http-collector*.deb из дистрибутива KOMRAD

  2. Установить из папки HTTP-коллектор командой:

    sudo dpkg -i ./komrad-http-collector*.deb
  3. Открыть файл komrad-http-collector.yaml командой:

    sudo nano /etc/echelon/komrad/komrad-http-collector.yaml
  4. Отредактировать параметр bus-url, задав IP-адрес сервера KOMRAD:

    bus-url: nats://IP_KOMRAD:3490
  5. Сохранить файл и перезагрузить HTTP-коллектор командой:

    sudo systemctl restart komrad-http-collector.service
  6. Новый HTTP-коллектор отобразится в списке коллекторов в веб-интерфейсе

Подключение новых источников событий

Предварительные условия:

  • убедиться, что существует возможность сетевого взаимодействия между KOMRAD и источником событий

Настройка HTTP-коллектора

  1. manage ⇒ Настройки коллекторов ⇒ Коллекторы ⇒ HTTP

  2. Нажать иконку «Редактировать» ⇒ Настраиваем коллектор:

    • При необходимости можно изменить имя коллектора
    • Указать порт коллектора
    • Указать протокол
    • Указать фильтрацию входящих соединений по списку IP адресов. Значения списка необходимо разделять запятой, либо начинать с новой строки. Значения могут быть:
      • адрес IPv4, например 192.0.2.3
      • адрес IPv6, например 2001:db8::
      • интервал адресов IPv4, например 10.0.4.0/24
      • интервал адресов IPv4, например 10.0.4.2-10.0.4.28
      • интервал IPv6 адресов, например 2001:db8::/48
      • интервал IPv6 адресов, например 2001:db8::-2001:xe8::
      • тег сканера активов Сканер-ВС, например #office (актуальные адреса IP будут запрошены в Сканер-ВС)
    • Способ фильтрации по IP
    • Включить защиту BasicAuth:
      • Имя пользователя
      • Пароль
    • Строка ответа
      • URL
      • HTTP-методы - фильтрация поступающих запросов по HTTP-методам
    • Извлекать заголовки - список заголовков HTTP, которые необходимо извлечь
    • Сохранять исходный текст запроса в поле Raw в карточке события

Пример:

  • Настройка HTTP-коллектора

Настройка HTTP-коллектора

  • Отправка HTTP запроса в KOMRAD

Отправка HTTP запроса в KOMRAD

Где:

  1. IP-адрес хоста, с которого идет отправка события

  2. Curl-запрос

    curl -X "POST" "http://10.0.5.90:48000/test" -u "komrad:komrad"  -H 'Content-Type: application/json' -d '{"Event": "Привет, мир!"}' -v
  3. Проверка BasicAuth и HTTP-заголовки

  4. Выходные данные

  5. Строка ответа KOMRAD

  • Событие ИБ в KOMRAD

Событие ИБ Событие ИБ продолжение

примечание

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

Удаление

Удалить http-коллектор можно с помощью команды:

sudo dpkg -P komrad-http-collector

Использование в качестве fake-elastic

Теперь в конфиге HTTP коллектора имеется новый блок - "fake-elastic", требующийся для настроек elasticsearch-like сервера для получения событий. Большинство настроек, кроме "enable" и "version", схожи с HTTP endpoint.

Включение elastic search через komrad-http-collector.yaml

  1. Из терминала остановить http-коллектор:

       sudo systemctl stop komrad-http-collector
  2. Комраде перейти во вкладку Администрирование -> Настройки коллекторов -> выбрать http-коллектор в левом меню.

  3. Поставить галочку рядом с существующим http-коллектором

  4. Нажать "Удалить"

  5. В терминале перейти в конфиг-файл http-коллектора sudo nano /etc/echelon/komrad/komrad-http-collector.yaml

  6. Найти блок fake elastic, заполнить следующим образом:

    /etc/echelon/komrad/komrad-http-collector.yaml
    fake-elastic:
    enable: true
    # Версия Elasticsearch API, имитируемая коллектором.
    version: v8
    # Включает опциональную аутентификацию при помощи пары "пользователь:пароль"
    # в стандарте HTTP Basic Auth. Потребуется указать username и password.
    basic-auth: true
    # При включённой опции basic-auth позволяет указать имя пользователя для аутентификации
    # подключений HTTP клиентов. Потребуется также указать пароль в password.
    username: elastic
    # При включённой опции basic-auth позволяет указать пароль для аутентификации
    # подключений HTTP клиентов. Потребуется также указать имя пользователя в username.
    password: pass
    # Позволяет задать IP адрес для сервера HTTP в случаях если в системе присутствует
    # несколько сетевых интерфейсов. По умолчанию 0.0.0.0.
    listen-address: 0.0.0.0
    # Внешний порт для HTTP сервера. По умолчанию 9200.
    listen-port: 9200
    tls:
    disable: true
    ServerName: komrad-collector-http-elasticsearch
    TrustedCA: /var/lib/echelon/komrad/certs/ca.pem
    Cert: /var/lib/echelon/komrad/certs/server.pem
    CertKey: /var/lib/echelon/komrad/certs/server-key.pem
    примечание

    Если необходимо включение tls, изменить параметр:

    tls: disable: false

    version - версия имитируемого API Elasticsearch, может принимать значения "v6", "v7" и "v8" версии Beats 8.* совместимы с API версии 8 версии Beats 7.* совместимы с API версии 7 версии Beats 6.* совместимы с API версии 6 Выбирать параметр нужно, отталкиваясь от тестируемой версии beats

    Basic Auth - если указано в yaml, необходимо указывать в конфиге бита

  7. Сохранить файл (Ctrl+O, Ctrl+X)

  8. Перезагрузить http-коллектор:

    sudo systemctl restart komrad-http-collector
  9. В KOMRAD перейти во вкладку "Администрирование" ⇒ "Настройки коллекторов" ⇒ выбрать http-коллектор в левом меню

  10. Включить http-коллектор через переключатель.