Apache: HTTP TRACE deaktivieren
Vulnerability Scanner wie Nessus & Co. bemängeln häufig die per default aktivierte TRACE Methode des Apache Webservers. HTTP TRACE dient Diagnosezwecken und erlaubt die Rückgabe des Requests an den Client. Mithilfe dieser Methode lassen sich XSS Attacken mit dem Namen XST (Cross-Site Tracing) ausführen.
Um herauszufinden, ob eine Seite die HTTP TRACE Methode aktiviert hat, genügt ein einfacher Test mittels telnet:
$ telnet foo.com 80 Trying 127.0.0.1... Connected to foo.com. Escape character is '^]'. TRACE / HTTP/1.1 Host: foo.com X-Header: test HTTP/1.1 200 OK Date: Sat, 19 Jul 2008 14:28:21 GMT Server: Apache Transfer-Encoding: chunked Content-Type: message/http TRACE / HTTP/1.1 Host: foo.com X-Header: test
Um dem Apachen HTTP TRACE abzugewöhnen, reicht folgende Direktive in der Hauptkonfiguration:
TraceEnable off
Nach einem Reload ist HTTP TRACE deaktiviert und XST Angriffe sollten kein Problem mehr darstellen. Diese Einstellung ist einem älteren Lösungsvorschlag mithilfe von mod_rewrite auf jeden Fall vorzuziehen.
Nutzt man einen anderen Webserver, sollte man auch hier über die Abschaltung der unliebsamen HTTP TRACE Methode nachdenken. Übrigens scheint lighttpd noch kein HTTP TRACE implementiert zu haben – es besteht somit auch kein Handlunsbedarf bei dem noch jungen Webserver.



19. Juli 2008 um 17:29
Guter Hinweis. Hab’s gleib mal getestet und schon beim ersten Testserver war es bis dato aktiv. Nachdem ich es jetzt entsprechend deinen Angaben deaktiviert hatte, ist diese mögliche Sicherheitslücke auch nicht mehr vorhanden. Danke!
Gruß
Pascal
19. Juli 2008 um 18:22
Mir erschließt sich nicht wirklich, inwiefern das ein Problem darstellt…
19. Juli 2008 um 20:33
http://www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf
14. November 2008 um 15:56
[...] Im Falle einer “200″ wurde die Anfrage beantwortet. Dann kann mit der Anleitung, die z.B. auf dem Adminlife-Blog veröffentlicht wurde TRACE abgeschaltet [...]