금융위 취약점 분석 평가 항목 중
시스템 운영정보 노출 항목에 대한
보안 조치 방안 중
윈도우 IIS에서 할 수 있는
조치 방안 입니다.
테스트 환경
이번 포스팅을 위해
세팅한 테스트 환경입니다.
OS: Window 10
Web: IIS 10.0
윈도우 PC의 IIS 서버 기능을
활성화하여 사용했습니다.
시스템 운영정보 노출?
21년 금취분평 항목에서
시스템 운영정보 노출 항목은
아래와 같이 설명하고 있습니다.
항목 명: 시스템 운영정보 노출 여부
대상: WEB, MOB, HTS
ID: SER-031
통제구분: (일반공통) 서비스 보호
상세 설명:
- 웹 서버의 소스 코드(HTML) 및 오류 메시지를 통한
정보 노출 가능성이 존재하며,
시스템 운영정보 노출 여부를 점검
평가 예시:
- 개발자 도구 및 웹 프록시 도구를 이용하여
서버로 부터 중요정보의 전달 여부 점검
- 에러 발생 시 절대 경로 주소나
웹 서버 버전 정보 등이
발생 여부 점검 등
평가 예시가 다양한 만큼
이 항목에 해당하는 취약점 또한
다양합니다.
이번 포스팅에서 설명할
보안 조치 방안에 대한
취약점은 아래와 같습니다.
이 취약점은
HTTP Response의 Header에
서버의 버전 정보가
노출되는 취약점 입니다.
이걸로 무슨 해킹을 하냐고
할 수 있으나,
이 정보를 통해
사용 중인 서버의 정보를 파악하고
파악된 정보를 토대로
알려진 취약점(Zero-day 취약점)을
시도할 수 있습니다.
직접적인 공격이 아닌
제대로된 공격을 시도하기 위한
정보를 제공하는 취약점 입니다.
조치 방안: URL Rewrite 설치
URL Rewrite?
- Client의 요청(HTTP Request) 형태에 따라
HTTP Response의 형태를
재정의(Rewrite) 하는 모듈 입니다.
아래 링크에서 다운받아 설치하면 됩니다.
1.0과 2.0이 있는 데
아래 링크에서 재공하는
URL Rewrite가 2.0 이기 때문에
그냥 설치하시면 됩니다.
URL Rewrite 2.0 다운로드:
https://www.iis.net/downloads/microsoft/url-rewrite
URL Rewrite 설정
설치가 끝났으면 이제 설정을 시작합니다.
전체 요약은 아래와 같습니다.
1. IIS(인터넷 정보 서비스) 관리자 > 조치 대상 사이트 > URL 재작성 선택
2. 서버 변수 보기… > 추가… > RESPONSE_SERVER 입력 > 확인
3. 뒤로가기(URL 재작성) > 규칙 추가… > 아웃바운드 규칙 > 빈 규칙 선택
4. 아래와 같이 입력한 후 '적용' 선택
- 이름: 원하는 데로 입력
- 검색 범위: 서버 변수
- 변수 이름: RESPONSE_SERVER
- 패턴: .*
세부 순서 입니다.
1. IIS(인터넷 정보 서비스) 관리자 > 조치 대상 사이트 > URL 재작성 선택
2. 서버 변수 보기… > 추가… > RESPONSE_SERVER 입력 > 확인
3. 뒤로가기(URL 재작성) > 규칙 추가… > 아웃바운드 규칙 > 빈 규칙 선택
4. 아래와 같이 입력한 후 '적용' 선택
- 이름: 원하는 데로 입력
- 검색 범위: 서버 변수
- 변수 이름: RESPONSE_SERVER
- 패턴: .*
조치 결과
다시 웹 페이지에 접근해보면
HTTP Response에서
서버 정보가 사라진 것을
확인할 수 있습니다.
아래 X-Powered-By Header를 보면 ASP.NET 이 있는 데
이 정보 또한 서버 정보 노출에 해당합니다.
(이 서버에서 ASP.NET을 사용한다는 정보를 노출)
ASP.NET 정보 삭제 방법은
따로 포스팅할 계획 입니다.