Настройка отправки событий в SIEM-систему

Настройка отправки событий в SIEM-систему — пошаговая инструкция по интеграции RuDesktop с внешним SIEM через протокол Syslog в формате CEF (Common Event Format)

Описание

Сервер RuDesktop отправляет события аудита по сети в локальный syslog-демон (rsyslog или syslog-ng). Локальный демон, в свою очередь, либо записывает события в системный журнал, либо пересылает их в SIEM-систему

Важно

RuDesktop отправляет события в syslog-демон по протоколу TCP на порт, указанный в параметре SYSLOG_PORT. Это означает, что локальный демон должен принимать TCP-соединения

Настройка локального syslog-демона

Процесс настройки состоит из двух этапов: конфигурация системного логгера (rsyslog или syslog-ng) на приём событий от RuDesktop, и настройка самого RuDesktop для отправки логов

  1. Раскомментируйте в файле /etc/rsyslog.conf строки для включения модуля приёма TCP-соединений:

    module(load="imtcp")
    input(type="imtcp" port="514")
    
  2. При необходимости добавьте в конец файла правило для пересылки событий в SIEM. Например, чтобы отправлять все события, содержащие ключевое слово ADT (логи аудита RuDesktop), на сервер с IP-адресом 192.168.11.75 по протоколу UDP, используйте следующее правило:

    if ($msg contains 'ADT') then @192.168.11.75
    

    Примечание

    Символ @ означает отправку по протоколу UDP. Для отправки по TCP используйте @@

    Важно

    Перед внесением изменений в файл /etc/rsyslog.conf рекомендуется сделать его резервную копию. Ошибка при редактировании файла может привести к некорректной работе системы

  3. Перезапустите сервис rsyslog:

    systemctl restart rsyslog
    

Настройка RuDesktop

  1. Внесите в файл /etc/rudesktop/settings параметры подключения к syslog-приёмнику. Файл написан на синтаксисе Python:

    SYSLOG_HOST = 'localhost'
    SYSLOG_PORT = 514
    

    Примечание

    Если syslog-демон работает на той же машине, что и RuDesktop, используйте localhost. Для подключения к внешнему серверу укажите его IP-адрес или DNS-имя

  2. Перезапустите сервер RuDesktop для применения настроек:

    rude restart
    
  3. Включите отправку нужных групп событий в админ-панели

    Перейдите в блок «Настройки логов» на странице Настройки и активируйте тумблеры тех событий, которые требуются по политике аудита:

    • Записывать статус подключений в syslog — события удалённых сессий (группа SESSIONS)

    • Записывать результаты запуска политик в syslog — результаты выполнения задач и политик (группа POLICY)

    • Записывать события аутентификации админ панели в syslog — входы в веб-интерфейс (группа AUTH)

    • Записывать события HTTP запросов в syslog — все HTTP-запросы к веб-интерфейсу (группа HTTP)

    • Записывать события CRUD (изменения объектов) в syslog — создание, изменение и удаление объектов (группа CRUD)

    • Записывать события Экспорта в syslog — экспорт данных из любых страниц (группа COLLECTOR)

    Важно

    До включения хотя бы одного из тумблеров RuDesktop не отправляет в syslog ни одного события, даже если SYSLOG_HOST указан корректно

Дополнительная настройка

В примерах выше для rsyslog и syslog-ng была показана фильтрация по содержимому сообщения. Это особенно полезно, если вы хотите отправлять в SIEM только значимые события (например, только события аудита с тегом ADT), а не весь системный лог

Подсказка

Как работает фильтрация:

  • rsyslog: Строка if $msg contains 'ADT' then @192.168.11.75 означает, что если сообщение содержит подстроку ADT, оно будет отправлено на удалённый хост 192.168.11.75 по UDP

  • syslog-ng: Создаётся фильтр filter f_adt { message("ADT"); };, который отбирает сообщения с ключевым словом ADT. Затем отдельное правило log отправляет отфильтрованные сообщения на назначение d_siem

Все события RuDesktop, содержащие ключевое слово ADT (которое добавляется в логи безопасности), будут автоматически дублироваться на ваш SIEM-сервер для централизованного сбора и корреляции, при этом продолжая записываться в локальные логи сервера