MongoDB: настройка источника

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

Предварительные требования

  • Сетевая связность между сервером СУБД (MongoDB) и SIEM (или промежуточным syslog-сервером) обеспечена, а необходимые порты открыты.

  • Создана учетная запись с правами администратора для изменения конфигурации MongoDB и rsyslog.

Настройка MongoDB

Настройка аудита

Данная настройка приведена для MongoDB Enterprise Edition. MongoDB Community Edition не поддерживает функцию auditLog.

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

  1. Откройте конфигурационный файл /etc/mongod.conf:

    nano /etc/mongod.conf
  2. Отредактируйте следующие блоки:

    systemLog:
      verbosity: 0
      destination: syslog
      timeStampFormat: iso8601-local
      component:
        accessControl:
          verbosity: 1
        command:
          verbosity: 0
        network:
          verbosity: 0
    
    security:
      authorization: enabled
    
    ## Enterprise-Only Options
    # Включение auditLog.
    auditLog:
      destination: file
      format: JSON
      path: /var/log/mongodb/audit.log
      filter: |
        {
          "$and": [
            { "param.command": { "$nin": ["hello", "ping"] } },
            { "$or": [
                { "atype": { "$in": ["authenticate","authCheck"] } },
                { "atype": { "$in": ["createUser","dropUser","grantRolesToUser","revokeRolesFromUser","updateUser"] } },
                { "param.command": { "$in": ["insert","update","delete","find","findAndModify","drop","dropDatabase"] } },
                { "param.command": { "$in": ["shutdown","replSetInitiate","replSetReconfig","setParameter","enableSharding"] } }
              ]
            }
          ]
        }
    
    # Включение логирования успешных операций.
    setParameter:
      auditAuthorizationSuccess: true
  3. Перезапустите сервис MongoDB:

    systemctl restart mongod
  4. Настройте logrotate для файлов аудита. Пример /etc/logrotate.d/mongodb-audit:

    /var/log/mongodb/audit.log {
        daily
        rotate 7
        compress
        delaycompress
        missingok
        notifempty
        copytruncate
    }

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

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

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

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

    module(load="imfile" PollingInterval="10")  # Модуль для файлов.
    input(type="imfile"
          File="/var/log/mongodb/audit.log"
          Tag="mongod"
          Severity="info"
          Facility="local0"
          PersistStateInterval="200")
    
    if $programname == 'mongod' or $programname == 'mongos' or $syslogtag == 'mongod' then {
      action(type="omfwd" Target="<target>" Port="<port>" Protocol="<protocol>")
      stop
    }

    Здесь:

    • <target> — IP-адрес или полное доменное имя (FQDN) коллектора SIEM.

    • <port> — порт точки входа Syslog на конвейере SIEM.

    • <protocol> — сетевой протокол: tcp или udp.

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

    sudo systemctl restart rsyslog

Настройка в R-Vision SIEM

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

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

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

    • Название: введите название точки входа.

    • Тип точки входа: выберите вариант Syslog.

    • Порт точки входа: введите значение в соответствии с настройками на стороне MongoDB.

    • Протокол: выберите вариант в соответствии с настройками на стороне MongoDB.

  3. Добавьте на конвейер элемент Нормализатор с правилом MongoDB (идентификатор правила: RV-N-293).

  4. Соедините нормализатор с точкой входа.

  5. Добавьте на конвейер элемент Конечная точка типа Хранилище событий.

  6. Соедините конечную точку с нормализатором.

  7. Установите конфигурацию конвейера.

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

mongodb pipeline

После настройки передачи событий, если настройка выполнена корректно, в хранилище начнут поступать события MongoDB.

Найти события MongoDB в хранилище можно по следующему фильтру:

normalization_rule_name = "MongoDB"

mongodb storage

Была ли полезна эта страница?

Обратная связь