Skip to main content

Сбор событий auditd с помощью Syslog-ng

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Создание коллектора KUMA

Для создания коллектора в веб-интерфейсе KUMA:

  • Перейдите в раздел Ресурсы и нажмите на кнопку Подключить источник.
  • В появившемся окне мастера настройки Создание коллектора на первом шаге (Подключение источников) выберите Имя коллектора и Тенант, к которому будет принадлежать создаваемый коллектор.

image165.pngimage.png

  • На втором шаге мастера (Транспорт) укажите параметры коннектора для взаимодействия с подключаемым источником:
    • Тип – tcp/udp. В данном примере tcptcp.
    • URL – FQDN:порт (порт, на котором коллектор будет ожидать входящие подключения. Выбирается любой из незанятых, выше 1024). В данном примере 5152.
    • Auditd – включено

В поле URL можно указать только порт при инсталляции All-in-one.

Начиная с версии 3.2, в KUMA появился переключатель Auditd, который позволяет группировать полученные от коннектора строки событий auditd в одно событие auditd.

image166.png

 

  • На третьем шаге мастера укажите нормализатор. В данном случае рекомендуется использовать «коробочный» нормализатор для событий auditd Linux [OOTB] Linux auditd syslog for KUMA 3.2.

image167.png

  • Шаги мастера настройки с четвертого по шестой являются опциональными, их можно пропустить и вернуться к настройке позднее.
  • На седьмом шаге мастера задайте точки назначения. Для хранения событий добавьте точку назначения типа Хранилище. В случае если предполагается также анализ потока событий правилами корреляции добавьте точку назначения типа Коррелятор.

image74.png

image75.png

image76.pngimage76.png

image77.png

  • На завершающем шаге мастера нажмите на кнопку Создать и сохранить сервис. После чего появится строка установки сервиса, которую необходимо скопировать для дальнейшей установки.

image168.pngimage.png

  • Нажмите Сохранить.
  • После выполнения вышеуказанных действий в разделе Ресурсы → Активные сервисы появится созданный сервис коллектора.

image169.pngimage.png

 

Установка коллектора KUMA

Чтобы установить коллектор KUMA:

  • Выполните подключение к CLI сервера, на котором планируется развертывание коллектора KUMA.
  • Для установки сервиса коллектора в командной строке выполните команду под учетной записью root, скопированную на прошлом шаге.

image.png

  • При необходимости добавьте используемый порт сервиса коллектора в исключения МЭ ОС и обновите параметры службы.
    • Пример для firewalld
firewall-cmd --add-port=<порт, выбранный для коллектора>/tcp|udp –permanent
firewall-cmd –reload
    • Пример для ufw
ufw allow <порт, выбранный для коллектора>/tcp|udp
ufw reload
  • После успешной установки сервиса его статус в веб-консоли KUMA изменится на ВКЛ с зеленой индикацией.

image171.pngimage.png

Настройка источника событий

Для передачи событий c рабочей станции/сервера в коллектор KUMA будет использоваться сервис syslog-ng.

  • На рабочей станции/сервере Linux убедитесь, что сервис syslog-ng уже установлен в ОС:
systemctl status rsyslog.service

image.png

  • Если сервис syslog-ng не установлен на сервере, установите его, выполнив следующие команды (пример для Astra Linux и Ubuntu):
apt install syslog-ng
systemctl enable syslog-ng.service
systemctl start syslog-ng.service
  • Далее в папке /etc/syslog-ng/conf.d/ создайте файл конфигурации (например, 30-kuma-tcp.conf или 30-kuma-udp.conf) со следующим содержанием в зависимости от используемого протокола:
    • Для отправки событий по протоколу TCP
# syslog-ng audit forwarding to KUMA (TCP)
# Version: 1
# Date: 26.01.2026
# Purpose: Forward auditd logs without parsing, loss-minimized

source s_audit {
    file("/var/log/audit/audit.log"
	    flags(no-parse) # Читаем audit.log без парсинга (flags(no-parse)), чтобы "не ломать" формат auditd.
		follow-freq(1)
		tags("tag_audit_log")
		persist-name("kuma_audit_source")); # Необходим для сохранения состояния источника между рестартами syslog-ng.
};

template t_audit_format {
    template("<134>${ISODATE} ${HOST} auditd ${MSG}\n"); # <PRI> задан вручную, т.к. при flags(no-parse) ${PRI} не извлекается из события. Тег auditd задан руками, иначе будет дефолтное 0d.
    template_escape(no);
};

destination d_kuma {
    tcp("<IP-адрес/FQDN коллектора KUMA>" port(<Порт коллектора KUMA>)
	    template(t_audit_format)
	    disk-buffer(
		    mem-buf-size(10000) # Размер буфера в RAM, в количестве сообщений. Пока есть место — ничего не пишется на диск. Можно увеличить при большом потоке событий.
			disk-buf-size(1G) # Максимальный размер буфера на диске. Когда RAM-буфер будет заполнен, запись продолжится на диск. Можно увеличить при большом потоке событий.
			reliable(yes) # Для гарантированной доставки. События не теряются при рестаре syslog-ng, проблем с сетью, перезапуске коллектора.
		)
	);
};

filter f_audit_kuma { 
    tags("tag_audit_log");
};

log {
    source(s_audit);
    filter(f_audit_kuma);
    destination(d_kuma);
};
    • Для отправки событий по протоколу UDP
# syslog-ng audit forwarding to KUMA (UDP)
# Version: 1
# Date: 26.01.2026
# Purpose: Forward auditd logs without parsing, loss-minimized

source s_audit {
    file("/var/log/audit/audit.log" 
	    flags(no-parse) # Читаем audit.log без парсинга (flags(no-parse)), чтобы "не ломать" формат auditd.
		follow-freq(1)
		tags("tag_audit_log")
		persist-name("kuma_audit_source")); # Необходим для сохранения состояния источника между рестартами syslog-ng.
};

template t_audit_format {
    template("<134>${ISODATE} ${HOST} auditd ${MSG}\n"); # <PRI> задан вручную, т.к. при flags(no-parse) ${PRI} не извлекается из события. Тег auditd задан руками, иначе будет дефолтное 0d.
    template_escape(no);
};

destination d_kuma {
    udp("<IP-адрес/FQDN коллектора KUMA>" port(<Порт коллектора KUMA>)
	    template(t_audit_format)
	    disk-buffer(
		    mem-buf-length(10000) # Размер буфера в RAM, в количестве сообщений. Пока есть место — ничего не пишется на диск. Можно увеличить при большом потоке событий.
			disk-buf-size(1G) # Максимальный размер буфера на диске. Когда RAM-буфер будет заполнен, запись продолжится на диск. Можно увеличить при большом потоке событий.
		)
	);
};

filter f_audit_kuma { 
    tags("tag_audit_log");
};

log {
    source(s_audit);
    filter(f_audit_kuma);
    destination(d_kuma);
};
  • Далее выполните проверку конфигурации syslog-ng:
syslog-ng -s
  • Если ошибки при проверке конфигурации отсутствуют перезапустите сервис syslog-ng, выполнив следующую команду:
systemctl restart syslog-ng

Рабочая станция/сервер Linux настроен. События передаются в коллектор KUMA.

Проверка поступления событий Linux в KUMA

  • Для проверки, что сбор событий с устройств Linux успешно настроен перейдите в Ресурсы Активные сервисы → выберите ранее созданный коллектор для Linux и нажмите Перейти к событиям.

image173.pngimage.png

  • В открывшемся окне События убедитесь, что присутствуют события с устройств Linux. 

image174.png