在2.2.3上禁用TRACE方法

时间:2012-08-22 13:48:51

标签: http xss trace apache

所以我试图在Apache中禁用TRACE方法,这也是这个问题Disabling TRACE request method on Apache/2.0.52中的问题。

我在VirtualHost块,目录块,.htaccess文件等中尝试过重写规则。此外,httpd.conf中的TraceEnable Off选项不起作用。

这是我的测试结果:

[root@localhost user]# nc www.domain.com 80
TRACE / HTTP/1.1
Host: www.domain.com
VAR1:test

HTTP/1.1 200 OK
Date: Wed, 22 Aug 2012 13:37:38 GMT
Server: Apache/2
Transfer-Encoding: chunked
Content-Type: message/http

3c
TRACE / HTTP/1.1
Host: www.domain.com
VAR1: test

0

重写规则是:

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]

任何可能出错的线索?

干杯!

2 个答案:

答案 0 :(得分:4)

对于apache2,可以在主httpd.conf文件中添加以下内容:

TraceEnable off

您可以使用Curl测试Trace是否开启/关闭,例如:

curl -v -X TRACE http://www.yourserver.com

参考:http://www.ducea.com/2007/10/22/apache-tips-disable-the-http-trace-method/

答案 1 :(得分:0)

此配置更改适用于“Apache / 2.2.3(Linux / SUSE)”/ CENTOS

编辑文件 / etc / sysconfig / apache2 查找下面的行,并在末尾添加重写。它将加载模块“mod_rewrite.so”。解释,在CENTOS中,LoadModule配置文件(/etc/apache2/sysconfig.d/loadmodule.conf)被/ usr / sbin / rcapache2覆盖

APACHE_MODULES="apparmor actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 rewrite"

/etc/apache2/httpd.conf.local 中添加/替换以下IfModule语句,以避免在未加载模块时抛出错误。

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_METHOD} ^TRACE
    RewriteRule .* - [F]
</IfModule>

要测试,您可以转到http://web-sniffer.net/并选择TRACE单选按钮。如果有效,您应该看到状态:HTTP / 1.1 403禁止