Fail2Ban regex está errado?

1

Atualmente, estou configurando um filtro para filtrar ataques POST em um arquivo chamado xmlrpc.php . Solicitações que devem ser monitoradas no acesso de log se parecem com:

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

A prisão parece:

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

E meu filtro é:

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

Estou tentando descobrir como o regex não está capturando as tentativas de registro. Qualquer insight sobre o que <HOST> realmente representa?

    
por Tom 01.02.2016 / 03:10

2 respostas

2

O <HOST> regex é bastante inteligente. Entre outras coisas, ele sabe que um endereço IP consiste em 4 octetos e cada octeto pode ter um valor entre 0 e 255. O endereço IP em sua pergunta 1.99. 437 .201 não atende a essa especificação e não corresponde a <HOST> regex. Se você alterar o segundo octeto para atender à especificação, seu regex funcionará como esperado

$ 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]
    
por 01.02.2016 / 08:20
0

Eu uso um método mais fácil para bloquear todos os xmlrpc.php ataques.

Basta colocar esse código no seu arquivo .htaccess :

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

Este código protegerá seu Wordpress contra todas as botnets.

    
por 22.09.2016 / 19:18