在apache中禁用跟踪和追踪

w8biq8rn  于 2022-11-16  发布在  Apache
关注(0)|答案(8)|浏览(332)

我在suse Linux中安装了Apache 2.2.22。我希望在Apache中禁用跟踪和跟踪,并使用1- TraceEnable Off和2- RewriteEngine on

RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F] .

但两种方法都不起作用。

cgfeq70w

cgfeq70w1#

在Apache 2中,您可以只在httpd.conf(文件结尾)中添加TraceEnable Off

TraceEnable Off

要检查“跟踪”是否打开/关闭,可以使用“ curl ”:

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

643ylb082#

您需要将TraceEnable Off放在httpd.conf中

wsewodh2

wsewodh23#

要禁用这些方法,请在配置文件中为每个虚拟主机添加以下行:

RewriteEngine on

RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)

RewriteRule .* - [F]

nessus说)))

fiei3ece

fiei3ece4#

对于Apache HTTPD 2.4:Require not method TRACE TRACK
请参阅“需要指令”

mec1mxoz

mec1mxoz5#

除非安装了支持TRACK的模块,否则Apache默认不支持TRACK,因此只需要具有指令:

TraceEnable Off

但是,对于腰带和吊带的方法,还应添加:

RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) [NC]
RewriteRule ^.* - [F]

这将禁用TRACE和TRACK。

0h4hbjxa

0h4hbjxa6#

View Demo Trace Using SSH Command
TRACE在apache安装中默认是启用的。有两种方法可以补救。第一种方法可以在运行Apache 1.3.34、2.0.55或2.2版本中的任何版本时使用。只需将TraceEnable指令添加到httpd.conf中,并将值设置为Off。

TraceEnable 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跟踪

iyfjxgzm

iyfjxgzm7#

我知道这里已经有了一些答案,但我想我应该插话,并添加一些额外的选项。
Slipstream的方法无疑是这里最简单的方法,所以如果您正在寻找一种快速而简单的解决方法,那么这就是您的金矿。

TraceEnable指令

正如这里的一些人提到的,在Apache2中,可以将TraceEnable指令附加到httpd.confapache2.conf文件的末尾:

TraceEnable Off

重写模块

您还可以向VirtualHost添加重写配置,以显式阻止TRACKTRACE请求:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCondition %{REQUEST_METHOD} ^(TRACE|TRACE)
    RewriteRule . * - [F]
</IfModule>

在这种配置下,Apache会捕获所有的TRACKTRACE请求,并返回一个403 Forbidden错误。

重写模块(限制性更强)

但是,我还没有看到其他人建议显式地传递您希望允许的方法。这是一个稍微更严格的修复,并且是PCI兼容性所必需的:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_METHOD} !^(GET|POST|HEAD)
    RewriteRule .* - [F]
</IfModule>

这将拒绝任何使用未在指令中指定的方法的请求。同样,原始请求内容不会被回显,服务器返回403 Forbidden错误。
需要记住的是,对于生产系统,RewriteEngine可能会占用大量处理器资源。这通常不是什么大问题,因为增加的时间可能是毫秒(如果不是微秒的话),但如果有大量的重写,则需要注意这一点。

  • 注意:对于上面的重写配置,您需要在rewrite_module的Apache配置中取消注解LoadModuleAddModule(取决于您的设置)指令。*
oalqel3c

oalqel3c8#

您还可以使用apache 2.3+中的mod_allowmethod

<Location "/">
   AllowMethods GET POST OPTIONS
</Location>

https://httpd.apache.org/docs/2.4/mod/mod_allowmethods.html

相关问题