WEB-серверы
При работе по подключению WEB-серверов в качестве источника событий в Платформу Радар вам может пригодиться следующая справочная информация:
Apache HTTP Server
Характеристики источника в Платформе Радар:
Характеристика | Значение |
---|---|
Название | Apache-Http-Server |
Номер (Порт) | 2830 |
Вендор | Apache-Software-Foundation |
Тип | Http-Server |
Профиль сбора | tcp_input |
Конфигурационный файл системы располагается по следующему пути:
- для систем на базе "Debian" --
/etc/apache2/apache2.conf
; - для систем на базе "RHEL" --
/etc/httpd/conf/httpd.conf
.
Для настройки источника выполните следующие действия:
-
В конфигурационном файле системы укажите уровень журналирования:
LogLevel info
-
Обновите сервис
apache
:# systemctl reload apache2.service
-
Проверьте состояние сервиса:
# systemctl status apache2.service
-
В каталоге
/etc/rsyslog.d/
создайте конфигурационный файлapache2.conf
и укажите в нем следующие настройки:# 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.* @@<IP-адрес агента сбора лог-коллектора>:port
Где:
local2,local3
- значение facility для журналов Access.log и Error.log;@@
- передача данных по протоколу TCP;<IP-адрес агента сбора лог-коллектора>
- IP-адрес агента сбора лог-коллектора;port
- порт, по которому агент сбора лог-коллектора будет принимать события. Должен совпадать со значением, указанным в настройках соответствующего профиля сбора.
-
Сохраните изменения и перезапустите службу
rsyslog
:# systemctl restart rsyslog.service
-
Включите источник Apache-Http-Server.
Apache HTTP Server. Windows
Характеристики источника в Платформе Радар:
Характеристика | Значение |
---|---|
Название | Apache-Http-Server |
Номер (Порт) | 2830 |
Вендор | Apache-Software-Foundation |
Тип | Http-Server |
Профиль сбора (сценарий 1) | http_collector_input |
Профиль сбора (сценарий 2) | smb_input |
Сбор событий может выполняться по следующим сценариям:
- сценарий 1 - агент сбора лог-коллектора развёрнут на том же хосте где и сам DNS сервер;
- сценарий 2 - агент сбора лог-коллектора забирает события с DNS сервера по SMB.
Для настройки источника выполните следующие действия:
-
В конфигурационном файле системы
<путь до каталога Apache>/conf/httpd.conf
укажите следующие настройки:ErrorLog "logs/error.log" <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %\>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common CustomLog "logs/access.log" common </IfModule>
-
В ОС Windows перезапустите службу
apache
. - Включите источник Apache-Http-Server.
Apache Tomcat
Apache Tomcat - это служба, которая может использоваться в следующих сценариях:
- в качестве самостоятельного веб-сервера;
- в качестве контейнера сервлетов вместе с Glassfish, JBoss;
- в качестве сервера контента, вместе с Apache HTTP Server.
Характеристики источника в Платформе Радар:
Характеристика | Значение |
---|---|
Название | Apache-Tomcat-Web-Server |
Номер (Порт) | 2911 |
Вендор | Apache-Software-Foundation |
Тип | Web-Server |
Профиль сбора | tcp_input |
Cобытия от источника включены по умолчанию и записываются в следующие журналы:
catalina.out и catalina.$(date).log
- журнал контейнера сервлетов, основные события, произошедшие с ядром Tomcat;localhost.$(date).log
- журнал событий локального экземпляра Tomcat, в который, как правило, сохраняются основные внутренние ошибки;localhost_access_log.$(date).txt
- журнал запросов (access log), эквивалентный журналу службы httpd (параметры доступа определяются в файле/opt/tomcat/conf/server.xml)
;- журналы
manager.$(date).log и host-manager.$(date).log
- журналы работы веб-приложений, функционирующих в составе 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.* @@<IP-адрес агента сбора лог-коллектора>:port
Где:
local1,local2
- значение facility для журналов Access.log и Сatalina.out;@@
- передача данных по протоколу TCP;<IP-адрес агента сбора лог-коллектора>
- IP-адрес агента сбора лог-коллектора;port
- порт, по которому агент сбора лог-коллектора будет принимать события. Должен совпадать со значением, указанным в настройках соответствующего профиля сбора.
Внимание! В случае, если Tomcat запущен из-под выделенной учетной записи, необходимо предоставить соответствующие права на чтение для каталога с журналами. Также, в конфигурации Tomcat для файлов журналов должно быть задано корректное значение UMASK (0022).
-
Откройте конфигурационный файл службы
rsyslog
:# nano /etc/rsyslog.conf
-
В конфигурационном файле
/etc/rsyslog.conf
укажите следующие настройки:module(load="imfile" PollingInterval="10")
-
Перезапустите службу
rsyslog
:# systemctl restart rsyslog.service
-
Включите источник Apache-Tomcat-Web-Server.
Mantis Bug Tracker
Характеристики источника в Платформе Радар:
Характеристика | Значение |
---|---|
Название | MantisBT-System |
Номер (Порт) | 2962 |
Вендор | MantisBT Team |
Тип | Bug Tracking System |
Профиль сбора | tcp_input |
Для настройки источника выполните следующие действия:
-
В конфигурационном файле Mantis
/etc/apache2/sites-enabled/
укажите пути к файлам журналов:ErrorLog "/var/log/apache2/mantisbt-error_log" TransferLog "/var/log/apache2/mantisbt-access_log"
-
В каталоге
/etc/rsyslog.d/
создайте конфигурационный файл70-mantis.conf
и укажите в нем следующие настройки:module(load="imfile" PollingInterval="1") 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-адрес агента сбора лог-коллектора>:port
Где:
local0,local1
- значение facility для журналов Access.log и Error.log;@@
- передача данных по протоколу TCP;<IP-адрес агента сбора лог-коллектора>
- IP-адрес агента сбора лог-коллектора;port
- порт, по которому агент сбора лог-коллектора будет принимать события. Должен совпадать со значением, указанным в настройках соответствующего профиля сбора.
-
Сохраните изменения и перезапустите службу
rsyslog
:# systemctl restart rsyslog.service
-
Включите источник MantisBT-System.
Microsoft Sharepoint
Характеристики источника в Платформе Радар:
Характеристика | Значение |
---|---|
Название | Microsoft-Sharepoint |
Номер (Порт) | 1529 |
Вендор | Groupware |
Тип | Sharepoint |
Профиль сбора | odbc_input |
Настройка источника включает в себя следующие шаги:
- Настройка аудита в Microsoft Sharepoint.
- Создание MSSQL пользователя с ограниченными правами.
- Включение источника в платформе.
- Тонкая настройка SQL-запроса для извлечения информации из всех сайтов системы.
Шаг 1. Настройка аудита в Microsoft Sharepoint
Включение аудита происходит для каждого сайта отдельно.
Для включения аудита сайта выполните следующие действия:
- Войдите на сайт, аудит которого необходимо включить.
-
Откройте Настройки сайта и выберите пункт Сведения о сайте (см. рисунок 1).
Рисунок 1 -- Microsoft Sharepoint. Настройки сайта
-
В открывшемся окне выберите пункт Просмотреть все параметры сайта (см. рисунок 2).
Рисунок 2 -- Microsoft Sharepoint. Просмотреть все параметры сайта
-
В открывшемся окне перейдите к блоку Администрирование семейств сайтов и выберите пункт Возможности семейства сайтов (см. рисунок 3).
Рисунок 3 -- Администрирование семейств сайтов. Возможности семейства сайтов
-
Перейдите к блоку Отчеты и активируйте создание отчетов с анализом информации, содержащейся в Microsoft Sharepoint (см. рисунок 4).
Рисунок 4 -- Microsoft Sharepoint. Активация создания отчетов
-
Вернитесь в Администрирование семейств сайтов и выберите пункт Параметры аудита семейства сайтов (см. рисунок 5).
Рисунок 5 -- Администрирование семейств сайтов. Параметры аудита семейства сайтов
-
В открывшемся окне Настройка параметров аудита укажите события, подлежащие аудиту, установив соответствующие флаги и нажмите кнопку ОК (см. рисунок 6).
Рисунок 6 -- Окно "Настройка параметров аудита". Выбор событий, подлежащих аудиту
После этого в Администрирование семейств сайтов появится новый пункт Отчеты по журналу аудита, который позволяет вручную выгружать отчёты по нужным критериям (см. рисунок 7).
Рисунок 7 -- Администрирование семейств сайтов. Отчеты по журналу аудита
Шаг 2. Создание MSSQL пользователя с ограниченными правами
На данном шаге выполняется создание пользователя "AuditReader", который будет иметь права только на выполнение SQL-запроса в базе WSS_Content. Подробнее о SQL-запросе описано на четвертом шаге настройки источника.
-
Создаёте логин "AuditReader" и укажите пароль:
USE [master]; GO CREATE LOGIN AuditReader WITH PASSWORD = 'Password';
-
Создайте пользователя AuditReader в базе WSS_Content и присвойте ему логин "AuditReader":
USE [WSS_Content]; GO CREATE USER AuditReader FOR LOGIN AuditReader;
-
Выдайте пользователю AuditReader право выполнять только операцию
SELECT
в следующих таблицах:USE [WSS_Content]; GO GRANT SELECT ON dbo.AuditData TO AuditReader; GRANT SELECT ON dbo.UserInfo TO AuditReader; GRANT SELECT ON dbo.WebsPlus TO AuditReader;
-
Ограничьте доступ пользователя AuditReader к базе WSS_Content:
USE [master]; GO DENY VIEW ANY DATABASE TO AuditReader; GO USE [WSS_Content]; GO DENY VIEW DEFINITION TO AuditReader; GO
Шаг 3. Настройка лог-коллектора и включение источника в платформе
Перейдите в веб-интерфейс платформы включите источник Microsoft-Sharepoint.
Шаг 4. Тонкая настройка SQL-запроса для извлечения информации из всех сайтов системы
SQL-запрос извлекает информацию о событиях аудита из таблицы AuditData, которая хранится в базе данных WSS_Content.
Пример запроса:
SELECT
ad.Occurred AS [Date],
u.tp_Title AS [User],
u.tp_Login AS [UserLogin],
ad.Event AS [EventID],
ad.ItemType AS [ItemTypeID],
ad.DocLocation AS [DocLocationID],
ad.EventData AS [EventData],
ad.MachineName,
ad.MachineIP,
wp.TitleResource AS [SiteName],
ad.UserId AS [UserID],
ad.SiteId AS [SiteId],
ad.ItemId AS [ItemId],
CAST(DATEDIFF_BIG(ns, '1970-01-01 00:00:00.0000000', ad.Occurred) AS BIGINT) AS epoch
FROM
[WSS_Content].[dbo].[AuditData] ad
LEFT JOIN
[WSS_Content].[dbo].[UserInfo] u ON ad.UserId = u.tp_ID
LEFT JOIN
[WSS_Content].[dbo].[WebsPlus] wp ON ad.SiteId = wp.SiteId
WHERE
CAST(DATEDIFF_BIG(ns, '1970-01-01 00:00:00.0000000', ad.Occurred) AS BIGINT) > ?
ORDER BY
ad.Occurred DESC;
Где:
Occurred
- содержит дату и время, когда произошло событие аудита;tp_Title
- содержит название пользователя, связанного с событием аудита;tp_Login
- содержит логин пользователя, связанного с событием аудита;Event
- содержит числовой идентификатор события аудита;ItemType
- возвращает тип объекта, к которому относится событие аудита;DocLocation
- показывает местоположение документа или объекта, которое было изменено или на которое было совершено действие;EventData
- содержит дополнительные данные, связанные с событием, которое было зафиксировано;MachineName
иMachineIP
- показывают имя компьютера и IP-адрес, с которых было совершено действие;UserID
- идентификатор пользователя, совершившего действие;SiteId
- идентификатор сайта, на котором произошло событие;ItemId
- идентификатор элемента, на котором было совершено действие.
За присоединение таблицы WebsPlus к таблице AuditData для получения имени сайта, связанного с событием отвечает строка:
wp.TitleResource AS [SiteName],
Где, SiteName
- имя сайта, на котором произошло событие.
За преобразование даты и времени возникновения события в формат epoch
, значение которого будет использоваться в качестве уникального идентификатора события, по которому будет работать лог-коллектор, отвечает строка:
CAST(DATEDIFF_BIG(ns, '1970-01-01 00:00:00.0000000', ad.Occurred) AS BIGINT) AS epoch
За объединение таблиц AuditData, UserInfo и WebsPlus отвечают два оператора LEFT JOIN
:
FROM
[WSS_Content].[dbo].[AuditData] ad
LEFT JOIN
[WSS_Content].[dbo].[UserInfo] u ON ad.UserId = u.tp_ID
LEFT JOIN
[WSS_Content].[dbo].[WebsPlus] wp ON ad.SiteId = wp.SiteId
В первом операторе LEFT JOIN
выполняется присоединение таблицы UserInfo, которая содержит информацию о пользователях SharePoint.
Во втором операторе LEFT JOIN
выполняется присоединение таблицы WebsPlus, которая содержит информацию о сайтах SharePoint.
Оба оператора LEFT JOIN
используются, чтобы сохранить все строки из таблицы AuditData, даже если нет соответствующих записей в таблицах UserInfo и WebsPlus. Если соответствующая запись не найдена, значения в столбцах, которые соответствуют отсутствующим записям, будут NULL
.
Для корректной работы лог-коллектора необходимо добавить условие в запрос для выбора только тех строк, у которых разница между датой в столбце Occurred и датой "1970-01-01 00:00:00.0000000" больше, чем значение, которое будет заменено на место знака вопроса в момент выполнения запроса:
WHERE
CAST(DATEDIFF_BIG(ns, '1970-01-01 00:00:00.0000000', ad.Occurred) AS BIGINT) > ?
За сортировку событий от последнего к первому отвечает строка:
ORDER BY
ad.Occurred DESC
Nginx
Характеристики источника в Платформе Радар:
Характеристика | Значение |
---|---|
Название | Nginx-Web-server |
Номер (Порт) | 2960 |
Вендор | Nginx |
Тип | Web_server |
Профиль сбора | tcp_input |
Для настройки источника выполните следующие действия:
-
В конфигурационных файлах
/etc/nginx/nginx.conf
и/opt/pangeoradar/configs/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/ $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-адрес агента сбора лог-коллектора>:port
Где:
local0,local1
- значение facility для журналов Access.log и Error.log;@@
- передача данных по протоколу TCP;<IP-адрес агента сбора лог-коллектора>
- IP-адрес агента сбора лог-коллектора;port
- порт, по которому агент сбора лог-коллектора будет принимать события. Должен совпадать со значением, указанным в настройках соответствующего профиля сбора.
-
Сохраните изменения и перезапустите службу
rsyslog
:# systemctl restart rsyslog.service
-
Включите источник Nginx-Web-server.