Par défaut, Apache 2.0.52 répond à toute requête HTTP TRACE qu'il reçoit. Ceci est un problème de sécurité potentiel car il peut autoriser certains types d'attaques XSS. Pour plus de détails, voir http://www.apacheweek.com/issues/03-01-24#newsDésactivation de la méthode de requête TRACE sous Apache/2.0.52
J'essaie de désactiver les requêtes TRACE en suivant les instructions affichées sur la page liée à ci-dessus. J'ai ajouté les lignes de code suivantes à mon dossier http.conf et remis en marche apache:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
Cependant, quand j'envoie une demande de TRACE à mon serveur web, il semble ignorer les règles de réécriture et répond comme si TRACE les demandes étaient toujours activées.
Par exemple:
[[email protected] ~]$ telnet XXXX.com 80
Trying XXXX...
Connected to XXXX.com (XXXX).
Escape character is '^]'.
TRACE/HTTP/1.0
X-Test: foobar
HTTP/1.1 200 OK
Date: Sat, 11 Jul 2009 17:33:41 GMT
Server: Apache/2.0.52 (Red Hat)
Connection: close
Content-Type: message/http
TRACE/HTTP/1.0
X-Test: foobar
Connection closed by foreign host.
Le serveur doit répondre avec 403 Forbidden. Au lieu de cela, il fait écho à ma demande avec un 200 OK.
En tant que test, j'ai changé le RewriteCond à% {REQUEST_METHOD}^GET
Quand je fais cela, Apache répond correctement à toutes les requêtes GET avec 403 Forbidden. Mais quand je change de TRACE, il laisse passer les requêtes TRACE. Comment puis-je faire en sorte qu'Apache cesse de répondre aux demandes TRACE?
Apache 2.0.52 ne prend pas en charge la directive TraceEnable –