Bloqueei um IP invasor que estava me enviando muitos pacotes UDP.
iptables -I ENTRADA 1 -s IP_OF_ATTACKER -j DROP
Esta regra estava funcionando bem.
iptables -nvL --line-numbers
O tráfego 22G foi bloqueado por 2 a 3 dias:
num pkts bytes target prot opt in out source destination
1 3203K 22G DROP all -- * * ATTACKER_IP 0.0.0.0/0
No entanto, nos últimos 2 a 3 dias, esta regra não funciona mais. O invasor está enviando pacotes UDP e o iptables não os está bloqueando.
num pkts bytes target prot opt in out source destination
1 707K 3553M DROP all -- * * ATTACKER_IP 0.0.0.0/0
Qual seria a razão?
PS: Por favor, não sugira entrar em contato com o provedor de hospedagem se eles pudessem ajudar, eu não estaria aqui :)
Editar
Usei wireshark/tcpdump para analisar/capturar pacotes. Mostra que todos os pacotes são UDP. Eu uso o comando iptables (como mencionado acima) para ver quantos dados a regra iptables bloqueou. Acima está a saída dos dados bloqueados do iptables. Quando o iptable estava bloqueando todos os dados, nosso servidor estava funcionando bem.
**IP Table rules**
# Generated by iptables-save v1.4.21 on Mon Jun 15 23:26:40 2015
*raw
:PREROUTING ACCEPT [8393:667810]
:OUTPUT ACCEPT [7043:795032]
COMMIT
# Completed on Mon Jun 15 23:26:40 2015
# Generated by iptables-save v1.4.21 on Mon Jun 15 23:26:40 2015
*nat
:PREROUTING ACCEPT [2517:112725]
:INPUT ACCEPT [2517:112725]
:OUTPUT ACCEPT [1018:179752]
:POSTROUTING ACCEPT [1018:179752]
COMMIT
# Completed on Mon Jun 15 23:26:40 2015
# Generated by iptables-save v1.4.21 on Mon Jun 15 23:26:40 2015
*mangle
:PREROUTING ACCEPT [8393:667810]
:INPUT ACCEPT [8393:667810]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [7043:795032]
:POSTROUTING ACCEPT [7043:795032]
COMMIT
# Completed on Mon Jun 15 23:26:40 2015
# Generated by iptables-save v1.4.21 on Mon Jun 15 23:26:40 2015
*filter
:INPUT ACCEPT [23:1500]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [18:2068]
:fail2ban-ssh - [0:0]
-A INPUT -s xx.xxx.xx.xx/32 -j DROP
COMMIT
# Completed on Mon Jun 15 23:26:40 2015
Responder1
Não entendo completamente sua listagem de iptables ou como isso aconteceu. No entanto, parece haver tabelas nat e mangle e, portanto, é inteiramente concebível que seus pacotes problemáticos não atravessem a cadeia INPUT normal, mas sejam direcionados através do iptables através de outro caminho no estágio de pré-roteamento (que só seria percorrido uma vez por conexão, aliás). Você pode tentar adicionar:
sudo iptables -t raw -A PREROUTING -s IP_OF_ATTACKER -j DROP
Fiz isso no meu computador de teste e parece estar funcionando bem:
$ sudo iptables-save -c
# Generated by iptables-save v1.4.21 on Tue Jun 16 11:12:51 2015
*raw
:PREROUTING ACCEPT [40:2664]
:OUTPUT ACCEPT [33:4520]
[31:2696] -A PREROUTING -s 192.168.111.103/32 -j DROP
COMMIT
# Completed on Tue Jun 16 11:12:51 2015
# Generated by iptables-save v1.4.21 on Tue Jun 16 11:12:51 2015
*nat
:PREROUTING ACCEPT [15:1344]
...
Nota: postei esta mesma resposta no seuPostagem em fóruns do Ubuntu.