Apache HTTP Server

Настройка Apache HTTP Server

Описание подсистемы журналирования Apache HTTP Server

Журналирование событий службы Apache HTTP Server по умолчанию ведется в одной из следующих директорий:

  • /var/log/apache;

  • /var/log/httpd.

Запись событий осуществляется следующим образом:

  1. В файл error.log собираются обращения хостов сети к ресурсам.

  2. В файл access.log записываются события с ошибками в работе службы веб-сервера.

Настройка журналирования Apache HTTP Server

Для корректного отображения в R-Vision SIEM событий журнала access настройте на сервере Apache формат сообщений согласно следующим рекомендациям:

  1. В файле apache.conf или httpd.conf найдите строку, задающую формат логов, и замените ее на следующий вариант:

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"

    Для сервиса Apache Tomcat необходимо изменить формат лога в файле server.xml1:

    %a %{jira.request.id}r %{jira.request.username}r %t "%m %U%q %H" %s %b %D "%{Referer}i" "%{User-Agent}i"
  2. Перезапустите службу Apache HTTP Server с помощью команды:

    systemctl restart httpd

Отправка событий Apache HTTP Server

Настройка отправки событий на сервер syslog

События службы Apache HTTP Server отправляются на централизованный сервер syslog. Затем происходит отправка событий в SIEM.

Чтобы настроить отправку событий службы Apache HTTP Server, выполните следующие шаги:

  1. Откройте конфигурационный файл rsyslog: /etc/rsyslog.conf или /etc/rsyslog.d/.

  2. Добавьте в файл следующие правила:

    module(load="imfile")
    
    input(
        type="imfile"
        File="/var/log/httpd/access_log"
        Tag="Apache_Access"
        Severity="info"
        Facility="local4"
    )
    
    input(
        type="imfile"
        File="/var/log/httpd/error_log"
        Tag="Apache_Error"
        Severity="info"
        Facility="local4"
    )
    
    if $syslogtag == 'Apache_Access' or $syslogtag == 'Apache_Error' then {
        action(
            type="omfwd"
            Target="<target>"
            Port="<port>"
            Protocol="udp"
        )
        stop
    }

    Здесь:

    • <target> — IP-адрес или полное доменное имя (FQDN) сервера syslog.

    • <port> — порт 514 или любой другой порт, настроенный для приема.

  3. Чтобы изменения вступили в силу, перезапустите rsyslog с помощью команды:

    sudo systemctl restart rsyslog

Настройка отправки событий в SIEM

Настройте отправку логов с сервера syslog в SIEM:

  1. Откройте конфигурационный файл rsyslog: /etc/rsyslog.conf или /etc/rsyslog.d/.

  2. Добавьте в файл следующее правило:

    if $syslogtag == 'Apache' then {
      action(type="omfwd" target="target" port="port" protocol="tcp")
      stop
    }

    Здесь:

    • <target> — IP-адрес или полное доменное имя (FQDN) узла кластера Kubernetes, на котором запущен коллектор SIEM.

    • <port> — порт точки входа Syslog: значение в диапазоне 30000—​32767.

  3. Чтобы изменения вступили в силу, перезапустите rsyslog с помощью команды:

    sudo systemctl restart rsyslog

Настройка в R-Vision SIEM

  1. В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.

  2. Добавьте на конвейер элемент Точка входа со следующими параметрами:

    • Название: введите название точки входа.

    • Тип точки входа: выберите вариант Syslog.

    • Порт точки входа: введите значение в соответствии с настройками на стороне Apache HTTP Server.

    • Протокол: выберите вариант в соответствии с настройками на стороне Apache HTTP Server.

  3. Добавьте на конвейер элемент Нормализатор с правилами Apache HTTP-server (идентификатор правила: RV-N-7) и Apache HTTP-server (идентификатор правила: RV-N-8).

  4. Соедините нормализатор с точкой входа.

  5. Добавьте на конвейер элемент Конечная точка типа Хранилище событий.

  6. Соедините конечную точку с нормализатором.

  7. Сохраните и установите конфигурацию конвейера.

Пример конфигурации конвейера:

apache http pipeline

После настройки передачи событий, если настройка выполнена корректно, в хранилище начнут поступать события Apache HTTP Server.

Найти события Apache HTTP Server в хранилище можно по следующему фильтру:

dproduct = "Apache"

apache http storage

Таблица маппинга

Таблица соответствия полей события для всех рассмотренных типов событий представлена по ссылке.