修复Web服务器上的不安全HTTP方法

时间:2018-06-08 06:35:05

标签: api http post options trace

我的客户问: 以下Web服务器向最终用户公开了许多不同的方法,这些方法可能使Web服务暴露于不同程度的风险。可接受的Web方法通常是GET,POST和CONNECT(在HTTPS的情况下)。

•服务器a•服务器b 发现OPTIONS HTTP方法在Web服务器上可用OPTIONS方法允许攻击者枚举Web服务器上的可用方法,这些方法允许服务器接受TRACE方法并使自己容易受到HTTP TRACE跨站点脚本漏洞的攻击。这是因为TRACE方法只是将用户提供的输入回送给最终用户。

现在如何禁用此方法,如何检查这些方法,以及是否有任何停机时间进行更改。 服务器正在运行centos

1 个答案:

答案 0 :(得分:0)

首先检查Trace和options方法是否启用。

curl -i -X TRACE <URL>
curl -i -X OPTIONS <URL>

如果http响应为200,则启用这些方法。

禁用并仅允许GET POST和CONNECT

要做的第一件事是确保加载了mod_rewrite。如果您的apache配置中缺少mod_rewrite.so但是您安装了它(并且您的安装位置是/ usr / local / apache),那么将以下语句添加到您的httpd.conf:

LoadModule  rewrite_module  "/usr/local/apache/modules/mod_rewrite.so"

然后将以下内容添加到httpd.conf文件或&lt;虚拟主机&GT; ...&LT; /虚拟主机&GT;:

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

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

TraceEnable off

重启apache