Перейти к содержанию

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.

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

  1. В конфигурационном файле системы укажите уровень журналирования:

    LogLevel info
    
  2. Обновите сервис apache:

    # systemctl reload apache2.service
    
  3. Проверьте состояние сервиса:

    # systemctl status apache2.service
    
  4. В каталоге /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 - порт, по которому агент сбора лог-коллектора будет принимать события. Должен совпадать со значением, указанным в настройках соответствующего профиля сбора.
  5. Сохраните изменения и перезапустите службу rsyslog:

    # systemctl restart rsyslog.service
    
  6. Включите источник 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.

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

  1. В конфигурационном файле системы <путь до каталога 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>
    
  2. В ОС Windows перезапустите службу apache.

  3. Включите источник 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.

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

  1. В каталоге /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).

  2. Откройте конфигурационный файл службы rsyslog:

    # nano /etc/rsyslog.conf
    
  3. В конфигурационном файле /etc/rsyslog.conf укажите следующие настройки:

    module(load="imfile" PollingInterval="10")
    
  4. Перезапустите службу rsyslog:

    # systemctl restart rsyslog.service
    
  5. Включите источник Apache-Tomcat-Web-Server.

Mantis Bug Tracker

Характеристики источника в Платформе Радар:

Характеристика Значение
Название MantisBT-System
Номер (Порт) 2962
Вендор MantisBT Team
Тип Bug Tracking System
Профиль сбора tcp_input

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

  1. В конфигурационном файле Mantis /etc/apache2/sites-enabled/ укажите пути к файлам журналов:

    ErrorLog "/var/log/apache2/mantisbt-error_log"
    TransferLog "/var/log/apache2/mantisbt-access_log"
    
  2. В каталоге /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 - порт, по которому агент сбора лог-коллектора будет принимать события. Должен совпадать со значением, указанным в настройках соответствующего профиля сбора.
  3. Сохраните изменения и перезапустите службу rsyslog:

    # systemctl restart rsyslog.service
    
  4. Включите источник MantisBT-System.

Microsoft Sharepoint

Характеристики источника в Платформе Радар:

Характеристика Значение
Название Microsoft-Sharepoint
Номер (Порт) 1529
Вендор Groupware
Тип Sharepoint
Профиль сбора odbc_input

Настройка источника включает в себя следующие шаги:

  1. Настройка аудита в Microsoft Sharepoint.
  2. Создание MSSQL пользователя с ограниченными правами.
  3. Включение источника в платформе.
  4. Тонкая настройка SQL-запроса для извлечения информации из всех сайтов системы.

Шаг 1. Настройка аудита в Microsoft Sharepoint

Включение аудита происходит для каждого сайта отдельно.

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

  1. Войдите на сайт, аудит которого необходимо включить.
  2. Откройте Настройки сайта и выберите пункт Сведения о сайте (см. рисунок 1).

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

    Рисунок 1 -- Microsoft Sharepoint. Настройки сайта

  3. В открывшемся окне выберите пункт Просмотреть все параметры сайта (см. рисунок 2).

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

    Рисунок 2 -- Microsoft Sharepoint. Просмотреть все параметры сайта

  4. В открывшемся окне перейдите к блоку Администрирование семейств сайтов и выберите пункт Возможности семейства сайтов (см. рисунок 3).

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

    Рисунок 3 -- Администрирование семейств сайтов. Возможности семейства сайтов

  5. Перейдите к блоку Отчеты и активируйте создание отчетов с анализом информации, содержащейся в Microsoft Sharepoint (см. рисунок 4).

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

    Рисунок 4 -- Microsoft Sharepoint. Активация создания отчетов

  6. Вернитесь в Администрирование семейств сайтов и выберите пункт Параметры аудита семейства сайтов (см. рисунок 5).

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

    Рисунок 5 -- Администрирование семейств сайтов. Параметры аудита семейства сайтов

  7. В открывшемся окне Настройка параметров аудита укажите события, подлежащие аудиту, установив соответствующие флаги и нажмите кнопку ОК (см. рисунок 6).

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

    Рисунок 6 -- Окно "Настройка параметров аудита". Выбор событий, подлежащих аудиту

    После этого в Администрирование семейств сайтов появится новый пункт Отчеты по журналу аудита, который позволяет вручную выгружать отчёты по нужным критериям (см. рисунок 7).

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

    Рисунок 7 -- Администрирование семейств сайтов. Отчеты по журналу аудита

Шаг 2. Создание MSSQL пользователя с ограниченными правами

На данном шаге выполняется создание пользователя "AuditReader", который будет иметь права только на выполнение SQL-запроса в базе WSS_Content. Подробнее о SQL-запросе описано на четвертом шаге настройки источника.

  1. Создаёте логин "AuditReader" и укажите пароль:

    USE [master];
    GO
    CREATE LOGIN AuditReader WITH PASSWORD = 'Password';
    
  2. Создайте пользователя AuditReader в базе WSS_Content и присвойте ему логин "AuditReader":

    USE [WSS_Content];
    GO
    CREATE USER AuditReader FOR LOGIN AuditReader;
    
  3. Выдайте пользователю 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;
    
  4. Ограничьте доступ пользователя 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

За объединение таблиц AuditDataUserInfo и 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

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

  1. В конфигурационных файлах /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;
    
  2. В конфигурационном файле /etc/rsyslog.conf добавьте следующее значение:

    # Include all config files in /etc/rsyslog.d/
           $IncludeConfig /etc/rsyslog.d/*.conf
    
  3. Создайте файл /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 - порт, по которому агент сбора лог-коллектора будет принимать события. Должен совпадать со значением, указанным в настройках соответствующего профиля сбора.
  4. Сохраните изменения и перезапустите службу rsyslog:

    # systemctl restart rsyslog.service
    
  5. Включите источник Nginx-Web-server.