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

Подключение Syslog-коллектора

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

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

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

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

  2. Установить из папки syslog-collector командой:

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

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

    bus:
    servers:
    - nats://IP_ KOMRAD:3490
  5. Сохранить файл и перезагрузить syslog-collector командой:

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

примечание

Syslog-коллектор может принимать изображения в форматах gif / jpeg / png. Они попадут в поле Blob.Image

примечание

Для подключения источника нет необходимости устанавливать коллектор на источник, подробнее о подключении источников см. ниже

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

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

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

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

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

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

    • При необходимости можно изменить имя коллектора
    • Выбрать активные парсеры (также необходимо проверить совместимость)
    • Указать необходимые порты
    • Указать диапазоны сбора с указанием действия, применяемого к событиям с данных адресов
    • При необходимости указать ограничение числа одновременных соединений (0 — не ограничено) и размера входящих сообщений (0 — не ограничено), а также выбрать временную зону и ввести разделитель строки
примечание

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

Определение страны или города у syslog-коллектора

У Syslog-коллектора есть возможность определять страну/город из полученного события. Вы можете использовать свой файл со списком соответствия адресов или использовать предоставленный АО "НПО" Эшелон".

Откройте файл komrad-syslog-collector.yaml командой:

sudo nano /etc/echelon/komrad/komrad-syslog-collector.yaml

Отредактируйте путь к файлу:

# Путь к базе данных GeoIP
geo-ip:
path: /var/lib/echelon/komrad/komrad-syslog-collector/geoip/db.mmdb

Уже заполненные файлы со списком соответствия адресов (для мира и отдельно для России) доступны по ссылке.

После перезапуска коллектора у событий, в которых будут определятся поля IP.Destination и другие, также будут появляться и дополнительные поля ECS.City или ECS.Country.

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

sudo apt install libmaxminddb0 libmaxminddb-dev mmdb-bin

Проверить IP:

mmdblookup --file /usr/share/GeoIP/GeoIP2-Country.mmdb --ip 8.8.8.8

Результат:


{
"country":
{
"geoname_id":
6252001 <uint32>
"iso_code":
"US" <utf8_string>
"names":
{
"de":
"USA" <utf8_string>
"en":
"United States" <utf8_string>
}
}
}

Изменение порта Syslog-коллектора

Решение состоит в том, чтобы добавить в службу следующее (например, запустив systemctl edit inspircd.service):

[Обслуживание]
AmbientCapabilities=CAP_NET_BIND_SERVICE

Для систем со старой версией systemd возможно лучше пользоваться setcap:
setcap cap_net_bind_service=+ep

Ещё можно посмотреть на:
sudo sysctl -a | grep "net.ipv4.ip_unprivileged_port_start"

По умолчанию там 1024

Можно сделать

sudo sh -c "echo 442 > /proc/sys/net/ipv4/ip_unprivileged_port_start"

Автономный режим работы

У syslog-коллектора есть возможность работы в оффлайн режиме.

Конфигурация возможна через стандартный файл yaml.

Включение оффлайн режима производится изменением параметра offline: true в файле конфигурации.

По умолчанию все собранные события будут выводиться в консоль вперемешку с собственными логами коллектора.

Возможно настроить вывод событий в файл.

Поддерживается два типа файлов:

JSON разделённый переводами строк, активируется если расширение файла .ndjson если расширение файла любое отличное от ndjson будет записываться нативный бинарный формат пакетов событий КОМРАД

Имя файла задаётся в параметре:

/etc/echelon/komrad/komrad-syslog-collector.yaml
# раскомментировать для записи в формате JSON
#events_file: "local_events.ndjson"
# при записи в бинарный файл рекомендуется указывать путь в формате "папка-файл", тогда коллектор будет писать файлы в выбранную папку, на каждый батч создаётся один файл, поэтому регулировать интенсивность создания новых файлов можно регулированием параметра batching
events_file: "collected/local_events.zst"

Если параметр events_file не указать либо указать пустым - вывод событий будет производиться в консоль.

Конфигурация коллектора:

Возможно включать один плагин либо любой набор плагинов коллектора:

/etc/echelon/komrad/komrad-syslog-collector.yaml
plugins:

- name: regex plugin
id: 1
items:
- body: regex:.*
- body: |
processors:

- module: grok
from: Raw
patterns:
HTTP_ANSWER: "%{IP:ECS.Client.IP} - - %{GREEDYDATA}"

- module: deny
when:
cel:
- "event[\"ECS.Client.IP\"] == \"127.0.0.1\""

- module: grok
from: Raw
patterns:
HTTP_ANSWER: "%{GREEDYDATA} %{WORD:ECS.HTTP.RequestMethod}"
- body: json:all
mapping:

foo:

eventfieldname: ECS.Foo
valuetype: string

Для коллектора потребуются небольшие правки конфигураций.

Так, для syslog-collector необходимо указать адреса портов:

/etc/echelon/komrad/komrad-syslog-collector.yaml
# Использовать при работе только в локальном автономном режиме
collector:
type: syslog
value:
tcp-port: 49000
udp-port: 49050

После запуска коллектора возможно на него отправлять события.

После остановки коллектора записанные бинарные файлы можно перенаправить в SIEM на локальном узле либо на другом узле.

Загрузка собранных файлов в SIEM возможна:

  • Из нативного формата утилитой komrad-cli

    Порядок загрузки файлов в нативном формате в KOMRAD:

    for filename in collected/*; do cat ${filename} | komrad-cli nats --tlscert /var/lib/echelon/komrad/certs/client.pem --tlskey /var/lib/echelon/komrad/certs/client-key.pem --tlsca /var/lib/echelon/komrad/certs/ca.pem --user komrad --password pass -s nats://komrad.ru:3490 pub events.all --force-stdin; done
  • Из формата ndjson файловым коллектором либо перенаправлением содержимого файла на syslog-collector:

  1. Перенесите файл на хост с установленным файловым коллектором.
  2. В настройках файлового коллектора добавьте в качестве источника перенесённый файл.

Удаление

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

sudo dpkg -P komrad-syslog-collector