WebDAV:分布式创做和版本控制协议 (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通讯协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法之外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还能够支持文件的版本控制。java
通俗的说,该协议容许咱们经过http协议就能对远程服务器上的文件进行操做,包括写入、删除、更新等。web
理解到这里,貌似若是在web服务中开启了该协议,意味着为恶意攻击者开启了一个能够攻击服务器的新的便捷途径,而且可以轻易的形成恶劣的影响。tomcat
网上的资料都说应该禁用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扩展漏洞,这样合适么?url
期待各位大神给予指点。。。版本控制