我的客户问: 以下Web服务器向最终用户公开了许多不同的方法,这些方法可能使Web服务暴露于不同程度的风险。可接受的Web方法通常是GET,POST和CONNECT(在HTTPS的情况下)。
•服务器a•服务器b 发现OPTIONS HTTP方法在Web服务器上可用OPTIONS方法允许攻击者枚举Web服务器上的可用方法,这些方法允许服务器接受TRACE方法并使自己容易受到HTTP TRACE跨站点脚本漏洞的攻击。这是因为TRACE方法只是将用户提供的输入回送给最终用户。
现在如何禁用此方法,如何检查这些方法,以及是否有任何停机时间进行更改。 服务器正在运行centos
答案 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