我在suse Linux中安装了Apache 2.2.22。我希望在Apache中禁用跟踪和跟踪,并使用1- TraceEnable Off和2- RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] .
但两种方法都不起作用。
cgfeq70w1#
在Apache 2中,您可以只在httpd.conf(文件结尾)中添加TraceEnable Off
TraceEnable Off
要检查“跟踪”是否打开/关闭,可以使用“ curl ”:
curl -v -X TRACE http://www.yourserver.com
643ylb082#
您需要将TraceEnable Off放在httpd.conf中
wsewodh23#
要禁用这些方法,请在配置文件中为每个虚拟主机添加以下行:
RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F]
nessus说)))
fiei3ece4#
对于Apache HTTPD 2.4:Require not method TRACE TRACK请参阅“需要指令”
Require not method TRACE TRACK
mec1mxoz5#
除非安装了支持TRACK的模块,否则Apache默认不支持TRACK,因此只需要具有指令:
但是,对于腰带和吊带的方法,还应添加:
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) [NC] RewriteRule ^.* - [F]
这将禁用TRACE和TRACK。
0h4hbjxa6#
View Demo Trace Using SSH CommandTRACE在apache安装中默认是启用的。有两种方法可以补救。第一种方法可以在运行Apache 1.3.34、2.0.55或2.2版本中的任何版本时使用。只需将TraceEnable指令添加到httpd.conf中,并将值设置为Off。
在httpd.conf中添加以下行首先要做的是确保mod_rewrite已经加载。如果mod_rewrite. so在apache配置中丢失,但是您已经安装了它(并且您的安装位置是/usr/local/apache),那么请将下面的语句添加到您的httpd.conf中:
LoadModule rewrite_module "/usr/local/apache/modules/mod_rewrite.so"
然后将以下内容也添加到您的httpd.conf文件中:
RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F]
使用 curl 命令测试curl -v -X跟踪
iyfjxgzm7#
我知道这里已经有了一些答案,但我想我应该插话,并添加一些额外的选项。Slipstream的方法无疑是这里最简单的方法,所以如果您正在寻找一种快速而简单的解决方法,那么这就是您的金矿。
TraceEnable
正如这里的一些人提到的,在Apache2中,可以将TraceEnable指令附加到httpd.conf或apache2.conf文件的末尾:
httpd.conf
apache2.conf
您还可以向VirtualHost添加重写配置,以显式阻止TRACK和TRACE请求:
VirtualHost
TRACK
TRACE
<IfModule mod_rewrite.c> RewriteEngine On RewriteCondition %{REQUEST_METHOD} ^(TRACE|TRACE) RewriteRule . * - [F] </IfModule>
在这种配置下,Apache会捕获所有的TRACK和TRACE请求,并返回一个403 Forbidden错误。
403 Forbidden
但是,我还没有看到其他人建议显式地传递您希望允许的方法。这是一个稍微更严格的修复,并且是PCI兼容性所必需的:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_METHOD} !^(GET|POST|HEAD) RewriteRule .* - [F] </IfModule>
这将拒绝任何使用未在指令中指定的方法的请求。同样,原始请求内容不会被回显,服务器返回403 Forbidden错误。需要记住的是,对于生产系统,RewriteEngine可能会占用大量处理器资源。这通常不是什么大问题,因为增加的时间可能是毫秒(如果不是微秒的话),但如果有大量的重写,则需要注意这一点。
rewrite_module
LoadModule
AddModule
oalqel3c8#
您还可以使用apache 2.3+中的mod_allowmethod
<Location "/"> AllowMethods GET POST OPTIONS </Location>
https://httpd.apache.org/docs/2.4/mod/mod_allowmethods.html
8条答案
按热度按时间cgfeq70w1#
在Apache 2中,您可以只在httpd.conf(文件结尾)中添加
TraceEnable Off
要检查“跟踪”是否打开/关闭,可以使用“ curl ”:
643ylb082#
您需要将
TraceEnable Off
放在httpd.conf中wsewodh23#
要禁用这些方法,请在配置文件中为每个虚拟主机添加以下行:
nessus说)))
fiei3ece4#
对于Apache HTTPD 2.4:
Require not method TRACE TRACK
请参阅“需要指令”
mec1mxoz5#
除非安装了支持TRACK的模块,否则Apache默认不支持TRACK,因此只需要具有指令:
但是,对于腰带和吊带的方法,还应添加:
这将禁用TRACE和TRACK。
0h4hbjxa6#
View Demo Trace Using SSH Command
TRACE在apache安装中默认是启用的。有两种方法可以补救。第一种方法可以在运行Apache 1.3.34、2.0.55或2.2版本中的任何版本时使用。只需将TraceEnable指令添加到httpd.conf中,并将值设置为Off。
在httpd.conf中添加以下行
首先要做的是确保mod_rewrite已经加载。如果mod_rewrite. so在apache配置中丢失,但是您已经安装了它(并且您的安装位置是/usr/local/apache),那么请将下面的语句添加到您的httpd.conf中:
然后将以下内容也添加到您的httpd.conf文件中:
使用 curl 命令测试
curl -v -X跟踪
iyfjxgzm7#
我知道这里已经有了一些答案,但我想我应该插话,并添加一些额外的选项。
Slipstream的方法无疑是这里最简单的方法,所以如果您正在寻找一种快速而简单的解决方法,那么这就是您的金矿。
TraceEnable
指令正如这里的一些人提到的,在Apache2中,可以将TraceEnable指令附加到
httpd.conf
或apache2.conf
文件的末尾:重写模块
您还可以向
VirtualHost
添加重写配置,以显式阻止TRACK
和TRACE
请求:在这种配置下,Apache会捕获所有的
TRACK
和TRACE
请求,并返回一个403 Forbidden
错误。重写模块(限制性更强)
但是,我还没有看到其他人建议显式地传递您希望允许的方法。这是一个稍微更严格的修复,并且是PCI兼容性所必需的:
这将拒绝任何使用未在指令中指定的方法的请求。同样,原始请求内容不会被回显,服务器返回
403 Forbidden
错误。需要记住的是,对于生产系统,RewriteEngine可能会占用大量处理器资源。这通常不是什么大问题,因为增加的时间可能是毫秒(如果不是微秒的话),但如果有大量的重写,则需要注意这一点。
rewrite_module
的Apache配置中取消注解LoadModule
或AddModule
(取决于您的设置)指令。*oalqel3c8#
您还可以使用apache 2.3+中的mod_allowmethod
https://httpd.apache.org/docs/2.4/mod/mod_allowmethods.html