posts - 60, comments - 116, trackbacks - 1, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Apache2.0 + Tomcat5.5 如何禁止掉目錄瀏覽

          Posted on 2007-08-28 18:47 匪客 閱讀(2910) 評論(1)  編輯  收藏 所屬分類: 開發技術

            近日公司同事在開發一段程序完成后在網站上面測試,無意中發現訪問網站路徑http://www.xxx.com/WEB-INF/這樣的地址后會列出該目錄下的所有文件,點擊文件WEB-INF下的web.xml可以查看和下載,這樣一來,配置的數據庫連接信息就都暴露了,存在重大的安全隱患。

            該網站是采用Apache2.0 + Tomcat5.5配置的,*.jsp和*.do文件交由TOMCAT處理,其他文件由Apache處理,在Apache的配置文件httpd.conf中,配置了DocumentRoot與Tomcat的webapps/ROOT為相同目錄,經過測試發現,如果訪問地址不是*.jsp或*.do,并且在目錄下沒有默認歡迎文件index.html等,就會顯示文件目錄列表,這樣以來Tomcat的webapps/ROOT/WEB-INF下的所有文件都可以下載下來,完全沒有安全可言。

            經過查閱資料,可以有以下方式解決這個問題:一個是禁止目錄索引功能,一個是禁止訪問WEB-INF目錄下文件的功能,都需要修改apache的配置文件httpd.conf:
          ?
            1、禁止目錄索引功能,查找如下段字符串,刪除其中的“Indexes”即可,注意實際字符串可能有所區別:
          ?
          ??????????? DocumentRoot "/usr/local/tomcat5/webapps/ROOT"

          ??????????? <Directory "/usr/local/tomcat/webapps/ROOT">
          ??????????????? #
          ??????????????? Options Indexes FollowSymLinks Includes
          ??????????????? #
          ??????????????? AllowOverride None
          ??????????????? #
          ??????????????? Order allow,deny
          ??????????????? Allow from all
          ??????????? </Directory>
          ?
            2、禁止訪問WEB-INF目錄下文件的功能,在文件尾部加入如下字符串即可:
          ?
          ??????????? <Location ~ "/WEB-INF/">?
          ????????????? AllowOverride None
          ????????????? Deny from all
          ??????????? </Location>

           其中“~ "/WEB-INF/"”是通配符設置,即所有的路徑中包含/WEB-INF/都不允許訪問。

            上面是對Apache的配置,Tomcat也是需要調整的,修改tomcat目錄/conf/web.xml文件,如下,將listings改為true:

          ??????????? <servlet>
          ????????????? <servlet-name>default</servlet-name>
          ????????????? <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
          ????????????? <init-param>
          ??????????????? <param-name>debug</param-name>
          ??????????????? <param-value>0</param-value>
          ????????????? </init-param>
          ????????????? <init-param>
          ??????????????? <param-name>listings</param-name>
          ??????????????? <param-value>false</param-value>
          ????????????? </init-param>
          ????????????? <load-on-startup>1</load-on-startup>
          ??????????? </servlet>


            特此記錄下來,供大家參考。
          ?


          評論

          # re: Apache2.0 + Tomcat5.5 如何禁止掉目錄瀏覽  回復  更多評論   

          2008-07-17 11:58 by 日月遷
          感謝樓主的無私奉獻,看來apache博大精深啊。今天偶然瀏覽公司的網站發現了這個安全漏洞。現在已經修改好了

          主站蜘蛛池模板: 宁阳县| 常山县| 贵阳市| 若尔盖县| 镇江市| 平江县| 隆子县| 佛坪县| 民丰县| 台东县| 大理市| 洪江市| 阳谷县| 三门县| 军事| 那坡县| 开封县| 河间市| 屏边| 张家界市| 伊金霍洛旗| 萍乡市| 阳春市| 永仁县| 辽宁省| 长丰县| 巩义市| 宝兴县| 波密县| 双江| 呼伦贝尔市| 临沭县| 武夷山市| 津市市| 洪湖市| 宝山区| 藁城市| 黔西县| 恩平市| 威海市| 徐水县|