关于WebDAV带来的网站潜在安全问题的疑问

时间:2024-09-13 21:33:38

WebDAV:分布式创作和版本控制协议 (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GETPOSTHEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制

HTTP 1.1(请参阅 IETF RFC 2068)提供一组可供客户端与服务器通讯的方法,并指定响应(从服务器返回发出请求的客户端)的格式。 WebDAV 完全采用此规范中的所有方法,扩展其中的一些方法,并引入了其他可提供所描述功能的方法。 WebDAV 中使用的方法包括:
1.Options、Head 和 Trace。
主要由应用程序用来发现和跟踪服务器支持和网络行为。
2.Get。
检索文档。
3.Put 和 Post。
将文档提交到服务器。
4.Delete。
销毁资源或集合。
5. Mkcol。
创建集合。
6.PropFind 和 PropPatch。
针对资源和集合检索和设置属性。
7.Copy 和 Move。
管理命名空间上下文中的集合和资源。
8. Lock 和 Unlock。
改写保护。

通俗的说,该协议允许我们通过http协议就能对远程服务器上的文件进行操作,包括写入、删除、更新等。

理解到这里,貌似如果在web服务中开启了该协议,意味着为恶意攻击者开启了一个可以攻击服务器的新的便捷途径,并且能够轻易的造成恶劣的影响。

网上的资料都说应该禁用web服务对该协议的支持,对于tomcat来说,好像默认就是不启用对webdav协议的支持的,但是有很多人的博客上都写了如何在web.xml中关闭http的不常用的或者不安全的方法,关闭代码如下,添加到web.xml中即可:

<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>HEAD</http-method>
<http-method>OPTIONS</http-method>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>

目前不明白的地方是:

webdav协议如此不安全,出现的意义何在?

tomcat默认就不开启webdav协议的支持,禁用put、delete等方法是不是有点多此一举?

有些安全漏洞扫描软件,会将支持options方法当成是webdav扩展漏洞,这样合适么?

期待各位大神给予指点。。。