Mattermost: настройка источника
Данное руководство описывает процесс настройки сбора и отправки событий Mattermost в R-Vision SIEM.
Предварительные требования
Перед настройкой пересылки событий в R-Vision SIEM убедитесь, что обеспечена сетевая доступность между сервером Mattermost и R-Vision SIEM (или промежуточным сервером Syslog), а необходимые порты открыты.
Настройка Mattermost
События Mattermost записываются в таблицу audits базы данных сервиса Mattermost СУБД PostgreSQL.
Для настройки сбора логов из базы данных необходимо подключиться к ней. Используйте для подключения специально созданную сервисную учетную запись (далее — УЗ). Для конфигурации следуйте инструкции ниже.
Создание учетной записи в СУБД PostgreSQL
Чтобы создать сервисную УЗ, подключитесь к СУБД с правами администратора. Для этого выполните следующие действия на сервере с установленной СУБД:
-
Подключитесь к консоли СУБД PostgreSQL от имени администратора базы данных.
-
Если СУБД развернута на хосте, выполните команду:
sudo -u postgres psql -
Если СУБД развернута в контейнере Docker, выполните команду:
docker exec -it <container_name_postgresql> psql -U <db_admin> -d <database_name>Здесь:
-
<container_name_postgresql>— имя контейнера Docker, в котором развернута СУБД PostgreSQL. -
<db_admin>— имя администратора базы данных. -
<database_name>— имя базы данных, в которой хранятся данные Mattermost.
-
Сбор логов аудита поддерживается только в редакциях Enterprise и Enterprise Plus продукта Mattermost. -
-
Соберите продукт. Необходимо пройти первичную инициализацию и авторизацию одного из пользователей. Инициализация производится автоматически при сборке webpack.
-
Подключитесь к базе данных PostgreSQL, в которой хранятся данные Mattermost.
-
Создайте нового пользователя и предоставьте ему права для доступа к таблице аудита:
CREATE USER "audit_reader" WITH PASSWORD '<password>'; GRANT CONNECT ON DATABASE <database_name> TO audit_reader; GRANT USAGE ON SCHEMA public TO audit_reader; GRANT SELECT ON audits TO audit_reader;Здесь:
-
<database_name>— имя базы данных в вашей системе. По умолчанию имеет имяmattermost_test. -
<password>— любой пароль, удовлетворяющий требованиям вашей СУБД и политикам безопасности.
-
-
Убедитесь, что права назначены корректно:
\du audit_reader SELECT grantee, privilege_type FROM information_schema.role_table_grants WHERE table_name = 'audits' AND grantee = 'audit_reader'; -
Проверьте подключение от имени созданной УЗ:
psql -h <db_address> -U audit_reader -d <database_name>Здесь:
-
<db_address>— IP-адрес или полное доменное имя (FQDN) сервера СУБД. -
<database_name>— название базы данных, используемой в Mattermost.
-
-
Выполните тестовый запрос:
SELECT COUNT(*) FROM audits;В результате должна быть выведена информация о количестве записей в таблице
audits.
Настройка в R-Vision SIEM
Для настройки сбора и нормализации событий источника в R-Vision SIEM выполните следующие шаги:
-
В интерфейсе R-Vision SIEM создайте секрет со строкой подключения. Для этого:
-
Перейти в раздел Ресурсы → Секреты.
-
Нажмите на кнопку Создать (
).
-
В раскрывшемся окне создания секрета заполните поля:
-
Название: введите название секрета.
-
Описание (опционально): опишите, для чего будет использоваться секрет.
-
Тип секрета: выберите вариант Строка подключения.
-
Строка подключения: введите строку вида:
jdbc:postgresql://<db_server>:5432/<database>?user=audit_reader&password=<password>Здесь:
-
<db_server>— FQDN или IP-адрес сервера СУБД. -
<database>— имя базы данных, используемой в Mattermost. -
<password>— пароль учетной записиaudit_reader, созданной в рамках настройки пользователя в СУБД. -
5432— порт подключения.

-
-
-
Нажмите на кнопку Создать.
-
-
В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.
-
Добавьте на конвейер элемент Точка входа со следующими параметрами:
-
Название: введите название точки входа.
-
Тип точки входа: выберите вариант Database.
-
Драйвер базы данных: выберите вариант PostgreSQL.
-
Адрес подключения: выберите созданный ранее секрет.
-
SQL-запрос: введите запрос вида:
SELECT a.*, s.roles, s.props, u.username FROM audits a LEFT JOIN sessions s ON a.userid = s.userid LEFT JOIN users u on a.userid = u.id WHERE a."createat" BETWEEN (extract(epoch from now() - interval '10 second') * 1000)::bigint AND (extract(epoch from now()) * 1000)::bigint ORDER BY "createat" DESC; -
Интервал запроса, секунд: введите значение
10.
-
-
Добавьте на конвейер элемент VRL-трансформация со следующим кодом:
.device_product = "mattermost" .device_ip = ip_to_ipv6(<your_server_ip>) ?? nullЗдесь:
-
<your_server_ip>— IP-адрес сервера Mattermost.
-
-
Соедините точку входа с VRL-трансформацией.
-
Добавьте на конвейер элемент Нормализатор с правилом Mattermost Inc Mattermost (идентификатор правила: RV-N-375).
-
Соедините нормализатор с VRL-трансформацией.
-
Добавьте на конвейер элемент Конечная точка типа Хранилище событий.
-
Соедините конечную точку с нормализатором.
-
Сохраните и установите конфигурацию конвейера.
Пример конфигурации конвейера:

После настройки передачи событий, если настройка выполнена корректно, в хранилище начнут поступать события Mattermost.
|
Найти события Mattermost в хранилище можно по следующему фильтру:
|
Была ли полезна эта страница?
