août 27, 2011
[Vulnerability - Apache2] — HEAD RANGE

Versions cibles : Toutes les version apache 1.3 et 2.x
Risque : DOS sur le service apache + système
Le 24 aout dernier a été publiée une vulnérabilité sur le service APACHE WEB. Celle-ci concerne toutes les versions d’apache 1.3 et 2, autant dire toutes ![]()
Description de la vulnérabilité
Pour la petite explication, la vulnérabilité se situe au niveau des entêtes HTTP sur le champ RANGE. Ce champ est utilisé lors de téléchargement de fichier sur un serveur HTTP pour segmenter celui-ci en de multiples parties de petite taille. Avec cette vulnérabilité, le champ est formatté avec un nombre incalculable d’interval (RANGE) de grande taille, ce qui provoque un DOS (Deny Of Service), et le serveur cible devient inaccessible durant l’attaque.
Test de la vulnérabilité
Pour les administrateurs Système et Sécurité, vous pourrez tester vos plateformes avec l’outil suivant : killapache.
Il s’agit d’un script perl qui va formatter une requête HTTP de manière à identifier un serveur vulnérable.
Le script nécessitera l’installation d’une dépendance pour l’exécution du script en de multiple thread.
# apt-get install libparallel-forkmanager-perl # ./killapache_pl.bin $hostname $nb_fork
Solutions palliatives
Quelques solutions ont été trouvées pour pallier ce problème en attendant les mises à jour.
- 1ère Action : limiter la longueur des entêtes, en ajoutant la ligne ci-dessous dans le vhost du site.
LimitRequestFieldSize 200
- 2nde Action : Créer une RewriteRule qui limitera le nombre de ‘RANGE’ dans les entêtes.
RewriteEngine on
RewriteCond %{HTTP:range} !(^bytes=[^,]+(,[^,]+){0,4}$|^$)
RewriteRule .* – [F]
- Dernière Action qui prendra du temps, mais permettra d’obtenir des résultats en terme de sécurité inégalables : l’installation du module MODSECURITY.
Commentaires récents