Désactiver la méthode HTTP TRACE sous Apache 2

I. Présentation

La méthode HTTP TRACE est une méthode souvent utilisée pour le débogage ou la recherche d'information. Celle-ci permet en effet de retourner au client exactement ce que le serveur à reçu. On peut alors détecter des changements d'information ou des informations permettant de comprendre les éventuelles modifications faites sur les headers par des proxy par exemple. Lorsque l'on fait un scan de site avec des outils comme Nitko, il est fréquent que celui-ci remonte une alerte concernant l'existence de la prise en compte de la méthode HTTP TRACE qui présente une vulnérabilité de type XST ( Cross-Site-Tracing ).

C'est pourquoi nous allons ici voir comment désactiver la prise en compte de la méthode HTTP TRACE. Les attaques XST utilisent la présence de la prise en compte de la méthode HTTP  TRACE et d'une faille de type XSS pour que le pirate récupère le retour de la méthode TRACE par exemple. Pour exemple, voici le retour d'une commande TRACE en ligne de commande, il est également fréquent que l'on envoie le contenu des Cookies aux sites web, ce contenu est également renvoyé par la méthode TRACE :

TRACEHHTP01
Résultat d'une requête HTTP TRACE avec envoi de Cookie.

Au travers une attaque XST, le pirate va donc chercher à récupérer les informations envoyées au serveur par le client comme éventuellement les Cookies.

II Désactivation de la méthode TRACE sous Apache

La meilleure façon de se protéger de ce genre d'attaque est bien sûr de refuser tout simplement de répondre aux méthodes HTTP TRACE. Apache inclue cette possibilité, il faut pour cela s'assurer que la ligne suivante est bien présente dans "/etc/apache2/conf.d/security" :

TraceEnable Off

Après redémarrage du service apache2 ("service apache2 restart"), nous aurons un accès refusé, erreur http 403 si l'on souhaite utiliser la méthode TRACE. Il est à noter que cette option de désactivation de la méthode par la configuration d'Apache a été incluse à partir des versions 1.3.4 et est valable également pour la version 2.0, 2.2 et suivantes. Pour information, on utilisait avant l'intégration de cette option dans la configuration d'Apache une réécriture pour interdire l'utilisation de la méthode TRACE :

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]

 

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d’IT-Connect.fr et d’Information-security.fr.
Auditeur sécurité chez Amossys.

    mickael a publié 477 articles sur IT-Connect.See all posts by mickael

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *