Bonjour à tous,

 

Aujourd’hui, on va voir comment installer le script DDOS Deflate sur un serveur CentOs6.

 

Avant tout, Deflate est un « vieux » programme qui ne semble plus être mis à jour et qui ne fonctionne pas sur CentOs 6 sans quelques modifications.

Toutefois, après résolutions de quelques petites erreur (nom du service cron, et shell d’exécution du script) j’ai réussi à le rendre fonctionnel et il est quand même très efficace donc je vous partage mes configurations.

 

Installation de DDOS Deflate :

J’ai créer mon propre fork de DDOS Deflate, spécialement pour CentOs 6, tout est disponible sur mon github.

On installe Deflate avec ce script :

wget -O- https://raw.githubusercontent.com/stylersnico/DDOS-Deflate-for-CentOs-6/master/install.sh | sh

 

 

 

Lancement de DDOS Deflate :

Le script est automatiquement lancé et configuré lors de l’installation et si tout fonctionne bien vous devriez avoir quelque chose comme cela qui est passé dans votre shell :

 

Creating cron to run script every minute.....(Default setting)
Arrêt de crond : [  OK  ]
Démarrage de crond : [  OK  ]
Arrêt de crond : [  OK  ]
Démarrage de crond : [  OK  ]
.....done

 

Maintenant, lancez la commande suivante :

/usr/local/ddos/ddos.sh

 

Cette commande devrait vous sortir le même résultat :

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | grep -v -e server -e Address -e 127.0.0.1 -e 0.0.0.0

 

Par exemple pour moi :

[root@vps74887 ~]# /usr/local/ddos/ddos.sh
      1 92.222.160.96
      1 86.209.148.91
      1 serveurs)
      1 Address
[root@vps74887 ~]# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | grep -v -e server -e Address -e 127.0.0.1 -e 0.0.0.0
      1 92.222.160.96
      1 86.209.148.91
      1 serveurs)
      1 Address
[root@vps74887 ~]#

 

Si tout est bon, votre DDOS Deflate devrait marcher.

 

 

Test de fonctionnement :

Je vais me servir d’Apache Bench sur un serveur distant pour voir le comportement du serveur de test avec la commande suivante :

ab -n 200000 -c 100 http://92.222.160.139/

 

Voici le résultat :

root@vps-1184:~# ab -n 200000 -c 100 http://92.222.160.139/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 92.222.160.139 (be patient)
apr_poll: The timeout specified has expired (70007)
root@vps-1184:~#

 

La bestiole peut être un peu longue à la détente vu que le script s’exécute 1 fois par minute, mais ça marche.

Maintenant on rentre cette commande (185.13.37.47 était l’ip de mon serveur qui lançait l’attaque) :

iptables -L INPUT -v -n | grep "185.13.37.47"

 

Et voici le résultat :

[root@vps74887 ~]# iptables -L INPUT -v -n | grep "185.13.37.47"
  500 30000 DROP       all  --  *      *       185.13.37.47         0.0.0.0/0

 

Et lorsque j’essaye de relancer une attaque :

>root@vps-1184:~# ab -n 200000 -c 100 http://92.222.160.139/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 92.222.160.139 (be patient)
apr_poll: The timeout specified has expired (70007)
root@vps-1184:~#

 

Et le top c’est que le processeur n’est pas du tout utilisé ! Voyez par vous même :

ddos-deflate-centos-6

 

 

Pas mal non ?

Mais le problème c’est qu’il faudra au maximum 1 minute au système pour se déclencher en cas d’attaque. C’est court, mais sur certains serveurs peu puissant c’est suffisant pour crashé le système alors si vous souhaitez protéger un serveur web par exemple, je vous conseille de suivre cet article en supplément, comme ça Nginx pourra mitiger l’attaque avant qu’elle soit définitivement bloquée par iptables.