Sugiro aprender sobre ipset
.
E, de forma semelhante à situação do UFW, iptables -A
acrescenta uma nova regra no final da cadeia do netfilter. O que significa que, se houvesse uma regra de correspondência antes das regras que você adicionou, suas regras não serão acionadas.
Então, no seu caso, você deveria ter entrado
iptables -I INPUT -s xxx.xxx.xxx.xxx -j DROP
que, por padrão, insere a regra na primeira posição da cadeia.
Verifique a cadeia completa usando o comando iptables-save
.
Agora, alterar a cadeia de regras do iptables toda vez que você receber um ataque será muito problemático e repleto de perigos, especialmente porque você está usando um 'DROP de manta'. Além disso, a necessidade de ter que excluir as regras.
Então, use ipset
. Aqui está um bom guia com ótimos exemplos e algumas análises sobre o impacto no desempenho:
A principal coisa a fazer é inserir esses dois comandos:
ipset create blacklist hash:ip hashsize 4096
iptables -I INPUT -m set --match-set blacklist src -p TCP \
--destination-port 80 -j DROP
Agora, você pode simplesmente adicionar endereços IP suspeitos ao conjunto blacklist
e nunca mais precisar lidar com a ordem de processamento de regras novamente.