Você precisará de pelo menos três logins com falha do mesmo IP para que o fail2ban proíba o IP.
Eu encontrei alguns outros artigos que mostram o mesmo problema exato. Veja o que meus logs estão mostrando no fail2ban:
2018-09-26 22:16:52,286 fail2ban.filter [24743]: INFO [core_404] Found 172.16.38.1 - 2018-09-26 22:16:52
2018-09-26 22:16:52,733 fail2ban.filter [24743]: INFO [core_404] Found 172.16.38.1 - 2018-09-26 22:16:52
2018-09-26 22:16:52,927 fail2ban.actions [24743]: NOTICE [core_404] 172.16.38.1 already banned
2018-09-26 22:16:53,118 fail2ban.filter [24743]: INFO [core_404] Found 172.16.38.1 - 2018-09-26 22:16:53
2018-09-26 22:16:53,431 fail2ban.filter [24743]: INFO [core_404] Found 172.16.38.1 - 2018-09-26 22:16:53
2018-09-26 22:16:53,529 fail2ban.actions [24743]: NOTICE [core_404] 172.16.38.1 already banned
2018-09-26 22:16:53,605 fail2ban.filter [24743]: INFO [core_404] Found 172.16.38.1 - 2018-09-26 22:16:53
2018-09-26 22:16:53,768 fail2ban.filter [24743]: INFO [core_404] Found 172.16.38.1 - 2018-09-26 22:16:53
2018-09-26 22:16:53,823 fail2ban.filter [24743]: INFO [core_404] Found 172.16.38.1 - 2018-09-26 22:16:53
2018-09-26 22:16:54,131 fail2ban.actions [24743]: NOTICE [core_404] 172.16.38.1 already banned
2018-09-26 22:16:54,225 fail2ban.filter [24743]: INFO [core_404] Found 172.16.38.1 - 2018-09-26 22:16:54
2018-09-26 22:16:54,381 fail2ban.filter [24743]: INFO [core_404] Found 172.16.38.1 - 2018-09-26 22:16:54
2018-09-26 22:16:54,933 fail2ban.actions [24743]: NOTICE [core_404] 172.16.38.1 already banned
Se eu olhar para iptables -L
, vejo isso:
Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-core_404 tcp -- anywhere anywhere multiport dports http,https
f2b-core tcp -- anywhere anywhere multiport dports http,https
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain f2b-core (1 references)
target prot opt source destination
REJECT all -- 172.16.38.1 anywhere reject-with icmp-port-unreachable
RETURN all -- anywhere anywhere
Chain f2b-core_404 (1 references)
target prot opt source destination
REJECT all -- 172.16.38.1 anywhere reject-with icmp-port-unreachable
RETURN all -- anywhere anywhere
Mas ainda não está proibindo o endereço IP. O que exatamente faz already banned
significa que, na verdade, ele ainda não foi banido? Isso é tão confuso e frustrante.
Veja como meu arquivo jail.conf
se parece:
[core]
enabled = true
filter = core
port = http,https
logpath = /home/user/Documents/rails/portal/log/devise.log
bantime = 3600
findtime = 600
maxretry = 2
[core_404]
enabled = true
filter = core_404
port = http,https
logpath = /home/user/Documents/rails/portal/log/404.log
bantime = 3600
findtime = 600
maxretry = 2
O que estou perdendo aqui?
EDITAR
Aqui está outra situação. Mesma coisa, diz já banido. Mas se eu for ao iptables, está vazio:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain f2b-core_404 (0 references)
target prot opt source destination
EDITAR
Outra coisa que eu tentei - ufw
status é 'inativo' e este é o meu iptables:
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- <my_ip> anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Ainda não está bloqueando esse endereço IP. Parece que o bloqueio de IP neste VPS DigitalOcean é impossível
Você precisará de pelo menos três logins com falha do mesmo IP para que o fail2ban proíba o IP.
Então, acontece que o iptables e o Cloudflare (e outros servidores proxy) não funcionam. iptables só vê o IP de conexão e não o IP X-Forwarded-For
Tags fail2ban