개발/Linux 계열

Tomcat + apache 디렉토리 인덱싱 안되게 하기

좋은느낌/원철 2009. 6. 11. 17:46

디렉토리 인덱싱

 

가. 디렉토리 인덱싱은 index.html, index.asp 등과 같이 웹 서버에서 인덱스 파일로 지정한 파일이 디렉토리에 존재하지 않을경우,

     해당 디렉토리의 하위 디렉토리와 파일의 목록을 열람할 수 있도록 하는 기능이다.

 

나. 인덱싱 기능이 확성화 되어 있을 경우 웹 브라우져 상에 웹 컨텐츠 디렉토리 내용이 그대로 공개되어, 공격자가 특정 디렉토리에

     존재하는 파일의 목록 정보를 획득할 수 있으며 이를 다운로드 받을수 있다.

 

옆에 보는거와 같이

웹주소 URL 다음에

디렉토리 리스팅으로

입력하였을 시

Index of /jsp

하고 해당 폴더들이 존재한다.

 

이런경우, 보안에 문제가 생기게된다.

 

말그대로 해킹해가세요..ㅋㅋ

 

 

 

 

 

 

 

 

 

다. 또한 운영 환경에 임시적으로 생성해떤 파일 또는 백업을 목적으로 생성한 파일, 웹 서버 또는 웹 어플리케이션을 설치할 때

     테스트 목적의 파일들이 존재할 수 있다. 이러한 파일들이 노출되어 공격자가 다운 받을 경우 환겨설정, 웹 어플리케이션의 소스가

     노출되거나 데이터베이스 정보가 노출될 수 있다.

 

라. 점검방법

     1) 해당 웹 페이지의 URL에 디렉토리 경로를 직접 입력하여 디렉토리 내용이 보이는지 점검한다.

         http://www.test.com/admin

         http://www.test.com/manager

     2) 웹 어플리케이션 설치 디렉토리 및 웹 디렉토리 이하에서 .bak, .old, .tmp 등의 서비스 제공에 불필요한 파일이나

         임시/백업 파일들이 있는지 검색한다.

     3) 웹 서버나 웹 어플리케이션 서버 설치 시 자동 생성되는 파일 (예, tomcat-docs, 샘플)등 외부에 정보를 노출할 수 있는

         디렉토리나 파일이 존재하는지 검색한다.

 

마. 시정방법

     1) 웹 서버 혹은 웹 어플리케이션 서버에서 디렉토리 인덱싱 기능을 비활성화 시킨다.

        [tomcat의 예제]

        <!--web.xml-->

           <init-param>

                <param-name>listings</param-name>

                <param-value>false</param-value>

           </init-param>

        [apache의 예제]

        <!--httpd.conf-->

<Directory "/usr/local/apache/htdocs"> 
# 
# 
# This may also be "None", "All", or any combination of "Indexes", 
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews". 
# 
# Note that "MultiViews" must be named *explicitly* --- "Options All" 
# doesn't give it to you. 
#

수전전    Options Indexes FollowSymLinks MultiViews

수정후    Options FollowSymLinks MultiViews 

# 
# This controls which options the .htaccess files in directories can 
# override. Can also be "All", or any combination of "Options", "FileInfo", 
# "AuthConfig", and "Limit"

</Directory>

     2) 웹 소스가 위치한 웹 디렉토리에서 임시/백업 파일 및 설치 파일의 존재여부를 조사하여 이를 삭제한다.

     3) 웹 서버나 웹 어플리케이션 서버 설치시 자동 생성되는 파일 중 외부에 정보를 노출할 수 있는 메뉴얼 파일, 샘플등을 조사하여

         이를 삭제한다.

 

[Tomcat 설정 상태]

 

[APACHE 설정 상태]

 

설정 완료 후 Tomcat 과 Apache를 재시작 하기 바란다.