iptable rules funktioniert manchmal nur

iptable rules funktioniert manchmal nur

Ich habe die IP eines Angreifers blockiert, der mir viele UDP-Pakete gesendet hat.

iptables -I INPUT 1 -s IP_DES_ANGRIFFERS -j DROP

Diese Regel hat einwandfrei funktioniert.

iptables -nvL --line-numbers

Der 22G-Verkehr war 2-3 Tage lang blockiert:

num   pkts bytes target     prot opt in     out     source               destination
1    3203K   22G DROP       all  --  *      *       ATTACKER_IP          0.0.0.0/0

Seit 2-3 Tagen funktioniert diese Regel jedoch nicht mehr. Der Angreifer sendet UDP-Pakete und iptables blockiert sie nicht.

num   pkts bytes target     prot opt in     out     source               destination
1     707K 3553M DROP       all  --  *      *       ATTACKER_IP         0.0.0.0/0

Was könnte der Grund sein?

PS: Schlagen Sie bitte nicht vor, den Hosting-Anbieter zu kontaktieren. Wenn dieser Ihnen helfen könnte, wäre ich nicht hier :)

Bearbeiten

Ich habe Wireshark/TCPdump verwendet, um Pakete zu analysieren/aufzuzeichnen. Es zeigt, dass alle Pakete UDP sind. Ich verwende den Befehl iptables (wie oben erwähnt), um zu sehen, wie viele Daten die iptables-Regel blockiert hat. Oben sehen Sie die Ausgabe der von iptables blockierten Daten. Als iptable alle Daten blockierte, funktionierte unser Server einwandfrei.

**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

Antwort1

Ich verstehe Ihre iptables-Auflistung nicht ganz und weiß auch nicht, wie es dazu kam. Es scheint jedoch Nat- und Mangle-Tabellen zu geben, und daher ist es durchaus denkbar, dass Ihre Problempakete nicht die normale INPUT-Kette durchlaufen, sondern in der Prerouting-Phase über einen anderen Pfad durch die iptables geleitet werden (der übrigens nur einmal pro Verbindung durchlaufen würde). Sie könnten versuchen, Folgendes hinzuzufügen:

sudo iptables -t raw -A PREROUTING -s IP_OF_ATTACKER -j DROP

Ich habe dies auf meinem Testcomputer getan und es scheint einwandfrei zu funktionieren:

$ 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]
...

Hinweis: Ich habe diese gleiche Antwort auf IhrerUbuntu-Forenbeiträge.

verwandte Informationen