[Web] 디렉터리 인덱싱 (DI)
- 취약점 점검/웹(Web)
- 2021. 6. 8.
디렉터리 인덱싱
취약점 개요
■ 위험도
- 상
■ 점검 목적
- 디렉터리 인덱싱 취약점을 제거하여 특정 디렉터리 내 불필요한 파일 정보 노출을 차단
■ 보안 위협
- 해당 취약점이 존재할 경우 브라우저를 통해 특정 디렉터리 내 파일 리스트를 노출하여 응용시스템의 구조를 외부에 허용할 수 있고 민감한 정보가 포함된 설정 파일 등이 노출될 경우 보안상 심각한 위험을 초래할 수 있음
점검 및 조치 방법
■ 점검 및 판단 기준
- 양호 : 디렉터리 파일 리스트가 노출되지 않는 경우
- 취약 : 디렉터리 파일 리스트가 노출되는 경우
■ 조치 방법
- 웹 서버 설정을 변경하여 디렉터리 파일 리스트가 노출 되지 않도록 설정
■ 점검 방법
Step 1) URL 경로 중 확인 하고자 하는 디렉터리까지만 주소 창에 입력하여 인덱싱 여부를 확인
Step 2) 디렉터리 끝에 %3f.jsp 문자열을 붙여 디렉터리 인덱싱이 되는지 확인
■ 보안설정방법
Step 1) 웹 서버 환경설정에서 디렉터리 인덱싱 기능 제거
※ 웹 서버 별 상세 설정
Apache
IIS 7.0
설정 > 제어판 > 관리도구 > "인터넷 서비스 관리자" 선택 후 해당 웹 사이트에서 우클릭 후 등록 정보 > [홈 디렉터리] 탭 > [디렉터리 검색] 체크 해제
IIS 7.5/8.0
IIS 관리자 > [해당 웹 사이트] > IIS > [디렉터리 검색] 선택 우측의 [사용 안 함] 버튼을 눌러 비활성화
WebtoB 설정
Step 1) ${WEBTOBDIR}/config/http.m 파일 Options 항목에서 index 옵션 삭제 또는, -index 옵션으로 설정 (default : -index)
Step 2) ${WEBTOBDIR}/config/http.m 에서 확인
Step 3) 확인 후 설정파일 컴파일 및 재구동
# wscfl -I http.m (http.m 파일 컴파일)
# wsdown
# wsboot (재구동)
iPlanet
Step 1) 관리자 콘솔에서 설정 (1번 또는 2번 방법 중 선택 적용)
관리자 콘솔 > Server Name > Virtual Server Class > Class Manage > Content Mgmt > Document Perferences > Directory Indexing 항목 "none" 설정
Step 2) 설정 파일에서 설정
/[iPlanet Dir]/https-[Server_name]/config/obj.c
%3f.jsp 취약점 제거
웹 서버를 Apache로 사용한다면 아래와 같이 설정하여 %3f.jsp 문자를 필터링 해야 하며, Resin 이나 Tomcat을 사용한다면 최신 버전으로 업그레이드 함
Resin 2.1x 에서는 최신 버전으로 업그레이드 하거나 아래와 같이 설정 할 수 있음
Step 1) Resin 환경 설정 파일 (resin.conf)에서 가상 디렉터리 설정 부분인 "web-app id"를 찾음
Step 2) 아래 내용 추가
<directory-servlet>none</directory-servlet>
※ 모든 가상 디렉터리에 적용 필요
■ 용어 설명 / 팁
※ 디렉터리 인덱싱 취약점 : 특정 디렉터리에 초기 페이지 (index.html, home.html, default.asp 등)의 파일이 존재하지 않을 때 자동으로 디렉터리 리스트를 출력하는 취약점
[취약점 점검/웹(Web)] - [Web] 위치 공개 (PL)
[IT/리눅스(Linux)] - [리눅스] 아이노드 i-node ls du 확인 방법