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

Регулярное выражение Fail2Ban неверно?

В настоящее время я настраиваю фильтр для фильтрации POST-атак на файл с именем xmlrpc.php. Запросы, которые следует отслеживать в доступе к журналу, выглядят так:

1.99.437.201 - - [01/Feb/2016:01:57:14 +0000] "POST /xmlrpc.php HTTP/1.1" 200 631 "-" "curl/7.30.0"

Тюрьма выглядит так:

[xmlrpc]
enabled = true
filter = xmlrpc
action = iptables[name=xmlrpc, port=http, protocol=tcp]
logpath = /srv/www/logs/access.log
bantime = 43600
maxretry = 5

И мой фильтр:

[Definition]
failregex = ^<HOST> .*POST .*xmlrpc\.php.*
ignoreregex =

Я пытаюсь понять, как регулярное выражение не улавливает попытки журнала. Любое понимание того, что <HOST> собственно представляете?

В <HOST> регулярное выражение довольно умное. Помимо прочего, он знает, что IP-адрес состоит из 4 октетов, и каждый октет может иметь значение от 0 до 255. IP-адрес в вашем вопросе 1.99.437.201 не соответствует этой спецификации и не будет соответствовать <HOST> регулярное выражение. Если вы измените второй октет, чтобы он соответствовал спецификации, ваше регулярное выражение будет работать должным образом.

$ cat log
1.99.237.201 - - [01/Feb/2016:01:57:14 +0000] "POST /xmlrpc.php HTTP/1.1" 200 631 "-" "curl/7.30.0"

$ fail2ban-regex  log "^<HOST> .*POST .*xmlrpc\.php.*"

Running tests
=============

Use   failregex line : ^<HOST> .*POST .*xmlrpc\.php.*
Use         log file : log
Use         encoding : UTF-8


Results
=======

Failregex: 1 total
|-  #) [# of hits] regular expression
|   1) [1] ^<HOST> .*POST .*xmlrpc\.php.*
`-

Ignoreregex: 0 total

Date template hits:
|- [# of hits] date format
|  [1] Day(?P<_sep>[-/])MON(?P=_sep)Year[ :]?24hour:Minute:Second(?:\.Microseconds)?(?: Zone offset)?
`-

Lines: 1 lines, 0 ignored, 1 matched, 0 missed [processed in 0.00 sec]

Я использую более простой способ заблокировать все xmlrpc.php атаки.

Просто поместите этот код в свой .htaccess файл:

<Files "xmlrpc.php">
Order Allow,Deny
Deny from all
</Files>

Этот код защитит ваш Wordpress от всех ботнетов.