我遇到了一点挑战,希望有人能提供一些想法。我正在将一个 Web 应用程序部署到运行 IIS7.5 的主机的共享环境中。安全扫描显示 WebDAV 已启用,并且已停止网站上线,直到将其关闭。
自从发现这一情况后,主机商可以先在 IIS 中直接手动禁用网站的 WebDAV(我们在 IIS 管理器中没有公开该设置),然后在其在线控制面板中提供一个开关来关闭它。我可以成功添加网络位置并在文件系统打开时远程连接到它,但一旦我将其关闭,就无法这样做了,因此从功能上看,该设置似乎有效。
不幸的是,该网站仍然返回一个接受 PROPFIND 标头和一个 Ms-Author-Via:DAV 标头,这似乎是安全扫描程序提出建议的基础。
所以问题是:当 WebDAV 在同一台机器上对一个站点禁用但对其他站点启用时,该站点的响应标头应该反映我上面看到的内容,这是预期行为吗?这是设计使然,还是应该在单个站点级别进行其他配置以避免这种情况?
答案1
你好,我希望这对你有帮助:
http://unixwiz.net/techtips/ms971492-webdav-vuln.html
虽然这适用于 iis 5/6,但它包含一些有关安全性的好的信息。
尝试一些相反的步骤:
http://learn.iis.net/page.aspx/350/installing-and-configuring-webdav-on-iis-7/
虽然这不是您的问题的直接答案,但我希望它能帮助您找到答案。
答案2
我无法为 IIS 提供修复,但我可以回答您关于这是否是正常行为的问题。
MS-Author-Via: DAV 标头应该无关紧要。值得注意的是,当 DAV 模块被简单加载时,Apache 会包含此标头,无论所请求的 URL 是否启用了 DAV。因此,安全扫描器不应该仅根据该标头提出建议。
但是,接受 URL 的 PROPFIND 请求是有问题的。Apache 的行为是拒绝未启用 DAV 的 URL 的 PROPFIND 请求。例如:
telnet www.somewhere.com 80
PROPFIND /
服务器返回:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>405 Method Not Allowed</title>
</head><body>
<h1>Method Not Allowed</h1>
<p>The requested method PROPFIND is not allowed for the URL /.</p>
<hr>
<address>Apache/2.2.24 (Unix) DAV/2 Server at www.somewhere.com Port 80</address>
</body></html>