Prévenir les dénis de service pour Apache

A l'occasion de pointes d'audience ou d'attaques de dénis de service, il peut arriver que votre serveur Apache s'effondre. Un script planifié vous permettra le redémarrage automatique du service concerné.

Script de redémarrage automatique du serveur Apache sous CentOS

Créez le fichier en mode root dans le répertoire de votre choix.

#!/bin/bash # Première proposition # Comptage du nombre de processus retournés par grep if((`ps aux|grep httpd|wc -l`<2)) then # Redémarrage du process Apache /etc/init.d/httpd start fi # Deuxième proposition cumulable avec la première # Test sur la présence du fichier pid if [ ! -e /var/run/httpd.pid ] then # Redémarrage du process Apache /etc/init.d/httpd start fi

Planifier l'exécution du script

Vous devez tout d'abord rendre exécutable le script précédent par la commande chmod +x dos-httpd, si vous avez choisi de sauvegarder ce script sous le nom dos-httpd. A l'aide de la commande crontab -e, ajoutez alors à la fin de fichier :

*/1 * * * * /root/dos-httpd

Dans l'exemple, le script dos-httpd a été sauvegardé dans le dossier /root. En cas de déni de service, le serveur Apache sera automatiquement démarré au bout d'une minute.

Dsfc Dsfc

Prévenir les dénis de service pour Apache
4 votes, 4.00 avg. rating (82% score)
Tags : , , , , , ,
Commentaires

Bonjour,

Pourquoi ne pas utiliser monit ?

Oui, en effet, pourquoi pas ? Mais vous ne trouvez pas qu’un script est beaucoup plus simple ?

Salut,

Une petite explication des éléments du script aurait été la bienvenue…

Sinon, quid du fait qu’un attaque DoS peut être très longue et donc, tendre à exécuter et relancer le serveur mainte et mainte fois ?

Y a moyen de faire un test sur le nombre de requêtes reçu avant de lancer le script ?

Si votre service apache tombe, alors il faudra fortement vous inquiétez, et agir car la solution de redémarrage automatique ne résoudra pas le temps d’indisponibilité.
Dans un premier temps il est nécessaire de revoir vos réglages, surtout ceux du RequestReadTimeout, TimeOut, KeepAliveTimeout, et installer un bon vieux module mod_evasive.
Mais cette solution ne permettra pas d’importer une stabilité parfaite de votre serveur, car il travaillera au temps pour stopper toutes ces attaques.
Le meilleur moyen est de passer sur un routeur type ASA de chez CISCO qui redirigera lui-même tous les mauvais paquets, à ce jour on peut trouver des neufs à des prix très intéressant, à condition que vous ailliez vos propres serveurs.

Sylvain

@Sylvain

Tout cela est déjà installé et configuré. Mais, comme vous le savez, les attaques en dénis de service sont toujours possibles. Croire que nous serions omniscients et omnipotents me semble une vue de l’esprit. Certains de nos congénères peuvent aussi croire en CISCO Dieu. ;+)

@Rod

J’ai ajouté quelques lignes.

Laisser un commentaire

(requis)

(requis)


*