Вопросы и ответы
Мы собираем часто задаваемые вопросы на support@npo-echelon.ru
или в нашем чате в Telegram и ответы на них в данной статье.
Как получить пробную лицензию и скачать KOMRAD Enterprise SIEM 4?
Скачать дистрибутив и документацию здесь KOMRAD Enterprise SIEM 4.
E-mail для получения лицензии: getkomrad@npo-echelon.ru
Есть ли какие-то рекомендуемые требования для машин, на которые выносятся коллекторы?
Для коллектора нагрузки в разы меньше, мы рекомендуем использовать минимальные требования к аппаратной платформе, аналогично лицензии Base
Как изменить период поиска по событиям?
Если при фильтрации у вас возникает ошибка "Слишком большой временной интервал". Установлен лимит в 240 часов, а запрошен в n часов, см. параметр EventsSearchBackwardsTimeLimit
(time range is too large: yyyy-mm-dd hh:mm:ss +0000 UTC to yyyy-mm-dd hh:mm:ss +0000 UTC).
Для увеличения интервала Вам необходимо изменить значение EventsSearchBackwardsTimeLimit
в конфигурационном файле Конфигурация сервера
# Ограничение периода поиска по событиям в прошлом
EventsSearchBackwardsTimeLimit: 240h
Пример: 30 суток 720h
Данная настройка будет зависеть от ресурсов аппаратной платформы, значение 240h
оптимально подходит для лицензии Base
После изменения конфигурационного файла сервис не стартует?
При изменении конфигурационного файла могла быть допущена ошибка (лишний пробел, запятая вместо точки).
Вы с лёгкостью найдёте место ошибки с использованием утилиты journalctl, при просмотре лога запуска сервиса выведется в какой строке конфигурационного файла ошибка.
Проверка регулярных выражений?
Проверить регулярное выражение можно не только в KOMRAD Enterprise SIEM 4, но и на различных ресурсах, например, на regex101.com, в пункте flavor
необходимо указать Golang
.
Как получить информацию о событии или активе из инцидента при формировании уведомления?
Вы можете выводить список активов и событий.
Активы: incident.Assetsincident.Assets
Извлечённые переменные корреляции: incident.Histories
Пример сообщения:
Активы подверженные атаке: {{ incident.Assets }}
События инцидента приведшие к инциденту {{ incident.Histories }}
Вы получите все поля событий и активов по данной директиве.
Как делать информативные уведомления?
В инцидентах и событиях много избыточной информации, чтобы поменять порядок полей, убрать лишнее или добавить что-то в уведомление используется язык шаблонизации Liquid
Не отображаются графики?
Проверьте настройки антивируса, ча сто такая проблема встречается при использовании продуктов компании Kaspersky.
Сколько весит одно событие в KOMRAD?
Благодаря использованию ClickHouse мы добились минимального веса события. События сильно разнятся, но среднее значение на наших стендах 50 байт на событие.
Сколько занимает база данных с событиями?
Запрос в ClickHouse
SELECT 'komrad-event', table, formatReadableSize(sum(data_compressed_bytes) AS size) AS compressed, formatReadableSize(sum(data_uncompressed_bytes) AS usize) AS uncompressed, round(usize / size, 2) AS compr_rate, sum(rows) AS rows, count() AS part_count FROM system.parts WHERE (active = 1) AND (table LIKE '%') AND (database LIKE '%') GROUP BY database, table ORDER BY size DESC;
или в консоли Linux
sudo du -sm /var/lib/clickhouse/
Размер базы данных ClickHouse в мегабайтах.
Как записать выражение в поле директивы, которое связано логическими "И","ИЛИ"?
В выражениях используется нотация Google CEL-Go
Failed to start: migrations: Dirty database version
Ошибка миграции - обычно происходит из-за медленного железа, сервис после установки не успевает провести миграцию и прерывает её. Для исправления ошибки необходимо переустановить базу komrad-preferences
sudo systemctl stop komrad-server.service komrad-server.socket komrad-processor pauth-server komrad-correlation-dispatcher
sudo systemctl restart postgresql
sudo su - postgres
dropdb "komrad-preferences";
exit
sudo systemctl restart postgresql
sudo su - postgres
createdb -O postgres komrad-preferences
exit
sudo systemctl start komrad-server.service komrad-server.socket komrad-processor pauth-server komrad-correlation-dispatcher
Неудачная попытка подключения к ГосСОПКА?
При неудачной попытке подключения к ГосСОПКА Вам не напишет детальной ошибки. Для того, чтобы найти причину, нажмите F12 и Вы увидите причину неуспешной проверки.
- 500 - вы ввели недопустимые значения для некоторых полей
- 404 - вы указали неверный адрес для подключения
- 502 - проблема с токеном.
Как проверить сколько байт занимают базы в оперативной памяти?
Выполните команду:
sudo ps -aux | grep -i clickhouse-server | awk '{print $5}'
При создании директивы можно указывать значения "Время после предыдущего блока", какое конкретно время тут учитывается для блока типа "Событие"?
Действительно, в системе есть много атрибутов времени. Время записи события (WTime), время получения (GenerationTime), время создания (CTime), ECS.Base.Timestamp
.
Мы парсим событие и вытаскиваем из него значение, когда оно произошло, если такого значения нет, то поле заполнит коллектор и в том и в другом случае это будет поле время получения(GenerationTime).
Как собирать события о действиях пользователей в KOMRAD?
Перейдите в manage ⇒ Настройки коллекторов ⇒ SQL ⇒ Выберите коллектор ⇒ Добавьте источник ⇒ Выберите шаблон "KOMRAD - Сбор журнала аудита действий пользователей".
Замените hostname на localhost при варианте установки всех сервисов на одном хосте. Вместо port укажите 5432, а вместо dbname — komrad-preferences. Если коллектор расположен на другом хосте, то укажите IP-адрес машины, на которой находится Postgres с базой komrad-preferences
.
Как регулировать сложность пароля?
В рамках повышения или понижения безопасности парольной политики в KOMRAD вы можете поменять значение в конфигурационном файле pauth-server.yaml
MinPasswordEntropyBits: 70
Число 70
является энтропией битов введённого слова в поле пароль. Ниже приведена таблица отношения энтропии к количеству символов.
Полную таблицу соответствия вы можете посмотреть в разделе аутентификации
Энтропия | Строчные буквы | Заглавные + строчные + цифры | заглавные + строчные + цифры + спецсимволы |
---|---|---|---|
70 | 15 | 12 | 11 |
Как добавить редирект по ссылке из события?
Соб ытия с источников могут приходить с полем ECS.Event.Reference
или ECS.Event.URL
- это ссылка, мы даём возможность перейти по ней, но для безопасного перехода Вы должны внести целевой ресурс в разрешённые.Сделать это можно в конфигурационном файле komrad-server.yaml
.
Добавьте ваш источник, по аналогии с уже указанным в списке:
# Список FQDN от которых разрешены запросы, если список пустой - запросы со всех
# хостов будут приниматься. Можно использовать регулярные выражения.
AllowedHosts:
- dev-komrad.etecs.ru
- ваш источник
Как распределить нагрузку по ядрам?
Чтобы не загружать одно ядро, вы можете сбалансировать нагрузку, распределив её по разным ядрам системы. Укажите число ядер вашей системы в конфигурационном файле komrad-processor
.
Отредактируйте конфигурационный файл komrad-processor
:
# Число параллельных обработчиков событий, число можно увеличивать в интервале 1 .. (4-8 x число ядер) для увеличения скорости обработки событий ИБ за счёт роста потребления ресурсов узла
# Рекомендуемое значение - 20
parallelconsumerscount: 1
Пример: Количество ядер в системе 8 parallelconsumerscount: 8
Как соединить два программных комплекса KOMRAD?
Для отправки инцидента по директиве используйте отправку по Syslog в формате CEF
в другой KOMRAD, подробная настройка
В качестве источника приёма событий используйте syslog-collector.
recipient:
- "tcp://ip_komrad:49000"
hostname: komrad-region
version: 1
devicevendor: NPOECHELON
deviceproduct: KOMRAD-SIEM
deviceversion: v4.3.58
deviceeventclassid: SIEM
name: Region
severity: 1
Как работает валидация при создании сертификатов?
Сервер покажет ошибку валидации на языке пользователя, если загрузить сертификат или приватный ключ размером более 32 кб (или превысить размер по символам в случае, если прописывать их вручную). Примеры таких ошибок можно увидеть на картинках ниже.
Как выпускать сертификаты на более длительный срок?
При выпуске сертификатов добавьте флаг expire
:
sudo komrad-cli certificates create ca --expire 24m
Пример: создание корневого сертификата со сроком действия 24 месяца.
Как проверить срок действия сертификатов?
Если Вы не меняли путь, по которому хранятся сертификаты KOMRAD (/var/lib/echelon/komrad/certs
), то выполните следующие команды:
cd /var/lib/echelon/komrad/certs
openssl x509 -in ./ca.pem -text -noout | grep "Not After" && openssl x509 -in ./server.pem -text -noout | grep "Not After" && openssl x509 -in ./client.pem -text -noout | grep "Not After"
Как увеличить срок хранения событий?
После автоматической или ручной установки события по умолчанию будут храниться в системе 30 дней. Вы можете установить необходимый Вам параметр хранения событий (TTL) в базе. Это можно сделать через запрос к базе Clickhouse. Подключение к Clickhouse
ALTER TABLE komrad_events.events
MODIFY TTL FROM_UNIXTIME(key_time) + INTERVAL 365 DAY;
Пример: изменение срока хранения событий на год. Доступные интервалы:
INTERVAL 1 YEAR + INTERVAL 3 MONTH + INTERVAL 1 WEEK + INTERVAL 4 DAY
Как собрать логи при проблемах с СУБД ClickHouse?
При возникновении проблем с СУБД ClickHouse, имеет смысл выполнить следующую команду:
sudo clickhouse-diagnostics collect --host localhost --password pass -u komrad
Где вместо pass
(пароль по умолчанию), необходимо указать ваш пароль от ClickHouse.
Пос ле выполнения указанной команды, Вы увидите строчку по типу
archive ready at: /home/iru/p/packaging/user/1665645734320.tar.gz
, которая укажет на расположение созданного файла. Пожалуйста, предоставьте этот файл техподдержке KOMRAD. Это поможет при расследовании проблем, связанных с работой СУБД ClickHouse.
Каким образом мы сжимаем события и во сколько раз?
Согласно нашим внутренним исследованиям, степень сжатия событий оценивается в 200 раз. События сжимаются несколько раз, в том числе и на коллекторе, также они сжимаются в ClickHouse.
В ClickHouse мы используем сжатие zstd
Не подключается к базе Касперского TLS Handshake failure
?
Добавьте параметр использования сертификатов
sqlserver://username:password@host?database=db_name&encrypt=disable
Такой параметр необходимо принудительно указывать для баз ранее 2014 года выпуска и в версии Express
При перезапуске сервисов появляются ошибки корреляции?
Если после перезапуска всех сервисов Вы столкнулись с ошибками корреляции (как показано на скриншоте ниже), но директивы при этом работают, то просто проигнорируйте их, это служебная ошибка.
Эти ошибки происходят при старте диспетчера корреляции и на работу директив не влияют.
Директива не включается, появляется ошибка Ошибка: exit status 12 (error_connection_to_db)
Возможно, у KOMRAD нет связи с БД Postgresql. Проверьте доступност ь БД. Поскольку при включении директивы создаётся новое соединение с БД, возможно, исчерпан лимит max_connections
. Отредактируйте максимальное число подключений к БД в строке max_connections = 150
в файле postgresql.conf
:
sudo nano /etc/postgresql/"номер_версии"/main/postgresql.conf
Тип поля map
Тип данных поля map
является экспериментальным, но присутствует на UI.
Рекомендуем не использовать данный вид поля
Не включается Syslog-коллектор?
Если Вы получаете следующую ошибку при попытке включения Syslog-коллектора:
finished with error: failed to run in interactive mode: can’t start collector: can’t create wal log at path /var/lib/echelon/komrad/komrad-syslog-collector/.wal : can’t load wal data: can’t read segment data: wal is corrupt
То введите в терминал:
rm -rf /var/lib/echelon/komrad/komrad-syslog-collector/*
systemctl restart komrad-syslog-collector
Может ли коллектор собирать файлы с папки?
KOMRAD может собирать конечные файлы из папки, но с учётом указания конкретного файла. В случае если каждый день создаётся новый лог-файл, Вы не сможете автоматически с него собирать логи.
Освобождение места на диске
Если В ы столкнулись с критической нехваткой места на диске, Вы можете удалить файл под названием ballast_file
, который расположен в /home/username/komrad
и освободить примерно 1 Гб. Например, это можно сделать так:
sudo rm -i /home/имя_пользователя/komrad/ballast_file
Создается новый коллектор при рестарте коллектора?
Если машина, на которой установлен коллектор, обладает слабыми техническими характеристиками, коллектор, установленный на ней, может зависать при попытке рестарта, а рядом будет создаваться новый.
В таком случае необходимо перенести настройки старого коллектора (со статусом "не определён") в новый коллектор (со статусом "в работе").
Тёмная тема
На данный момент в KOMRAD нет возможности включения тёмной темы, однако планируется её добавить в дальнейшем, в следующих версиях программного комплекса.
Сейчас Вы можете использовать расширение для браузера. Например, Dark Reader
.
Он доступен для Google Chrome / Mozilla Firefox / Safari / Microsoft Edge. У плагина имеется довольно гибкая система настроек, которая позволит Вам пользоваться им так, как Вы захотите.
Dark Reader
не встраивает рекламу и не собирает пользовательские данные, а исходный код плагина является открытым.
Проверить свои знания по KOMRAD
Проверить свои знания по продукту можно, пройдя тест
Сменился IP у KOMRAD, и сервисы больше не доступны
В целях настроек безопасности мы строго прописываем в конфигурации с каких IP ожидать соединения для сервисов. В случае внезапной смены IP на рабочей станции с установленным KOMRAD, сначала необходимо диагностировать, что причина получаемой ошибки именно в этом. В результате выполнения sudo -u komrad /usr/bin/komrad-bus -c /etc/echelon/komrad/komrad-bus.yaml
Вы должны получить ошибку: Can’t start monitoring: can’t listen to the monitor port: listen tcp [last_ip]:3491: bind: cannot assign requested address
.
Необходимо заменить настройки транспортной шины. В случае если сервисы располагаются локально, Вы можете использовать 127.0.0.1
.
Поменяйте значения IP со старого на новый или укажите имя в файлах конфигурации:
sudo nano /etc/echelon/komrad/komrad-bus.yaml
sudo nano /etc/echelon/komrad/komrad-bus.conf
sudo nano /etc/echelon/komrad/komrad-incident-manager.yaml
sudo nano /etc/echelon/komrad/komrad-correlation-dispatcher.yaml
sudo nano /etc/echelon/komrad/komrad-reactor.yaml
sudo nano /etc/echelon/komrad/komrad-server.yaml
sudo nano /etc/echelon/komrad/komrad-scanner.yaml
sudo nano /etc/echelon/komrad/komrad-processor.yaml
sudo nano /etc/echelon/komrad/komrad-snmp-collector.yaml
sudo nano /etc/echelon/komrad/komrad-sql-collector.yaml
sudo nano /etc/echelon/komrad/komrad-file-collector.yaml
sudo nano /etc/echelon/komrad/komrad-http-collector.yaml
sudo nano /etc/echelon/komrad/komrad-syslog-collector.yaml
sudo nano /etc/echelon/komrad/komrad-snmp-collector.yaml
sudo nano /etc/echelon/komrad/komrad-xflow-collector.yaml
sudo nano /etc/echelon/komrad/pauth-server.yaml
В файле конфигурации komrad-server.yaml
отредактируйте старое значение IP на новое в разделе AllowedHosts
:
sudo nano /etc/echelon/komrad/komrad-server.yaml
Данную задачу можно упростить, выполнив её с помощью следующих команд:
В самой команде необходимо удалить символы квадратных скобок ] , [
sed -i 's|listen: [Старый IP адрес]:3490|listen: [Новый IP адрес]:3490|g' /etc/echelon/komrad/*conf
sed -i 's|- nats://[Старый IP адрес]:3490|- nats://[Новый IP адрес]:3490|g' /etc/echelon/komrad/komrad-*
sed -i 's|- [Старый IP адрес]|- [Новый IP адрес]|g' /etc/echelon/komrad/komrad-server.yaml
После редактирования конфигурационных файлов перевыпустите сертификаты
Не запускается clickhouse-server
, в логах ошибка Suspiciously many broken parts to remove
Выполните команду:
systemctl status clickhouse-server.service
Отредактируйте тот файл, который указан в строке с --config
Пример строки:
--config=/etc/clickhouse-server/config.yaml
Увеличьте максимальное число broken parts
, перезагрузите ClickHouse и komrad-processor
:
sudo nano /etc/clickhouse-server/config.yaml
или
sudo nano /etc/clickhouse-server/config.xml