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

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扩展漏洞,这样合适么?

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

 

posted @ 2015-07-06 14:53  程序员一一涤生  阅读(4827)  评论(0编辑  收藏  举报