MySQL
Данное руководство описывает процесс настройки сбора и отправки событий MySQL в R-Vision SIEM.
Настройка сбора событий MySQL
Установка плагина для ведения журнала аудита
Для настройки аудита MySQL установите плагин для ведения журнала аудита, разработанный компанией Percona. Он поддерживает полный аудит в различных форматах, таких как XML, JSON и CSV, а также регистрирует события, связанные с аутентификацией.
Плагин поддерживает только MySQL версии 8.0 и выше. |
Чтобы установить плагин аудита Percona, выполните следующие действия:
-
Скачайте архив с плагином, выполнив следующую команду:
wget https://downloads.percona.com/downloads/Percona-Server-8.0/Percona-Server-8.0.36-28/binary/tarball/Percona-Server-8.0.36-28-Linux.x86_64.glibc2.35.tar.gz
-
Распакуйте архив с плагином:
tar -xvf Percona-Server-8.0.36-28-Linux.x86_64.glibc2.35.tar.gz --wildcards --no-anchored '*audit_log.so*'
-
Получите путь к директории, в которой располагаются плагины MySQL:
-
Войдите в консоль MySQL:
mysql -u root -p -h localhost
-
Выполните следующий запрос:
SHOW GLOBAL VARIABLES LIKE 'plugin_dir';
Пример вывода запроса пути к директории плагинов
+---------------+--------------------------+ | Variable_name | Value | +---------------+--------------------------+ | plugin_dir | /usr/lib64/mysql/plugin/ | +---------------+--------------------------+ 1 row in set (0.00 sec)
В примере директория плагинов —
/usr/lib64/mysql/plugin/
.
-
-
Скопируйте плагин в директорию плагинов:
cp Percona-Server-8.0.36-28-Linux.x86_64.glibc2.35/lib/plugin/audit_log.so <plugin-dir>
Здесь:
-
<plugin-dir>
— директория плагинов, полученная на шаге 3.
-
-
Установите плагин:
-
Войдите в консоль MySQL:
mysql -u root -p -h localhost
-
Выполните следующий запрос:
INSTALL PLUGIN audit_log SONAME 'audit_log.so';
Если плагин установлен успешно, отобразится сообщение:
Query OK, 0 rows affected (0.02 sec)
-
-
Добавьте настройки плагина в раздел
_[mysqld]_
в файле my.cnf:[mysqld] audit_log_format = JSON audit_log_policy = ALL audit_log_handler = SYSLOG
-
Перезапустите сервер MySQL:
systemctl restart mysqld
Настройка службы rsyslog
-
Создайте файл конфигурации rsyslog:
sudo nano /etc/rsyslog.d/10-siem.conf
-
Добавьте в созданный файл следующее правило:
if $syslogtag == 'mysqld' or $syslogtag == 'percona-audit' then { action(type="omfwd" target="<target>" port="514" protocol="tcp") stop }
Здесь:
-
<target>
— IP-адрес или полное доменное имя (FQDN) централизованного syslog-сервера, с которого будет осуществляться отправка сообщений в SIEM.-
Перезапустите rsyslog для применения изменений:
sudo systemctl restart rsyslog
-
Настройка syslog-сервера
Для настройки syslog-сервера выполните следующие шаги:
-
Откройте конфигурационный файл rsyslog (
/etc/rsyslog.conf
или/etc/rsyslog.d/
). -
Добавьте правило обработки CEF-сообщений:
if $syslogtag == 'mysqld' or $syslogtag == 'percona-audit' then { action(type="omfwd" Target="<target>" Port="<port>" Protocol="tcp") stop }
Здесь:
-
<target>
— IP-адрес или полное доменное имя (FQDN) централизованного syslog-сервера, с которого будет осуществляться отправка сообщений в SIEM. -
<port>
— порт точки входа Syslog в конвейере SIEM — любой свободный порт больше 30000.
-
-
Перезапустите rsyslog для применения изменений:
sudo systemctl restart rsyslog
Настройка интеграции с R-Vision SIEM
Для интеграции источника с R-Vision SIEM выполните следующие шаги:
-
В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.
-
Добавьте в конвейер элемент Точка входа со следующими параметрами:
-
Тип точки входа — Syslog.
-
Порт точки входа — в соответствии с настройками на стороне syslog-сервера.
-
Протокол — TCP.
-
-
Добавьте правило нормализации для MySQL. Его можно найти с помощью поиска: ему присвоены теги
mysql
,sql
,syslog
. -
Соедините с нормализатором конечную точку типа Хранилище событий.
-
Сохраните и установите конфигурацию конвейера.
Пример конфигурации конвейера
Список типов событий
Событиями аудита являются выполняемые команды MySQL. С их перечнем можно ознакомиться в официальной документации MySQL.