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

            近日公司同事在開發(fā)一段程序完成后在網(wǎng)站上面測(cè)試,無意中發(fā)現(xiàn)訪問網(wǎng)站路徑http://www.xxx.com/WEB-INF/這樣的地址后會(huì)列出該目錄下的所有文件,點(diǎn)擊文件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)過測(cè)試發(fā)現(xiàn),如果訪問地址不是*.jsp或*.do,并且在目錄下沒有默認(rèn)歡迎文件index.html等,就會(huì)顯示文件目錄列表,這樣以來Tomcat的webapps/ROOT/WEB-INF下的所有文件都可以下載下來,完全沒有安全可言。

            經(jīng)過查閱資料,可以有以下方式解決這個(gè)問題:一個(gè)是禁止目錄索引功能,一個(gè)是禁止訪問WEB-INF目錄下文件的功能,都需要修改apache的配置文件httpd.conf:
          ?
            1、禁止目錄索引功能,查找如下段字符串,刪除其中的“Indexes”即可,注意實(shí)際字符串可能有所區(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/"”是通配符設(shè)置,即所有的路徑中包含/WEB-INF/都不允許訪問。

            上面是對(duì)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>


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


          評(píng)論

          # re: Apache2.0 + Tomcat5.5 如何禁止掉目錄瀏覽  回復(fù)  更多評(píng)論   

          2008-07-17 11:58 by 日月遷
          感謝樓主的無私奉獻(xiàn),看來apache博大精深啊。今天偶然瀏覽公司的網(wǎng)站發(fā)現(xiàn)了這個(gè)安全漏洞。現(xiàn)在已經(jīng)修改好了

          主站蜘蛛池模板: 福海县| 东乌珠穆沁旗| 揭阳市| 永靖县| 南阳市| 藁城市| 佳木斯市| 洱源县| 乌鲁木齐市| 光山县| 芜湖县| 伊川县| 桑日县| 云南省| 常宁市| 永泰县| 开封市| 浦东新区| 宁德市| 南涧| 得荣县| 长子县| 晋宁县| 高邮市| 奎屯市| 厦门市| 兴安县| 长子县| 齐河县| 石棉县| 房产| 岳西县| 南华县| 繁峙县| 华容县| 成都市| 凯里市| 大姚县| 奉节县| 衡阳县| 修水县|