Comment bloquer un déni de service avec une route nulle

charge élevée du serveur

Cet article décrit comment trouver l’adresse IP du déni de service (DoS) et null , afin de résoudre le problème de charge élevée sur mon serveur.

1. Charge élevée

Récemment, le serveur a rencontré une charge anormalement élevée, avec une utilisation moyenne du processeur, de 15 à 20% en moyenne.

#top

load average: 15.08, 18.30, 20.63

2. Qui est connecté?

Vous ne savez pas s’il s’agit d’une attaque DOS ou si une seule IP abuse de la connexion?

#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

Au-dessous de 3 IP prennent 150 connexions, ce qui est vraiment anormal, que tentent-ils de faire?

 215 122.163.226.243
 189 114.198.236.100
 156 120.63.179.245

P.S Google ci-dessus IPs, 2 sont de l’Inde, 1 du Pakistan.

3. route nulle

Je pensais que plus de 3 adresses IP étaient la cause première du problème de charge élevée. Laissons null la route à ces adresses IP afin que toutes les connexions entrantes provenant de ces 3 adresses IP soient abandonnées ou ignorées.

commande null route

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

Commande alternative Vous pouvez également utiliser la commande suivante pour acheminer les adresses IP par null, les deux font la même chose.

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

Utilise netstat -nr pour afficher tous les itinéraires, pour s’assurer qu’il est ajouté à la table des itinéraires.

# 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

Terminé, attendez quelques secondes et vérifiez à nouveau le chargement du serveur, il est maintenant revenu à la normale

#top

load average: 1.08, 5.30, 30.63

Vérifiez à nouveau toutes les adresses IP connectées, les adresses IP de ces attaquants ont disparu:

#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

Terminé.

4. Supprimer la route nulle

Pour supprimer les adresses IP de route nulles existantes, utilisez route delete .

route delete 122.163.226.243
route delete 114.198.236.100
route delete 120.63.179.245

Références

  1. null route in wikipedia

  2. link://linux/list-all-ip-adresses-connectés-à-votre-serveur/[List all

Atténuation DoS/DDoS avec le pare-feu CSF]

lien://tag/dos/[DoS]lien://tag/adresse-ip/[adresse ip] route null