O uso de referências anteriores nos filtros fail2ban é possível?

3

Ocasionalmente, vejo coleções de erros suspeitos de "Arquivo não encontrado" nos meus logs do Apache, basicamente usando o padrão

File does not exist: /var/www/file, referer: http://my.server.com/file

Em termos humanos: O arquivo não foi encontrado, embora seja referenciado aqui. Uma clara tentativa de hacking, já que isso é quase impossível (e o REQUEST_URI s geralmente sugere o mesmo). Aos meus olhos, um caso claro para fail2ban - se eu pudesse obter referências anteriores para trabalhar aqui:

failregex = ^%(_apache_error_client)s File does not exist: /var/www(.+), referer: http://.+$

(Justin Case: os exemplos acima supõem que DIRECTORY_ROOT desse servidor da Web seja /var/www )

Eu pesquisei por horas, procurei no wiki do fail2ban para cima e para baixo - mas em nenhum lugar eu encontrei uma declaração sobre referências anteriores em seu filtros. Eles não são suportados, ou eu fiz da maneira errada? Quaisquer dicas de como fazer isso funcionar (exceto de "hacks sujos", como enviar primeiro o pedido para outro URL falso usando e, em seguida, percebendo isso (se alguém estiver interessado, posso elaborar essa abordagem em uma resposta), ou fazendo algo semelhante usando )?

como uma linha de registro inteira foi solicitada:

[Fri Nov 08 14:57:28 2013] [error] [client 50.67.234.213] File does not exist: /var/www/text/files.htm++++++++++++++++++++++++++Result:+using+proxy+27.34.142.47:9090;+no+post+sending+forms+are+found;, referer: http://www.myserver.com/text/files.htm++++++++++++++++++++++++++Result:+using+proxy+27.34.142.47:9090;+no+post+sending+forms+are+found;

(desculpe, os logs foram apenas trocados, então esse longo candidato foi o único que restou atualmente ; pequenos ajustes foram feitos por razões de privacidade)

    
por Izzy 08.11.2013 / 23:07

1 resposta

3

Parece que a numeração de referências anteriores é um pouco maluca. Tente usar um Grupo nomeado ... algo assim:

failregex = ^%(_apache_error_client)s File does not exist: /var/www(?P<snoop_file>.+), referer: http://.+(?P=snoop_file)$
    
por 10.11.2013 / 18:23