WEB-серверы
Apache HTTP server
Для отправки событий стандартного логирования источника Apache-http-server выполните шаги:
-
Проверьте в файле, расположенном по пути
/etc/apache2/apache2.conf
, наличие записиLogLevel info
.Поддерживаемый уровень корректной обработки событий Платформой Радар - уровень
warn
, при необходимости можно изменить наLogLevel warn
. -
После внесения изменений в файл
/etc/apache2/apache2.conf
обновите сервисapache
, для этого выполните командуsystemctl reload apache2.service
и проверьте состояние сервиса командойsystemctl status apache2.service
. -
Далее создайте файл
apache2.conf
с настройками отправки событий через rSyslog в Платформу Радар по пути/etc/rsyslog.d/
со следующим содержимым:# Apache2 logs input(type="imfile" File="/var/log/apache2/access.log" Tag="apache2-accesslog" Severity="warn" Facility="local2") input(type="imfile" File="/var/log/apache2/error.log" Tag="apache2-errorlog" Severity="warn" Facility="local3") local2,local3.* @@<collector_ip>:2830
-
Перезапустите rSyslog командой
systemctl restart rsyslog
и проверьте состояние rSyslog командой
systemctl status rsyslog
. -
В конфигурационный файл лог-коллектора добавьте стандартную настройку
tcp-input/tcp-output
эквивалентную нижеуказанной настройке:tcp_input: &tcp_input id: "tcp_input" host: "0.0.0.0" port: 2830 sock_buf_size: 0 format: "json" log_level: "INFO" tcp_output: &tcp_output id: "tcp_output" target_host: "<Ip-адрес-платформы>" port: 2830 collectors: tcp_receiver: - <<: *tcp_input senders: port: 48003 tcp: - <<: *tcp_output route_1: &route_1 collector_id: - "tcp_input" sender_id: - "tcp_output" routers: - <<: *route_1
-
Перезапустите сервис лог-коллектора для принятия изменений.
-
Проверьте наличие событий в графическом интерфейсе Платформы Радар через вкладку Просмотр событий.
Apache Tomcat
Apache Tomcat - это служба, которая может использоваться в следующих сценариях:
- в качестве самостоятельного веб-сервера;
- в качестве контейнера сервлетов вместе с Glassfish, JBoss;
- в качестве сервера контента, в связке с Apache HTTP Server.
По умолчанию, Apache Tomcat выполняет журналирование с помощью обработчика java.util.logging
, параметры которого заданы в файле ${catalina.base}/conf/logging.properties
(здесь ${catalina.base
} - это директория, в которую установлен Tomcat). Если используются стандартные настройки, распределение событий Tomcat происходит по нескольким файлам, в зависимости от типа:
catalina.out и catalina.$(date).log
- лог контейнера сервлетов, основные события, произошедшие с ядром Tomcat;localhost.$(date).log
- лог событий локального экземпляра Tomcat, в который, как правило, сохраняются основные внутренние ошибки;localhost_access_log.$(date).txt
- журнал запросов (access log), эквивалентный журналу службы httpd (параметры доступа определяются в файле${catalina.base}/conf/server.xml)
;- журналы
manager.$(date).log и host-manager.$(date).log
- журналы работы веб-приложений, функционирующих в составе Tomcat.
Передачу журналов Apache Tomcat коллектору Платформы Радар можно организовать с помощью службы RSyslog. Для получения событий Tomcat необходимо настроить отправку содержимого журналов catalina.out
и localhost_access_log*.txt
.
Предположим, что отправка журналов будет выполнятся с использованием facility "local1","local2". Переменная ${catalina.base}
в нашем примере будет иметь значение /opt/tomcat/
. Для настройки отправки событий, в директории /etc/rsyslog.d/
создайте файл tomcat.conf со следующим содержимым:
# Apache Tomcat logs
input(type="imfile"
File="/opt/tomcat/logs/localhost_access_log*.txt"
Tag="catalina-access"
Severity="info"
Facility="local1")
input(type="imfile"
File="/opt/tomcat/logs/catalina.out"
Tag="catalina-out"
Severity="info"
Facility="local2")
local1,local2.* @@<collector_ip>:<collector_port>
Важно: вместо
необходимо указать адрес хоста с установленным коллектором Платформы Радар, а вместо - сетевой порт для приема событий от источника. Два символа '@@' означают, что отправка будет производиться по протоколу TCP. Важно: в случае, если Tomcat запущен из-под выделенной учетной записи, необходимо предоставить соответствующие права на чтение для каталога с журналами. В противном случае, служба rsyslog сообщит об ошибке чтения файла. Также, в конфигурации Tomcat для файлов журналов должно быть задано корректное значение UMASK (0022).
Разбор параметров:
- Type - задает название модуля,
- File - задает абсолютный путь до журналов Tomcat;
- Tag - идентификатор для журналов, которые будут отправляться коллектору SIEM;
- Severity - задает важность отправляемых сообщений;
- Facility - задает идентификатор для источника событий на сервере.
После настройки файла tomcat.conf, следует проверить содержимое файла rsyslog.conf. Для модуля imfile должна быть задана частота опроса журналов, а сам модуль должен быть загружен:
module(load="imfile" PollingInterval="10")
После внесения изменений, следует перезагрузить службу rsyslog и проверить результат:
# systemctl stop rsyslog
# systemctl start rsyslog
Конфигурация коллектора логов Платформы Радар для приема событий должна иметь настройки, эквивалентные следующим:
tcp_input: &tcp_input
id: "tcp_input"
host: "0.0.0.0"
port: 514
sock_buf_size: 0
format: "json"
log_level: "INFO"
tcp_output: &tcp_output
id: "tcp_output"
target_host: "<log_collector_ip>"
port: <log_source_port>
sock_buf_size: 0
log_level: "INFO"
ssl_enable: false
require_cert: false
ssl_compression: false
batch_mode_enable: false
collectors:
tcp_receiver:
- <<: *tcp_input
senders:
port: 48003
tcp:
- <<: *tcp_output
route_1: &route_1
collector_id:
- "tcp_input"
sender_id:
- "tcp_output"
routers:
- <<: *route_1
Nginx
Для подключение веб-сервера Nginx в качестве источника событий выполните шаги:
- Для настройки внешнего веб-сервера nginx на отправку событий в платформу необходимо проверить файл с настройками по пути
/etc/nginx/nginx.conf
и файл настройки по пути/opt/pangeoradar/configs/nginx.conf
. -
В настройке
/*/*/*nginx.conf
в поле# Logging Setting
должны быть указаны пути для регистрации событий Access.log или Error.log. Если поле с данными параметрами отсутствует, то данную конструкцию добавьте вручную.## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;
-
Проверьте в файле
/etc/rsyslog.conf
наличие поля# Include all config files in /etc/rsyslog.d/
. Если оно отсутствует, то добавьте следующее значение:# Include all config files in /etc/rsyslog.d/ $IncludeConfig /etc/rsyslog.d/*.conf
-
Создайте файл
/etc/rsyslog.d/nginx.conf
со следующим содержимым:input(type="imfile" File="/var/log/nginx/access.log" Tag="nginx-access" Severity="info" Facility="local0") input(type="imfile" File="/var/log/nginx/error.log" Tag="nginx-error" Severity="warn" Facility="local1") local0,local1.* @@<Ip-адрес лог-коллектора>:2960
через @ задается отправка по протоколу «UDP» c указанием адреса машины с лог-коллектором и необходимым портом для отправки.
через @@ задается отправка по протоколу «TCP» c указанием адреса машины с лог-коллектором и необходимым портом для отправки
Шаблоны:
для отправки по TCP
local0,local1.* @@<Ip-адрес лог-коллектора>:<порт-лог-коллектора>
для отправки по UDP
local0,local1.* @<Ip-адрес лог-коллектора>:<порт-лог-коллектора>
-
На машине с лог-коллектором добавьте настройку для получения событий от источника и отправки их в платформу
################################################################## Часть настройки лог-коллектора ################################################################## # Так как в 4м пункте был выбран шаблон отправки по TCP, поэтому настройка на лог-коллекторе соответствует протоколу TCP tcp_input: &tcp_input id: " tcp_input" host: "0.0.0.0" port: 2960 sock_buf_size: 0 format: "json" log_level: "INFO" tcp_output: & tcp_output id: " tcp_output" target_host: "<ip адрес платформы>" port: 2960 sock_buf_size: 0 log_level: "INFO" senders: port: 48002 tcp: - <<: * tcp_output collectors: tcp_receiver: - <<: *tcp_input route_1: &route_1 collector_id: - "tcp_input" sender_id: - "tcp_output" routers: - <<: *route_1
-
В платформе включите «Тип Источника» «Nginx-Web-server» и нажмите кнопку «Синхронизировать».
- Проверьте приходящие события в «Просмотр событий».