2007~2011/IIS2010. 11. 23. 16:50

IIS 7 보안 두 번째 과정에서는 요청 필터링(Request Filtering) 기본 보안 기능에 대해서 알아보도록 하겠습니다. 

요청 필터링은 클라이언트로부터 요청 받은 특정 URL에 대한 필터링, 특정 파일 확장자에 대한 필터링, HTTP 헤더의 길이 제한, HTTP의 특정한 동사(verb)에 대한 필터링 등을 통해 프로토콜 및 콘텐츠 동작을 제한할 수 있는 보안 기능을 제공합니다. 

요청 필터링은 IIS 7.5 설치 시 기본으로 제공되며 '요청 필터링' 기능으로 사용할 수 있습니다. 해당 모듈은 %systemroot%\system32\intesrv\Modrqflt.dll (Request filtering handler) 파일로 제공됩니다. 



요청 필터링 기능을 선택하면 그림과 같이 7개의 규칙을 제공합니다. 


주요 필터링 규칙 구성 요소는 아래와 같습니다.


1. 파일 이름 확장명
 
요청 필터링 서비스에서 액세스를 허용하거나 거부할 파일 이름 확장명 목록을 지정합니다. 

2.
규칙
 요청 필터링 서비스에서 검색할 필터링 규칙과 특정 매개 변수를 나열합니다. 이러한 매개 변수에는 헤더, 파일 이름 확장명, 거부 문자열 등이 포함됩니다. 

3.
숨겨진 세그먼트
 
요청 필터링 서비스에서 액세스를 거부할 숨겨진 세그먼트 목록을 지정합니다. 이러한 세그먼트는 디렉터리 목록에 표시되지 않습니다.

4.
URL
 요청 필터링 서비스에서 액세스를 거부할 URL 시퀀스 목록을 지정합니다. 

5.
HTTP 동사 
 요
청 필터링 서비스에서 액세스를 허용하거나 거부할 HTTP 동사 목록을 지정합니다. 

6. 
헤더
 요청 필터링 서비스에서 액세스를 거부할 헤더 및 헤더의 크기 제한을 지정합니다. 

7. 
쿼리 문자열
 요청 필터링 서비스에서 액세스를 거부할 쿼리 문자열을 지정합니다. 



다음은 몇 가지 대표적인 규칙 구성 요소에 대해서 예제로 테스트 해 보도록 하겠습니다.

우선 전반적인 요청 필터링 기능에 대한 설정은 '작업' - 기능 설정 편집 메뉴를 통해 설정할 수 있습니다. 추후 생성할 규칙과 적절히 조합할 수 있어야 합니다. 




1.
파일 이름 확장명
 가. 규칙 생성 : .php 허용(True), asp 허용(False)
 나. .php 파일은 정상적으로 실행되나 URL 에 asp 파일을 요청하였을 경우 아래와 같이 404.7 오류 발생
 다. 실패 로그는 IIS 웹 로그 파일에도 기록됩니다. 



2. 숨겨진 세그먼트
 
가. 디렉터리 목록에서 제외할 URL 세그먼트 목록을 정의할 수 있습니다. (예) web.config, bin 폴더 등
 나. 슬래쉬(/) 표시 사이에 있는 URL 경로 일부를 의미합니다. 
 다. 규칙 생성 : bin
 라. http://localhost/bin/index.php 페이지 접속 시, 'bin' 폴더가 숨겨진 세그먼트에 등록되어 있으므로 필터링 적용
 마. 필터링에 적용될 경우 404.8 오류 기록 


3.
URL
 가. 거부할 URL 시퀀스(Sequence) 를 생성할 수 있습니다.
 나. 규칙 생성 : setup/install.php
 다. http://localhost/setup/install.php 페이지 접속 시, 해당 URL 시퀀스가 포함되어 있으므로 필터링 적용
 라. 필터링에 적용될 경우 404.5 오류 기록  



4.
HTTP 동사(Verb)
 
가. GET, POST, HEAD 등과 같은 HTTP 동사(Verb)들에 대해서 요청을 필터링 할 수 있습니다.
 나. 필터링에 적용될 경우 404.6 오류 기록 


5.
헤더
 가. 헤더 값이 지정된 크기보다 큰 경우 액세스를 거부할 수 있습니다.
 나. 헤더 크기는 byte 단위로 입력 가능 
 다. 필터링에 적용될 경우 404.10 오류 기록

요청 필터링 규칙에 의한 HTTP 오류 발생 시, 반환되는 상태 값은 아래와 같습니다. 


요청 필터링 기능을 사용하여 웹 사이트 보안을 강화하는 방법에 대해서 간략히 알아보았습니다. 다음 포스팅에서도 계속해서 보안 기능에 대해서 살펴 보도록 하겠습니다.

작성자 : Lai Go / 작성일자 : 2010.11.23

Posted by 사용자 Lai Go

댓글을 달아 주세요

  1. 비밀댓글입니다

    2017.07.13 14:20 [ ADDR : EDIT/ DEL : REPLY ]