주요정보통신기반기설 기술적 취약점 분석 평가 방법 상세가이드/WEB 진단

8. 디렉터리 인덱싱 WEB [DI] - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드(2021)

재민스 2021. 11. 9. 09:45

가. 취약점 개요

    내용 : 웹 서버 내 디렉터리 인덱싱 취약점 존재 여부 점검

    목적 : 디렉터리 인덱싱 취약점을 제거하여 특정 디렉터리 내 불필요한 파일 정보의 노출을 차단

    보안 위협

-      해당 취약점이 존재할 경우 브라우저를 통해 특정 디렉터리 내 파일 리스트를 노출하여 응용시스템의 구조를 외부에 허용할 수 있고, 민감한 정보가 포함된 설정 파일 등이 노출될 경우 보안상 심각한 위험을 초래할 수 있음

    참고

※ 디렉터리 인덱싱 취약점: 특정 디렉터리에 초기 페이지 (index.html, home.html, default.asp )의 파일이 존재하지 않을 때 자동으로 디렉터리 리스트를 출력하는 취약점

 

나. 점검방법

    대상 : 웹 서버

    판단기준

    -      양호 : 디렉터리 파일 리스트가 노출되지 않는 경우

    -      취약 : 디렉터리 파일 리스트가 노출되는 경우

    점검방법

    Step 1) URL 경로 중 확인하고자 하는 디렉터리까지만 주소창에 입력하여 인덱싱 여부 확인

    Step 2) 디렉터리 끝에 %3f.jsp 문자열을 붙여 디렉터리 인덱싱이 되는지 확인

 

다. 조치방법

    웹 서버 설정을 변경하여 디렉터리 파일 리스트가 노출되지 않도록 설정

    보안설정방법

    -      Apache

httpd.conf 파일 내 DocumentRoot 항목의 Options에서 Indexes 제거
Indexes가 해당 디렉터리의 파일 목록을 보여주는 지시자임
설정 전
<Directory “/var/www/html”>
Options Indexes
</Directory>
설정 후
<Directory “/var/www/html”>
Options
</Directory>

    -      IIS 7.0

        설정 > 제어판 > 관리도구 > “인터넷 서비스 관리자선택 후 해당 웹 사이트에서 우클릭 후 등록 정보

        > [홈 디렉터리] > [디렉터리 검색] 체크 해제

    -      IIS 7.5/8.0/8.5/10.0

        IIS(인터넷 정보 서비스) 관리자 > [해당 사이트] > [IIS] > [디렉터리 검색] 선택

        우측의 [사용 ] 버튼을 눌러 비활성화

    -      WebtoB 설정

        Step 1) ${WEBTOBDIR}/config/http.m 파일 Options 항목에서 index 옵션 삭제 또는, –index 옵션으로 설정 ( default: -index )

        Step 2) ${WEBTOBDIR}/config/http.m에서 확인

# ${WEBTOBDIR}/config/http.m
*NODE
GuideSample        WEBTOBDIR=”/home/user/webtob”,
SHMKEY = 54000,
DOCROOT=”/home/user/webtob/docs”, PORT = “8080”,
HTH = 1, LOGGING = "log1",
ERRORLOG = "log2",
Options = “-index”

        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 Preferences > Directory Indexing 항목 "None" 설정

        Step 2) 설정 파일에서 설정

            /[iPlanet Dir]/https-[Server_name]/config/obj.c

    -      %3f.jsp 취약점 제거

        웹 서버를 Apache 사용한다면 아래와 같이 설정하여 %3f.jsp 문자를 필터링해야 하며, Resin이나 Tomcat 사용한다면 최신 버전으로 업그레이드함

<LocationMatch “/(%3f|\?)\.jsp”>
AllowOverride None
Deny from all
</LocationMatch>

    -      Resin 2.1.x 버전은 최신 버전으로 업그레이드하거나 아래와 같이 설정할 수 있음

        Step 1) Resin 환경설정 파일 (resin.conf)에서 가상 디렉터리 설정 부분인 “web-app id”를 찾음

        Step 2) 아래 내용 추가

            <directory-servlet>none</directory-servlet>

        ※ 주의할 점: 모든 가상 디렉터리에 적용 필요

 

라. 조치시 영향

    일반적으로 영향 없음