Я настроил свой сервер Ubuntu 14.04, Nginx 1.6.2 fail2ban для блокировки запросов noscript. Этот сервер работает на двух сайтах WordPress.
Когда я делаю wp-admin область работ, случайно меня забанили. Когда я смотрю журналы fail2ban, я вижу fail2ban.actions: WARNING [nginx-noscript] Ban xxx.xxx.xxx.xx
, Я включил электронную почту, уведомления, но я не получил никаких уведомлений по электронной почте относительно этого бана. Но по SSH бану я получаю уведомления по электронной почте.
Я хотел бы знать, есть ли способ остановить это ложное / неправильное действие запрета?
Кроме того, как я могу получать уведомления по электронной почте о каждом действии запрета IP?
файл jail.local: — http://pastebin.com/4ThbnzKD
jail.conf: — http://pastebin.com/zPZ0975W
nginx-noscript
Фильтр предназначен для полной блокировки доступа к прямому доступу к сценариям, например URL-адресам, которые заканчиваются на .php
, Поскольку админ-панель WordPress зависит от многих таких URL (например, /wp-login.php?...
), этот фильтр полностью несовместим с ним и будет запрещать всем пользователям входить в систему или использовать панель администратора. Внешний интерфейс сайта может работать хорошо, потому что, хотя он использует файлы PHP, его URL не содержат «.php» из-за перезаписи URL.
Чтобы решить это, вы можете:
nginx-noscript
полностью фильтроватьignoreregex
раздел, начните с чего-то вроде (wp-admin|wp-login)
По умолчанию nginx-noscript.conf
:
# Noscript filter /etc/fail2ban/filter.d/nginx-noscript.conf:
#
# Block IPs trying to execute scripts such as .php, .pl, .exe and other funny scripts.
#
# Matches e.g.
# 192.168.1.1 - - "GET /something.php
#
[Definition]
failregex = ^<HOST> -.*GET.*(\.php|\.asp|\.exe|\.pl|\.cgi|\scgi)
ignoreregex =
Других решений пока нет …