Назад | Перейти на главную страницу

фильтр http logfile не отображается в отчете

Я использую debian 10.4, и у меня свежая установка logwatch. Все работает, как ожидалось, за исключением logwatch (версия 7.5.0), который выводит все, кроме отчета журналов http.

Я запустил logwatch с --debug med и на выходе отладки я видел:

Preprocessing LogFile: http
'/tmp/logwatch.hVSrPWg3/http-archive' '/var/log/apache2/www.anonicloud.ch_access.log.1' '/var/log/apache2/other_vhosts_access.log' '/var/log/apache2/www.anonicloud.ch_access.log'  | /usr/bin/perl /usr/share/logwatch/scripts/shared/expandrepeats ''| /usr/bin/perl /usr/share/logwatch/scripts/shared/applyhttpdate ''>/tmp/logwatch.hVSrPWg3/http

Preprocessing LogFile: http-error
'/var/log/apache2/error.log' '/var/log/apache2/www.anonicloud.ch_error.log'  | /usr/bin/perl /usr/share/logwatch/scripts/shared/applystddate '\[%a %b %d %H:%M:%S(\.\d*)? %Y\] '| /usr/bin/perl /usr/share/logwatch/scripts/shared/removeheaders '\[\w{3} \w{3} \d{2} \d\d:\d\d:\d\d(\.\d*)? \d{4}\] '>/tmp/logwatch.hVSrPWg3/http-error

... и ...

Processing Service: http
( cat /tmp/logwatch.hVSrPWg3/http  |  /usr/bin/perl /usr/share/logwatch/scripts/services/http) 2>&1

export LOGWATCH_LOGFILE_LIST='/var/log/apache2/error.log /var/log/apache2/www.anonicloud.ch_error.log '
export LOGWATCH_ARCHIVE_LIST=''
export LOGWATCH_LOGFILE_LIST='/var/log/messages '
export LOGWATCH_ARCHIVE_LIST='/var/log/messages.1 /var/log/messages.2.gz /var/log/messages.3.gz '

Поэтому я утверждаю, что мои файлы журналов http анализируются правильно.

Но когда я проверяю вывод, я не могу найти никаких ссылок, как для других сервисов:

# Why I can't find the same for http???
--------------------- fail2ban-messages Begin ------------------------
DEBUG: Inside Fail2Ban Filter
---------------------- fail2ban-messages End -------------------------

/usr/share/logwatch/default.conf/ignore.conf пуст (ну, все закомментировано), и в моих файлах конфигурации я ничего не исключил.

Редактировать: Я за обратным прокси-сервером nginx; на моем сервере apache я включил mod_remoteip и заменил все %h с участием %a в формате файла журнала.

Любая подсказка очень ценится.

Попробуйте с --detail High (или Med). Похоже, что http скрипт практически ничего не выводит (попытки подключения с использованием mod_proxy, обнаружены возможные эксплойты, пользователи успешно вошли в лог), когда --detail не установлено (по умолчанию 0) или <4. Вы можете увидеть это на SourceForge.

Образцы:

  my $detail = $ENV{'LOGWATCH_DETAIL_LEVEL'} || 0;
  # ...
  if (($detail >4) and $total_hack_count) {
  # ...
  if (keys %ban_ip and $detail) {
  # ...
  if (keys %needs_exam and ($detail or $a5xx_resp)) {
  # ...
  # etc...