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

Не соответствует ли fail2ban этим строкам только из-за порта?

Я хотел бы, чтобы fail2ban выступил против этих строк и заблокировал приведенный пример IP-адреса:

[Tue Dec 08 12:17:13.622175 2015] [:error] [pid 30390] [client 62.210.88.201:38139] script '/var/www/html/httptest.php' not found or unable to stat
[Tue Dec 08 13:22:25.363614 2015] [:error] [pid 30386] [client 62.210.88.201:54141] script '/var/www/html/httptest.php' not found or unable to stat
[Tue Dec 08 14:36:01.790899 2015] [:error] [pid 28831] [client 62.210.88.201:42431] script '/var/www/html/httptest.php' not found or unable to stat

Fail2ban был успешно настроен для защиты других служб на этом компьютере, но я не могу заставить его работать с этими линиями.

[apache-noscript]
enabled  = true
port     = http,https
filter   = apache-noscript
logpath  = /var/log/apache*/*error.log
maxretry = 2

Это просто потому, что «port = http, https» и должно быть «ports = all»?

Соответствующий фильтр "apache-noscript.conf" был изменен следующим образом.

^%(_apache_error_client)s script '/\S*httptest\S*(\.php|\.asp|\.exe|\.pl)\S*' not found or unable to stat\s*$

Нет port часть не проблема. port используется для определения того, к какому порту применяется запрет после совпадения с правилом регулярного выражения.

Я предполагаю, что ваше регулярное выражение не работает так, как должно быть. Вы можете использовать fail2ban-регулярное выражение команду, чтобы проверить, действительно ли она работает, и при необходимости исправить ее. Вот пример команды:

fail2ban-regex '/var/log/apache*/*access.log' /etc/fail2ban/filter.d/apache-noscript.conf

Вы также можете использовать следующую команду, чтобы увидеть статус тюрьмы:

fail2ban-client status