regra fail2ban resulta na mensagem de erro “iptables returned 200”

3

Acabei de tentar adicionar uma nova regra do fail2ban que deve verificar os logs de erro do Apache2 em busca de tentativas suspeitas de acesso a arquivos (pessoas que tentam acessar três URLs de login comuns que não existem normalmente não têm boas intenções).

Para isso, adicionei uma nova regra ao meu arquivo jail.local:

[apache-suspiciousfiles]
enabled   = true
port      = http,https
filter    = apache-suspiciousfiles
banaction = iptables-allports
action    = %(action_mwl)s
logpath   = /var/log/apache2/error*.log
maxretry  = 3

Isso - no entanto - me deu uma mensagem de erro inesperada nos meus registros:

2014-02-10 13:28:51,450 fail2ban.jail   : INFO   Jail 'apache-suspiciousfiles' started
2014-02-10 13:28:51,690 fail2ban.actions.action: ERROR  iptables -N fail2ban-apache-suspiciousfiles
iptables -A fail2ban-apache-suspiciousfiles -j RETURN
iptables -I INPUT -p tcp -j fail2ban-apache-suspiciousfiles returned 200

Eu tinha verificado o filtro com o fail2ban-regex antes disso, então eu tinha certeza de que não era algo lá.

(Nota: Isso é "retornou 200". Muitas pessoas parecem ter um problema com 100, mas isso é sobre 200 )

    
por BlaM 10.02.2014 / 13:41

5 respostas

6

Eu fiz uma busca rápida no google e nenhuma resposta pareceu me ajudar, então eu apenas tentei a primeira coisa que me veio à mente:

Eu renomei a regra e tornei seu nome mais curto:

[apache-suspicious]
enabled   = true
port      = http,https
filter    = apache-suspicious
banaction = iptables-allports
action    = %(action_mwl)s
logpath   = /var/log/apache2/error*.log
maxretry  = 3

(renomei a regra de apache-suspiciousfiles para apache-suspeito)

Isso realmente me ajudou. Agora tudo começa bem e minha regra está funcionando.

    
por 10.02.2014 / 13:41
2

Também ocorre se sua configuração produzir 'multiport' e 'all' juntos ('all' pode ser usado para contornar bots trocando de tcp para udp, o que preenche logs com "WARNING: ... already banned"). / p>

$ sudo iptables -I INPUT -p all -m multiport --dports ssh -j fail2ban-ssh
iptables: multiport needs '-p tcp', '-p udp', '-p udplite', '-p sctp' or '-p dccp'

$ echo $?
2

$ cat fail2ban.log
iptables -I INPUT -p all -m multiport --dports ssh -j fail2ban-ssh returned 200
    
por 27.02.2015 / 23:14
1

Para mim, um 200 foi porque a regra action.d enviada para o iptables não pôde ser analisada.

Minha regra do iptables action.d foi a seguinte

[Definition]
actionstart = iptables -N fail2ban-<name>
              iptables -A fail2ban-<name> -j RETURN
              iptables -I INPUT -p <protocol> --dport <port> -j fail2ban-<name>
##comments and more actions removed for brevity
[Init]
name = default
#port = ssh
protocol = any

Observe como minha variável de porta foi comentada! Eu não sei o que iptables teria sido alimentado, estou assumindo que seria em branco. Independentemente do seu valor, não será uma porta conhecida que o iptables possa entender.

Eu tive que editar minha regra para remover o bit --dport, já que eu não ia realmente passar uma porta, e então estava tudo bem para carregar sem fazer com que retornasse 200.

    
por 10.03.2014 / 14:57
0

Eu recebi o mesmo erro hoje:

2017-04-05 23:00:27,123 fail2ban.jail   [501]: WARNING Jail name 'wordpress-404-scanner' might be too long and some commands (e.g. iptables) might not function correctly. Please shorten

2017-04-05 23:00:27,455 fail2ban.actions.action[501]: ERROR   iptables -N fail2ban-wordpress-404-scanner
iptables -A fail2ban-wordpress-404-scanner -j RETURN
iptables -I INPUT -p tcp -j fail2ban-wordpress-404-scanner returned 200

Ficou claro para substituir em /etc/fail2ban/jail.local :

action   = iptables-allports[name=wordpress-404-scanner]

com:

action   = iptables-allports[name=wordpress-404]

E agora funciona!

    
por 05.04.2017 / 23:31
0

No meu caso, o nome da minha regra foi curto o suficiente, mas o erro 200 persistiu.

Meu erro acabou sendo tentar banir várias portas com uma ação iptables[] , que funciona apenas para uma única porta. Depois que eu mudei minha ação para usar iptables-multiport[] , o erro foi encerrado:

action = iptables[name=HTTPD, port="http,https", protocol=tcp]  # < bad
action = iptables-multiport[name=HTTPD, port="http,https", protocol=tcp] # < good

o erro cessou.

    
por 06.07.2018 / 19:23