Подключение с помощью SQL-коллектора
Предварительные условия:
- на узле-источнике сервис-источник записывает журналы в одну из следующих СУБД:
- PostgreSQL
- MySQL
- SQLite
- ClickHouse
- Oracle
- отсутствуют какие-либо ограничения по подключению к выбранной СУБД на узле-источнике событий ИБ с сервера KOMRAD
- имеется информация о структуре базы данных и таблице, в которую записываются события, а также имеется подготовленный пользователь с необходимыми правами
Подключение нового SQL-коллектора
Предварительные условия:
- Наличие лицензии (разрешения) на использование SQL-коллектора (см. Обзор пользовательского интерфейса ⇒ О программе ⇒ Информация о программе)
- Отсутствуют какие-либо ограничения на передачу трафика по выбранному порту между источником событий ИБ и сервером KOMRAD
Для установки SQL-коллектора на определенный узел, необходимо:
-
На узле создать директорию, в которую необходимо переместить deb-пакет
komrad-sql-collector*.deb
из дистрибутива KOMRAD -
Установить из папки
komrad-sql-collector
командой:sudo dpkg -i ./komrad-sql-collector*.deb
-
Открыть файл
komrad-sql-collector.yaml
командой:sudo nano /etc/echelon/komrad/komrad-sql-collector.yaml
-
Отредактировать параметр
bus-url
, задав IP-адрес сервера KOMRAD:bus-url: nats://IP_ KOMRAD:3490
-
Сохра нить файл и перезагрузить
sql-collector
командой:sudo systemctl restart komrad-sql-collector.service
-
Новый SQL-коллектор отобразится в списке коллекторов в веб-интерфейсе
Подключение новых источников событий
Предварительные условия:
- Необ ходимо узнать IP-адрес, порт, а также имя пользователя и пароль к базе данных, с которой будет проводиться сбор событий
- Отсутствуют какие-либо ограничения на передачу трафика по выбранному порту между источником событий ИБ и сервером KOMRAD
Расположение: manage ⇒ Настройки коллекторов ⇒ Коллекторы ⇒ SQL
Действия:
- Кликнуть по SQL-коллектору
- При необходимости задать имя коллектору c помощью кнопки «Редактировать» и сохранить изменения
- На вкладке «Источники» нажать на кнопку «Добавить». Справа появится форма для создания нового источника для SQL-коллектора
- Выбрать «Шаблон» из доступных
- Заполнить поле «Название»
- Отредактировать «Строка подключения» для вашего источника (данные для заполнения указаны в предварительных условиях, см. выше)
- Выбрать тип базы данных
- При необходимости можно изменить инициализирующий и регулярный запросы
- Записать название поля-счётчика, по которому будет производится проверка появления новых записей в БД
- Выбрать необходимую частоту запросов к БД (crontab time format)
- Включить коллектор, если он был выключен или переза грузите, если он был включен
- Нажать на «Проверить», если проверка прошла успешно, т.е. в графическом интерфейсе отобразилось событие информационной безопасности, то нажать на кнопку «Сохранить»
Добавление шаблона
В настройках SQL-коллектора есть возможность добавлять шаблоны в базу данных.
Для этого необходимо выполнить следующие действия:
-
Подключиться к PostgreSQL
sudo su - postgres
-
Выбрать нужную базу
psql komrad-preferences
-
Вставить свой шаблон
INSERT INTO preferences.sql_templates
("name", "version", vendor, dialect, connection_string, initial_query, regular_query, counter)
VALUES('Oracle - свой', 'v4.5.1-alpha.64', 'Oracle', 'Oracle', 'sqlserver://oracle:pass@localhost?database=mine',
'SELECT MY_ID
FROM
(select *
from KOMRAD_ORACLE
order by MY_ID desc)
WHERE ROWNUM = 1',
'SELECT MY_ID,
EVENT
FROM KOMRAD_ORACLE
WHERE MY_ID > :1
ORDER BY MY_ID', 'MY_ID');(
VALUES
в запросе можно менять на валидные данные) -
Перейти в KOMRAD на вкладку "Администрирование" ⇒ "Настройки коллекторов" ⇒ "SQL" ⇒ В настройки SQL-коллектора
-
Во вкладке "Источники" нажать
Добавить
-
В поле "Тип БД" выбрать "Oracle"
Удаление
Удалить sql-коллектор можно с помощью команды:
sudo dpkg -P komrad-sql-collector
Вызов PREPARE запросов в SQL-коллекторе
На примере PostgreSQL 11 Astra
Вручную запустить в БД PREPARE
PREPARE au1 as (
select * from audit.logged_actions where event_id > $1 limit 100
);
Инициализирующий, пол учаем значение счётчика для последней записи:
select * from audit.logged_actions ORDER BY event_id DESC limit 1;
Регулярны й:
Запускается PREPARED
, подставляется значение счётчика, который коллектор запоминает после каждого успешного запуска execute au1($1)