MySQL

Данное руководство описывает процесс настройки сбора и отправки событий MySQL в R-Vision SIEM.

Настройка сбора событий MySQL

Установка плагина для ведения журнала аудита

Для настройки аудита MySQL установите плагин для ведения журнала аудита, разработанный компанией Percona. Он поддерживает полный аудит в различных форматах, таких как XML, JSON и CSV, а также регистрирует события, связанные с аутентификацией.

Плагин поддерживает только MySQL версии 8.0 и выше.

Чтобы установить плагин аудита Percona, выполните следующие действия:

  1. Скачайте архив с плагином, выполнив следующую команду:

    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
  2. Распакуйте архив с плагином:

    tar -xvf Percona-Server-8.0.36-28-Linux.x86_64.glibc2.35.tar.gz --wildcards --no-anchored '*audit_log.so*'
  3. Получите путь к директории, в которой располагаются плагины MySQL:

    1. Войдите в консоль MySQL:

      mysql -u root -p -h localhost
    2. Выполните следующий запрос:

      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/.

  4. Скопируйте плагин в директорию плагинов:

    cp Percona-Server-8.0.36-28-Linux.x86_64.glibc2.35/lib/plugin/audit_log.so <plugin-dir>

    Здесь:

    • <plugin-dir> — директория плагинов, полученная на шаге 3.

  5. Установите плагин:

    1. Войдите в консоль MySQL:

      mysql -u root -p -h localhost
    2. Выполните следующий запрос:

      INSTALL PLUGIN audit_log SONAME 'audit_log.so';

      Если плагин установлен успешно, отобразится сообщение:

      Query OK, 0 rows affected (0.02 sec)
  6. Добавьте настройки плагина в раздел _[mysqld]_ в файле my.cnf:

    [mysqld]
    audit_log_format = JSON
    audit_log_policy = ALL
    audit_log_handler = SYSLOG
  7. Перезапустите сервер MySQL:

    systemctl restart mysqld

Настройка службы rsyslog

  1. Создайте файл конфигурации rsyslog:

    sudo nano /etc/rsyslog.d/10-siem.conf
  2. Добавьте в созданный файл следующее правило:

    if $syslogtag == 'mysqld' or $syslogtag == 'percona-audit' then {
       action(type="omfwd" target="<target>" port="514" protocol="tcp")
       stop
    }

    Здесь:

  • <target> — IP-адрес или полное доменное имя (FQDN) централизованного syslog-сервера, с которого будет осуществляться отправка сообщений в SIEM.

    1. Перезапустите rsyslog для применения изменений:

      sudo systemctl restart rsyslog

Настройка syslog-сервера

Для настройки syslog-сервера выполните следующие шаги:

  1. Откройте конфигурационный файл rsyslog (/etc/rsyslog.conf или /etc/rsyslog.d/).

  2. Добавьте правило обработки 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.

  3. Перезапустите rsyslog для применения изменений:

    sudo systemctl restart rsyslog

Настройка интеграции с R-Vision SIEM

Для интеграции источника с R-Vision SIEM выполните следующие шаги:

  1. В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.

  2. Добавьте в конвейер элемент Точка входа со следующими параметрами:

    1. Тип точки входа — Syslog.

    2. Порт точки входа — в соответствии с настройками на стороне syslog-сервера.

    3. Протокол — TCP.

  3. Добавьте правило нормализации для MySQL. Его можно найти с помощью поиска: ему присвоены теги mysql, sql, syslog.

  4. Соедините с нормализатором конечную точку типа Хранилище событий.

  5. Сохраните и установите конфигурацию конвейера.

    Пример конфигурации конвейера

    MySQLPipelineScheme

Список типов событий

Событиями аудита являются выполняемые команды MySQL. С их перечнем можно ознакомиться в официальной документации MySQL.