5 mesures à prendre d'urgence en cas d'attaque contre votre site

Cet article explique comment réagir face à une suspicion d’attaque contre votre site internet hébergé sur un serveur linux en supposant que vous disposez d’un accès administrateur (root) sur celui-ci.
I. Détecter le nombre de paquets perdus
La première étape est de tester l’accessibilité de votre site internet. Un site difficilement accessible peut être la conséquence d’une attaque. Utilisez la commande PING pour mesurer la disponibilité de votre site ou serveur à partir d’une machine distante reliée au réseau.
A partir d’un terminal linux:
[root]# Ping -c 20 monsite.fr
(le paramètre c indique le nombre de demandes d’écho à envoyer)
A partir d’une machine Windows : Ouvrez la fenêtre d’invite de commande Windows en pressant les touches Windows + R, puis exécutez la commande CMD.
Ping -n 20 monsite.fr
(le paramètre n indique le nombre de demandes d’écho à envoyer)
Si les statistiques montrent un pourcentage important de paquets perdus, il est probable qu’il se passe quelque chose d’inhabituelle sur votre serveur.
II. Vérifier le nombre de tâches et la charge de votre serveur
Une fois connecté en administrateur, vous devez vérifier que votre serveur n’est pas victime d’une surcharge. Pour ce faire, vous disposez de deux indicateurs : le nombre de taches exécutées, et la charge moyenne du serveur. (load average)
La commande « Uptime » permet d’afficher la charge moyenne. Un résultat correct ne devrait pas excéder 3.00.
[root]# uptime
09:19:18 up 10 days, 12:44, 1 user, load average: 0.10, 0.09, 0.09. (ici 0.10)
La commande PS permet d’afficher le nombre de tâches exécutées à l’instant T :
[root]# ps -edf | wc -l
Si le résultat est largement supérieur à la normale, alors il est probable que votre serveur subisse une attaque.
Vous pouvez affiner votre recherche en filtrant seulement les taches exécutées par votre serveur http (ici apache).
[root]# ps -edf | grep " /usr/sbin/httpd" | wc -l
III. Déterminer la source de l’attaque
La commande « netstat » vous permet de détecter les IP d’où proviennent l’attaque en affichant le volume des requêtes par IP.
[root]# netstat -np | grep 'httpd' | sed -n -e '/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/p' | awk '{print $5}' | sed 's/::ffff://' | cut -d: -f1 | sort | uniq -c | sort -n
2 141.255.109.124
4 85.110.133.235
100 93.40.214.238
200 95.223.74.237
Le premier nombre affiche le volume des requêtes. Dans notre exemple, L’IP 95.223.74.237 avec 200 requêtes, et l’ IP 93.40.214.238 avec 100 requêtes sont suspectes.
IV. Bannir les IP à l’origine de l’attaque
Une fois les IP coupables détectées, vous pouvez les bannir avec la commande « iptables ».
Bannir l’IP 95.223.74.237 :
[root]# /sbin/iptables -I INPUT -s 95.223.74.237 -j DROP
L’IP sera bannie jusqu’au redémarrage du serveur. Vous pouvez annuler le bannissement avec la commande suivante :
[root]# /sbin/iptables -D INPUT -s 95.223.74.237 -j DROP
Pour lister les IP bannies, utilisez la commande suivante :
[root]# /sbin/iptables -L INPUT -v -n | grep DROP
V. Sécuriser votre server linux en installant RK Hunter
Rk Hunter est un logiciel chasseur de rootkit. Un rootkit est un petit programme généralement malveillant dissimulé dans les commandes du système linux afin de cacher sa présence. Le rootkit ouvre généralement un accès à votre serveur (cheval de Troie) au pirate souhaitant prendre le contrôle de votre serveur.
Rk Hunter va scanner votre système afin de détecter ce genre de programme en comparant les exécutables connus de votre système avec une base en ligne. Pour plus d’information sur RKhunter, veuillez consulter la documentation.
Installer RK Hunter avec yum (centOS) :
[root]# sudo yum install rkhunter
Exécuter RkHunter et analyser le système :
[root]# sudo rkhunter --check --sk
Il est conseillé d’exécuter RKhunter dès l’installation du serveur.
N'hésitez pas à partager ce document et à l'ajouter à vos favoris. Il vous sera utile pour déjouer les attaques subies par votre site.