啟用不安全的HTTP方法解決方案


啟用不安全的HTTP方法解決方案

近期通過APPScan掃描程序,發現了不少安全問題,通過大量查閱和嘗試最終還是解決掉了,於是整理了一下方便查閱。

1.啟用了不安全的HTTP方法

問題是這樣描述的:

檢查原始測試響應的“Allow”頭,並驗證是否包含下列一個或多個不需要的選項:DELTE,SEARCE,COPY,MOVE,PROPFIND,PROPPATCH,MKCOL,LOCK,UNLOCK,PUT。

響應頭信息如下:

  1. HTTP/1.1 200 OK 
  2. Server: Apache-Coyote/1.1 
  3. Allow: GET, HEAD, POST, PUT, DELETE, OPTIONS 
  4. Content-Length: 0 
  5. Date: Mon, 25 Jul 2016 10:12:23 GMT 

我們首先了解一下這幾個方法的由來:HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法;HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
WebDAV完全采用了HTTP1.1的方法,擴展了一些方法,並擴展了一些其他方法:

  • Options、Head、Trace:主要由應用程序來發現和跟蹤服務器支持和網絡行為;

  • Get:檢索文檔;

  • Put和Post:將文檔提交到服務器;

  • Delete:銷毀資源或集合;

  • Mkcol:創建集合

  • PropFind和PropPatch:針對資源和集合檢索和設置屬性;

  • Copy和Move:管理命名空間上下文中的集合和資源;

  • Lock和Unlock:改寫保護

很顯然上述操作明細可以對web服務器進行上傳、修改、刪除等操作,對服務造成威脅。雖然WebDAV有權限控制但是網上一搜還是一大堆的攻擊方法,所以如果不需要這些方法還是建議直接屏蔽就好了。

下面就來詳細說一下解決方案:
最簡單的方式就是修改WEB應用的web.xml部署文件。在里面插入下面幾行代碼就搞定了,把需要屏蔽的方法加在里面。如果應用包比較多也沒必要一個個改,直接修改Tomcat的web.xml就可以了,這樣在Tomcat中運行的實例都會有效。

        <security-constraint>
            <web-resource-collection>
                <web-resource-name>fortune</web-resource-name>
                <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>
  • <security-constraint>用於限制對資源的訪問;

  • <auth-constraint>用於限制那些角色可以訪問資源,這里設置為空就是禁止所有角色用戶訪問;

  • <url-pattern>指定需要驗證的資源

  • <http-method>指定那些方法需要驗證

重啟服務再驗證就不會存在這個問題了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM