Fail2Ban desbloqueia ipaddress

11

Estou tentando desbloquear um endereço IP sem reiniciar o Fail2Ban a cada vez, qual é a melhor maneira de fazer isso? Ou você pode me apontar na direção de um guia útil?

Como você pode ver abaixo, o endereço IP que estou tentando remover é: 89.31.259.161

# iptables -L -n

    Chain INPUT (policy DROP)
    target     prot opt source               destination
    fail2ban-apache-badbots  tcp  --  0.0.0.0/0            0.0.0.0/0           multiport dports 80,443
    fail2ban-httpd  tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
    fail2ban-sasl  tcp  --  0.0.0.0/0            0.0.0.0/0           multiport dports 25,465,143,220,993,110,995
    fail2ban-SSH  tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22
    fail2ban-httpd  tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443
    fail2ban-httpd  tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
    fail2ban-vsftpd  tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           multiport dports 80,443,25,465,110,995,143,993,587,465,21,20,2855
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:54000

    Chain FORWARD (policy DROP)
    target     prot opt source               destination

    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination

    Chain fail2ban-SSH (1 references)
    target     prot opt source               destination
    RETURN     all  --  0.0.0.0/0            0.0.0.0/0

    Chain fail2ban-apache-badbots (1 references)
    target     prot opt source               destination
    RETURN     all  --  0.0.0.0/0            0.0.0.0/0

    Chain fail2ban-httpd (3 references)
    target     prot opt source               destination
    DROP       all  --  89.31.259.161        0.0.0.0/0
    DROP       all  --  89.31.259.161        0.0.0.0/0
    RETURN     all  --  0.0.0.0/0            0.0.0.0/0
    RETURN     all  --  0.0.0.0/0            0.0.0.0/0
    RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain fail2ban-sasl (1 references)
target     prot opt source               destination
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain fail2ban-vsftpd (1 references)
target     prot opt source               destination
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Eu era capaz de executar: iptables -D fail2ban-httpd -s 89.31.259.161 -j DROPembora isso tenha excluído apenas uma das linhas.

John Magnolia
fonte

Respostas:

15

Use a --line-numbersopção iptables para obter uma lista que mostra os números de linha das regras em uma cadeia, por exemplo

iptables -L fail2ban-SSH -v -n --line-numbers
Chain fail2ban-SSH (1 references)
num   pkts bytes target     prot opt in     out   source              destination
1       19  2332 DROP       all  --  *      *     193.87.172.171      0.0.0.0/0
2       16  1704 DROP       all  --  *      *     222.58.151.68       0.0.0.0/0
3       15   980 DROP       all  --  *      *     218.108.224.81      0.0.0.0/0
4        6   360 DROP       all  --  *      *     91.196.170.231      0.0.0.0/0
5     8504  581K RETURN     all  --  *      *     0.0.0.0/0           0.0.0.0/0

Em seguida, use iptables -D chain rulenumpara remover os que você não deseja, por exemplo

iptables -D fail2ban-SSH 1

excluiria o

1       19  2332 DROP       all  --  *      *     193.87.172.171      0.0.0.0/0

linha do exemplo acima. Observe que tudo é renumerado para que você possa executar o mesmo comando novamente para remover a nova regra 1 da cadeia.

user9517
fonte
Isso funcionará - ATÉ que você reinicie o servidor ou fail2ban. A resposta de @Ndianabasi é melhor.
TheStoryCoder
5

De acordo com minha experiência com o Fail2ban, desbanir um endereço IP diretamente através do IPTABLES resultará no banimento do IP novamente pelo Fail2ban se o serviço Fail2ban for reiniciado dentro do Tempo de Banimento.

Dito isto, a maneira mais eficaz e limpa de remover o banimento de um endereço IP banido pelo Fail2ban é usar o cliente fail2ban.

Etapa 1: Anote o Nome da Cadeia, verificando o log Fail2ban

sudo zgrep 'Ban' /var/log/fail2ban.log

Saída de amostra:

2017-11-03 04: 30: 14.509 fail2ban.actions [25091]: AVISO [nginx-badbots] Proibição 47.15.15.49 2017-11-03 04: 37: 29.597 fail2ban.actions [27065]: AVISO [nginx-badbots] Proibição 103.31.87.187 2017-11-03 04: 37: 30.124 fail2ban.actions [27065]: AVISO [nginx-badbots] Proibição 201.33.170.251 2017-11-03 04: 37: 30.364 fail2ban.actions [27065]: NOTICE [ nginx-badbots] Proibição em 47.15.15.49 2017-11-03 04: 38: 06.754 fail2ban.actions [27065]: AVISO [vsftpd] Proibição em 128.20.12.68

Se estivermos interessados ​​em desbanir o endereço IP - 128.20.12.68 -, o nome da cadeia é vsftpd.

Etapa 2: desbanque o endereço IP usando fail2ban-client. O formato geral é:

sudo fail2ban-client set [JAIL] unbanip [xx.xx.xx.xx]

Agora, execute:

sudo fail2ban-client set vsftpd unbanip 128.20.12.68

Saída de amostra:

128.20.12.68

Etapa 3: confirmar unban do log Fail2ban

sudo tail -f /var/log/fail2ban.log

Saída de amostra:

2017-11-03 04: 38: 13.332 fail2ban.actions [27065]: AVISO [vsftpd] Unban 128.20.12.68

Ndianabasi
fonte
1
Essa deve ser a resposta aceita.
TheStoryCoder