Я использую 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...