Apache : désactiver l'option TRACE
La méthode HTTP TRACE renvoie au client la requête exacte qu’il a envoyée, en écho. Conçu pour le debug, c’est une porte pour le XST (Cross-Site Tracing): un JavaScript sur une page compromise peut utiliser TRACE pour lire les cookies HttpOnly via les headers de la requête. IE6 le permettait, Firefox aussi.
Le test:
$ telnet mondomaine.fr 80
TRACE / HTTP/1.1
Host: mondomaine.fr
HTTP/1.1 200 OK
TRACE / HTTP/1.1
Host: mondomaine.fr
...
Si vous voyez votre requête en écho, TRACE est activé.
La correction dans Apache:
TraceEnable off
Une ligne dans le VirtualHost ou dans httpd.conf. Le résultat: 405 Method Not Allowed.
Pour les versions d’Apache qui ne supportent pas TraceEnable (< 1.3.34, < 2.0.55), la solution est le mod_rewrite:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
[edit: 2026] TraceEnable est le défaut dans Apache 2.2+. Le XST est moins pertinent maintenant que les navigateurs modernes empêchent TRACE via XMLHttpRequest, mais le test reste valable sur les vieux serveurs. Le réflexe de l’audit: curl -X TRACE mondomaine.fr -i et vérifier le 405.