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

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

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

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

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

            經(jīng)過查閱資料,可以有以下方式解決這個問題:一個是禁止目錄索引功能,一個是禁止訪問WEB-INF目錄下文件的功能,都需要修改apache的配置文件httpd.conf:
          ?
            1、禁止目錄索引功能,查找如下段字符串,刪除其中的“Indexes”即可,注意實際字符串可能有所區(qū)別:
          ?
          ??????????? 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也是需要調(diào)整的,修改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博大精深啊。今天偶然瀏覽公司的網(wǎng)站發(fā)現(xiàn)了這個安全漏洞。現(xiàn)在已經(jīng)修改好了

          主站蜘蛛池模板: 东光县| 新野县| 云南省| 六枝特区| 嘉定区| 桐庐县| 大埔县| 莆田市| 双鸭山市| 鄂伦春自治旗| 色达县| 西峡县| 峨山| 信阳市| 漠河县| 曲水县| 姚安县| 阜新市| 大埔县| 廊坊市| 获嘉县| 白沙| 陈巴尔虎旗| 丹巴县| 呼伦贝尔市| 昭觉县| 和田县| 屏东县| 唐山市| 清徐县| 巴林右旗| 泰宁县| 民县| 成武县| 祁门县| 晋城| 黔江区| 安乡县| 乌兰浩特市| 白山市| 都江堰市|