Como verificar se o firewalld está bloqueando um endereço IP de entrada?

5

Eu tenho o CentOS 7 com firewalld. Eu instalei o fail2ban e usei a ação firewallcmd-new. Estou vendo proibições nos logs do fail2ban e quero verificar no firewallcmd se eles estão bloqueados. Como posso fazer isso?

    
por giorgio79 24.01.2016 / 06:36

2 respostas

6

Primeiro, recomendo strongmente que você use banaction = firewallcmd-ipset , pois isso proporcionará um desempenho muito melhor quando a lista de proibições começar a ficar grande.

Agora, com qualquer ação firewalld do fail2ban, ele adicionará uma regra direta, que você pode inspecionar com firewall-cmd --direct --get-all-rules :

# firewall-cmd --direct --get-all-rules
ipv4 filter INPUT 0 -p tcp -m multiport --dports ssh -m set --match-set fail2ban-sshd src -j REJECT --reject-with icmp-port-unreachable
ipv4 filter INPUT 0 -p tcp -m multiport --dports 0:65535 -m set --match-set fail2ban-nginx-http-auth src -j REJECT --reject-with icmp-port-unreachable
ipv4 filter INPUT 0 -p tcp -m multiport --dports http,https -m set --match-set fail2ban-nginx-wordpress-login src -j REJECT --reject-with icmp-port-unreachable

Como você pode ver, estou usando firewallcmd-ipset , então os endereços IP banidos não estão listados aqui. Em vez disso, eu os encontro com ipset list :

# ipset list
Name: fail2ban-sshd
Type: hash:ip
Revision: 1
Header: family inet hashsize 1024 maxelem 65536 timeout 600
Size in memory: 16528
References: 1
Members:

Name: fail2ban-nginx-http-auth
Type: hash:ip
Revision: 1
Header: family inet hashsize 1024 maxelem 65536 timeout 600
Size in memory: 16528
References: 1
Members:

Name: fail2ban-nginx-wordpress-login
Type: hash:ip
Revision: 1
Header: family inet hashsize 1024 maxelem 65536 timeout 86400
Size in memory: 40656
References: 1
Members:
108.62.172.244 timeout 70819
108.62.172.121 timeout 82750
212.252.164.233 timeout 69907
108.62.24.87 timeout 58024
23.19.127.20 timeout 84310
### many more omitted...
    
por 24.01.2016 / 13:32
2

Detalhes aqui: link

  • Listar todas as zonas com os recursos ativados.

    firewall-cmd --list-all-zones

  • Imprimir a zona com os recursos ativados. Se a zona for omitida, a zona padrão será usada.

    firewall-cmd [--zone=<zone>] --list-all

Se o comando acima não estiver exibindo informações suficientes, você pode tentar

Para o uso mais avançado, ou para especialistas do iptables, o FirewallD fornece uma interface direta que permite que você passe comandos brutos do iptables para ele. As regras da interface direta não são persistentes, a menos que o --permanent seja usado.

Para ver todas as cadeias personalizadas ou regras adicionadas ao FirewallD:

firewall-cmd --direct --get-all-chains

firewall-cmd --direct --get-all-rules

    
por 24.01.2016 / 10:33