filtro fail2ban não corresponde - é regex ou outra coisa


0

Eu tenho um site com um script php que pode ser chamado com pouca frequência. Alguns usuários irritantes estão acessando meu script a cada poucos segundos e preciso bani-los. Eu configurei o failban, mas eles não estão sendo capturados. Eu li o wiki e modelei minha configuração após exemplos. Alguém pode me dizer o que não está aqui?

Primeiro minha prisão:

[my-checkversion]
enabled  = true
filter   = checkversion
logpath  = /data/logs/mydomain.com-access_log
findtime = 60
bantime = 86400
maxretry = 6
action = iptables[name=HTTP, port=http, protocol=tcp]

Próximo meu filtro:

[INCLUDES]
before = apache-common.conf
[Definition]
# Example
# 144.217.80.24 - - [02/May/2019:07:02:00 -0500] "POST /hidden/readversion.php HTTP/1.1" 200 -
failregex = ^<HOST> - - \[.*\] "POST <checkversion_url> HTTP/1\.[01]" 200 .*$
ignoreregex =
[Init]
checkversion_url = /hidden/readversion.php

Coloquei um trecho de 1 linha do arquivo de acesso apache, mostrando um usuário acessando o URL em questão em um comentário acima da linha regex.

Alguém pode me dizer o que há de errado? É o regex? Os editores de regex on-line não ajudarão por causa das substituições de variáveis ​​... portanto, este é o melhor esforço


Por que você está substituindo variáveis ​​de qualquer maneira? Não é estático? Se assim for, failregex = readversionbasta um simples ou semelhante, eu acho.
Lenniey

Respostas:


4

Existe uma opção com fail2ban para forçá-lo a olhar para um arquivo para testar suas regras e ele será impresso se funcionar ou não.

Você já olhou fail2ban-regex <logfile> <fail2ban rule .conf>?


1
Não vi nenhuma referência a ele em minha pesquisa original, mas está lá e funciona. Problema resolvido
TSG
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.