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
:
[code language="css"]$ 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
[/code]
Um dem Apachen HTTP TRACE abzugewöhnen, reicht folgende Direktive in der Hauptkonfiguration:
[code language="css"]TraceEnable off[/code]
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.



Pascal
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
Der Adminblogger
Mir erschließt sich nicht wirklich, inwiefern das ein Problem darstellt…
matthias
http://www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf