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
期待各位大神給予指點。。。版本控制