Мне нужно заблокировать определенные запросы с помощью fail2ban на основе настраиваемого формата файла журнала для веб-сервера nginx access.log.
Оскорбительные строки, которые должны совпадать, находятся в access.log и выглядят следующим образом:
06/Oct/2016:18:44:29 +0200 191.96.249.53 - - mydomain.com "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-"
06/Oct/2016:18:44:29 +0200 191.96.249.53 - - mydomain.com "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-"
06/Oct/2016:18:44:29 +0200 191.96.249.53 - - mydomain.com "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-"
Моя fail2ban конфигурация wordpress-xmlrpc.conf с RegEx:
[Definition]
failregex = ^<HOST>.*POST .*.(*wp-login\.php|*xmlrpc\.php).*.(403|499)*
ignoreregex =
Тюрьма запущена, но никогда не находит оскорбительных строк:
Статус тюрьмы: wordpress-xmlrpc (упрощенный):
- Список файлов: /var/log/nginx/access.log
- Текущий сбой: 0
- Всего сбой: 0
- Забаненых: 0
- Забаненных всего: 0
Любая помощь приветствуется!