Apache Web Server: Disable HTTP TRACE
Einige Sicherheitstestwerkzeuge "meckern" wenn auf einem Apache Webserver die Methode "Track/Trace" eingeschaltet ist. In der Standardkonfiguration ist dies der Fall.
Die Methode HTTP TRACE wird eigentlich dazu benutzt um debugging Informationen zu bekommen. Es ist kein direktes Sicherheitsloch aber in manchen Szenarien kann diese Methode wohl für cross-site scripting verwendet werden. Bei Produktionsservern wird dazu geraten dies nicht zu verwenden.
Mit Telnet kann man recht einfach prüfen ob dies der Fall ist
$ telnet 192.168.221.15 80
Trying 192.168.221.15...
Connected to 192.168.221.15.
Escape character is '^]'.
dann diesen String einfügen
TRACE / HTTP/1.0
und zweimal enter drücken
HTTP/1.1 200 OK Date: Wed, 14 Sep 2011 19:50:45 GMT Server: Apache Connection: close Content-Type: message/http TRACE / HTTP/1.0 Connection closed by foreign host.
Durch eine einfachen Konfigurationsschalter kann man dies ausschalten
vi /etc/apache2/apache2.conf TraceEnable off /etc/init.d/apache2 restart
Es gibt auch eine Methode dies auf virtueller Serverebene einzustellen die ich aber nicht verwende wenn ich es "auf einmal für alle" machen kann.
So sieht es aus wenn es ausgeschaltet wird
telnet 192.168.221.15 80 Trying 192.168.221.15... Connected to 192.168.221.15. Escape character is '^]'. TRACE / HTTP/1.0 HTTP/1.1 405 Method Not Allowed Date: Wed, 14 Sep 2011 19:52:01 GMT Server: Apache Allow: Vary: Accept-Encoding Content-Length: 288 Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>405 Method Not Allowed</title> </head><body> <h1>Method Not Allowed</h1> <p>The requested method TRACE is not allowed for the URL /.</p> <hr> <address>Apache Server at 761X Port 80</address> </body></html> Connection closed by foreign host.