Archive

Articles taggués ‘sécurité’

Installer (d)dos.sh pour augmenter la sécurité sous linux

24/11/2013 Comments off

Les machines accessibles depuis l’Internet sont de plus en plus soumises aux attaques en tout genre et notamment des attaques dites DoS Une attaque par déni de service (denial of service attack, d’où l’abréviation DoS) est une attaque informatique ayant pour but de rendre indisponible un service, d’empêcher les utilisateurs légitimes d’un service de l’utiliser.

La plus courante étant d’envoyer un grand nombre de requêtes à un service pour le saturer.

Il existe une méthode simple de limiter ces attaques, un script sh s’executant toutes les minutes, regardant le nombre de connexions ouvertes par une adresse ip unique. Si le nombre de connexions dépasse un nombre fixé dans la configuration du script, il ajoutera une règle temporaire au Firewall empêchant cette adresse de faire des requêtes pendant une durée déterminée dans la configuration.

Pour installer un tel script, tapez les commandes suivantes :

[code]
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh
[/code]

Une fois installé, il ajoute un enregistrement dans la cron table permettent de l’executer toutes les minutes.

vous trouverez les fichiers de configuration à cet endroit /usr/local/ddos/. Le fichier ddos.conf qui contient les différents paramètres tel que NO_OF_CONNECTIONS=150 permettant de fixer la limite de connexions TCP pour une IP ainsi que le paramètre APF_BAN=0 qui doit être à 0 si vous n’utilisez pas un firewall dynamique APF.

Si vous désirez recevoir un mail lorsque le script à banni une adresse, entrez votre adresse dans le paramètre EMAIL_TO= »votreadresse ».
Le paramètre BAN_PERIOD=600 permet de déterminer le délai du bannissement en secondes.

Vous trouverez également un fichier ignore.ip.list qui comme son nom l’indique contient les adresses IP à ne pas vérifier.
Pour mon utilisation sous Centos, j’ai modifié une ligne dans le script sh qui ne donnait pas un bon résultat, j’ai donc remplacé la ligne :

[code]
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST
[/code]

par

[code]
netstat -ntu | grep ‘:’ | awk ‘{print $5}’ | sed ‘s/::ffff://’ | cut -f1 -d ‘:’ | sort | uniq -c | sort -nr > $BAD_IP_LIST
[/code]

Ce script n’est pas parfait mais à l’avantage d’être simple et permet de limiter les tentatives de ddos.

Pour plus d’informations sur les attaques DoS visitez ce site : www.digitalattackmap.com, vous serez surpris de l’ampleur du phénomène.

Pour conclure, si vous désirez désinstaller ce script :

[code]
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos
[/code]