So blockieren Sie Denial of Service (DoS) mit einer Nullroute

hohe Belastung des Servers

In diesem Artikel wird beschrieben, wie ich die Denial of Service (DoS) -IP und die http://en.wikipedia.org/wiki/Null__route [null Route herausfinde, um das Problem mit der hohen Last auf meinem Server zu lösen.

1. Hohe Last

In letzter Zeit hat der Server eine ungewöhnlich hohe Last erreicht, die CPU-Auslastung trifft durchschnittlich auf 15-20%.

#top

load average: 15.08, 18.30, 20.63

2. Wer ist verbunden?

Nicht sicher, ob dies ein DOS-Angriff ist oder nur eine einzelne IP-Adresse die Verbindung missbrauchen?

Geben Sie den folgenden Befehl ein, um eine Verknüpfung herzustellen://linux/list-all-ip-address -connected-to-your-server/[listet alle IP-Adressen auf, die mit meinem Server verbunden sind].

#netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

     215 122.163.226.243
     189 114.198.236.100
     156 120.63.179.245
     38 141.0.9.20
     37 49.248.0.2
     37 153.100.131.12
     31 223.62.169.73
     30 65.248.100.253
     29 203.112.82.128
     29 182.19.66.187

Unter 3 IPs werden mehr als 150 Verbindungen benötigt, was wirklich ungewöhnlich ist. Was versuchen sie zu tun?

 215 122.163.226.243
 189 114.198.236.100
 156 120.63.179.245

__P.S Google über IPs, davon 2 aus Indien, 1 aus Pakistan

3. Nullroute

Ich glaube, dass über 3 IPs die Hauptursache für das Problem der hohen Last sind. Lassen Sie diese IPs mit Null routen, sodass alle eingehenden Verbindungen von diesen 3 IPs verworfen oder ignoriert werden.

null route command

route add 122.163.226.243 gw 127.0.0.1 lo
route add 114.198.236.100 gw 127.0.0.1 lo
route add 120.63.179.245 gw 127.0.0.1 lo

Alternativer Befehl Sie können den folgenden Befehl auch verwenden, um die IP-Adressen mit Nullen zu routen. Beide machen dasselbe.

route add -host 122.163.226.243 reject
route add -host 114.198.236.100 reject
route add -host 120.63.179.245 reject

Verwendet netstat -nr , um alle Routen anzuzeigen, um sicherzustellen, dass sie der Routentabelle hinzugefügt werden.

# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
114.198.236.100 127.0.0.1       255.255.255.255 UGH       0 0          0 lo
120.63.179.245  127.0.0.1       255.255.255.255 UGH       0 0          0 lo
122.163.226.243 127.0.0.1       255.255.255.255 UGH       0 0          0 lo

Fertig, warten Sie einige Sekunden und überprüfen Sie die Serverlast erneut.

#top

load average: 1.08, 5.30, 30.63

Überprüfen Sie erneut alle verbundenen IP-Adressen.

#netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

     40 141.0.9.20
     37 49.248.0.2
     36 153.100.131.12
     31 223.62.169.73
     25 65.248.100.253
     29 203.112.82.128
     29 182.19.66.187
     38 142.0.9.20
     28 141.121.9.20
     38 141.0.9.201

Erledigt.

4. Nullroute löschen

Um vorhandene Null-Route-IPs zu löschen, verwenden Sie "route delete".

route delete 122.163.226.243
route delete 114.198.236.100
route delete 120.63.179.245

Referenzen

  1. null Route in Wikipedia

  2. link://linux/list-all-ip-adressen-verbunden mit Ihrem Server/[Alle auflisten

DoS/DDoS-Minderung mit der CSF-Firewall]

Link://Tag/dos/[DoS]Link://Tag/IP-Adresse/[IP-Adresse] null-route