Filtre anti-DDoS générique

On le sait tous, le DDoS c’est une plaie ! Il y a en même temps mille et aucune manière de s’en prémunir réellement, et finalement, de la même manière que la meilleur prévention contre le SIDA est l’abstinence, la meilleure prévention contre le DDoS, est de n’être pas connecté au réseau… facile à dire.

On a déjà vu que Fail2Ban apporte quelques solutions contre ce type d’attaque, mais ce n’est pas forcément suffisant. Je vous propose donc ici une configuration de iptables qui tachera de filtrer et de bloquer les DDoS.

#! /bin/bash

MAXHIT=30
BURST=40

# créé une nouvelle chaine iptables
iptables -N seuil

# definir les limites de trafic au delà desquelles on vire les paquets
# vérifie que le paquet entre dans les limites et l'accepte
# puis stocke l'ip dans une table de hash pendant 1mn pour comparaison ultérieure
iptables -A seuilattaque -m hashlimit \
 --hashlimit-name seuil \
 --hashlimit-upto $MAXHIT/minute \
 --hashlimit-mode srcip \
 --hashlimit-burst $BURST \
 --hashlimit-htable-expire 60000 \
-j ACCEPT

# si le paquet est hors limite, il est dropé
iptables -A seuil -j DROP

# passer tout le trafic dans le chaine seuil
iptables -A INPUT -p -tcp --dport 80 -j seuil

Il ne vous reste plus ensuite qu’à lancer ce script au démarrage en renseignant son path dans /etc/rc.local. Et n’oubliez pas de le rendre exécutable ;)

– Commentaires

Rejoignez la discussion !

Vous pouvez utiliser Markdown pour les liens [ancre de lien](url), la mise en *italique* et en **gras**. Enfin pour le code, vous pouvez utiliser la syntaxe `inline` et la syntaxe bloc

```
ceci est un bloc
de code
```