URLScan 도구를 구성 하는 방법

Microsoft Windows Server 2008에서 실행되는 인터넷 정보 서비스 (IIS) 버전 7.0으로 업그레이드 하실 것을 강력히 추천합니다. IIS 7.0는 웹 인프라 보안을 상당히 개선합니다. IIS 보안 관련 항목에 대한 자세한 내용은, 다음 Microsoft 웹 사이트를 방문하십시오.IIS 7.0에 대한 자세한 내용은, 다음 Microsoft 웹 사이트를 방문하십시오.

요약

이 문서에서 공격 및 악용 웹 서버를 보호 하기 위해 URLScan 도구를 구성 하는 방법에 설명 합니다.

URLScan 설치

URLScan을 설치 하려면 다음 Microsoft Developer Network (MSDN) 웹 사이트를 방문 하십시오.자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조 하는 다음 문서 번호를 클릭 합니다.
307608 IIS에서 URLScan 사용

URLScan.ini 파일을 수정 합니다.

URLScan의 모든 구성이 %WINDIR%\System32\Inetsrv\URLscan 폴더에 있는 URLScan.ini 파일을 통해 수행 됩니다. URLScan을 구성 하려면 메모장과 같은 텍스트 편집기에서이 파일을 열고 원하는 대로 변경 하 고 파일을 저장.

참고: IIS 인터넷 정보 서비스 ()에 변경 내용을 적용 하려면 다시 시작 해야 합니다. 이 신속 하 게 수행할 수 있습니다 한 가지 방법은 명령 프롬프트에서 IISRESET 명령을 실행 하는 것입니다.

URLScan.ini 파일에는 다음과 같은 섹션이 있습니다.
  • [옵션]: 일반적인 URLScan 옵션에 설명 합니다.
  • [AllowVerbs] 및 [DenyVerbs]:이 섹션에서는 URLScan이 허용 하는 동사 (HTTP 메서드 라고도 함)를 정의 합니다.
  • [DenyHeaders]:이 섹션에는 HTTP 헤더는 HTTP 요청에 허용 되지 않는 나열 합니다. HTTP 요청이이 섹션에 나열 된 HTTP 헤더 중 하나를 포함, URLScan이 요청을 거부 합니다.
  • [AllowExtensions] 및 [DenyExtensions]:이 섹션에서는 URLScan이 허용 하는 파일 확장명을 정의 합니다.
  • [DenyURLSequences]:이 섹션에서는 HTTP 요청에 허용 되지 않는 문자열을 나열 합니다. URLScan이이 구역에 표시 되는 문자열이 포함 된 HTTP 요청을 거부 합니다.
각 섹션은이 문서에서 자세히 설명 합니다.

[옵션] 섹션

[옵션] 섹션에서 URLScan 옵션을 구성할 수 있습니다. 각 줄이 절의 형식은 다음과 같습니다.
OptionName=OptionValue
사용 가능한 옵션과 기본값은 다음과 같습니다.
  • UseAllowVerbs=1

    기본적으로이 옵션은 1로 설정 됩니다. 이 옵션을 1로 설정 하면 URLScan [AllowVerbs] 섹션에 나열 된 동사를 사용 하는 HTTP 요청을 허용 합니다. URLScan이이 동사를 사용 하지 않는 요청은 차단 합니다. 이 옵션을 0으로 설정 하는 경우 URLScan [AllowVerbs] 섹션에서 건너뛰고 대신 [DenyVerbs] 섹션에 나열 된 동사를 사용 하 여 요청을 차단 합니다.
  • UseAllowExtensions=0

    이 옵션은 기본적으로 0으로 설정 됩니다. 이 옵션을 0으로 설정 하는 경우 URLScan 블록 [DenyExtensions] 섹션에 나열 된 파일 이름 확장명에 대 한 요청 하지만 확장명이 다른 파일에 대 한 요청을 허용 합니다. 이 옵션을 1로 설정 하는 경우 URLScan [AllowExtensions] 섹션에 나열 된 확장명을 가진 파일에 대 한 요청만 허용 하 고 다른 파일에 대 한 요청을 차단 합니다.
  • NormalizeUrlBeforeScan=1

    IIS는 URL 인코딩된 요청을 받습니다. 특정 숫자 뒤에 백분율 기호 (%)를 사용 하 여 특정 문자를 대체할 수 있음을 의미 합니다. 예를 들어, 20% File.htm Dir/My http://myserver/My에 대 한 요청에서와 같은 http://myserver/My%20Dir/My%20File.htm에 대 한 요청은 한 공간에 해당 합니다. 정규화는 URL 인코딩된 요청을 디코딩하는 과정입니다. 기본적으로이 옵션은 1로 설정 됩니다. NormalizeUrlBeforeScan 옵션을 1로 설정 된 경우 URLScan 디코딩된 요청을 분석 합니다. 0으로 설정 된 경우 URLScan은 디코딩되지 않은 요청을 대신 분석 합니다. 이 옵션을 0으로 인해 특정 유형의 공격을 차단 하도록 URLScan의 기능 저하.
  • VerifyNormalization=1

    % 기호 자체가 URL 인코딩 일 수 있기 때문에 공격자가 서버에 기본적으로 이중 인코딩된 정교 요청을 제출할 수 있습니다. 이렇게 되 면 IIS 잘못으로 거부는 그 요청을 수락 수 있습니다. 기본적으로이 옵션은 1로 설정 됩니다. VerifyNormalization 옵션을 1로 설정 된 경우 URLScan 정규화 URL 두 번 합니다. 두 번째 정규화 후 URL과에서 다른 URL의 첫 번째 정규화 후 경우 URLScan은 요청을 거부 합니다. 이렇게 하면 이중 인코딩된 요청에 따른 공격을 합니다.
  • AllowHighBitCharacters=0

    이 옵션은 기본적으로 0으로 설정 됩니다. 이 옵션을 0으로 설정 하면 URLScan ASCII가 아닌 문자가 들어 있는 요청을 거부 합니다. 특정 유형의 공격을 방지할 수 있습니다이 있지만 정규 파일, 영어 이외의 이름으로 파일을 차단할 수도 있습니다.
  • AllowDotInPath=0

    이 옵션은 기본적으로 0으로 설정 됩니다. 이 옵션을 0으로 설정 하면 URLScan 여러 개의 마침표 (.)를 포함 하는 모든 요청을 거부 합니다. 이렇게 하면 URL의 경로 정보나 쿼리 문자열 부분에 안전한 파일 확장명을 넣어 위험한 파일 확장명에 대 한 요청을 위장 하는 시도 합니다. 예를 들어,이 옵션을 1로 설정 하는 경우 실제로 PATH_INFO 영역에 HTML 페이지의 이름으로 실행 파일 (.exe) 파일에 대 한 요청 하는 경우 HTML 페이지에 대 한 요청은 것으로 판단 URLScan http://servername/BadFile.exe/SafeFile.htm에 대 한 요청을 허용 될 수 있습니다. 이 옵션은 0으로 설정 하면 URLScan 마침표가 포함 된 디렉터리에 대 한 요청도 거부할 수 있습니다.
  • RemoveServerHeader=0

    기본적으로 웹 서버는 모든 응답에서 실행 중인 웹 서버 소프트웨어를 식별 하는 헤더를 반환 합니다. 서버 취약점은 공격자가 IIS와 알려진 IIS 문제를 설계 된 다른 웹 서버를 사용 하 여 IIS 서버를 공격 하려고 하기 보다는 공격에 서버가 실행 중인 확인할 수 있습니다이 증가할 수 있습니다. 이 옵션은 기본적으로 0으로 설정 됩니다. RemoveServerHeader 옵션을 1로 설정 하면 서버에 IIS 서버를 식별 하는 헤더를 보내지 못하도록 방지할 수 있습니다. RemoveServerHeader 을 0으로 설정 하는 경우이 헤더 여전히 보내집니다.
  • AlternateServerName = (기본적으로 지정 되지 않음)

    RemoveServerHeader 가 0으로 설정 된 경우 서버 헤더에 전달 됩니다 지정 AlternateServerName 옵션에 문자열로 지정할 수 있습니다. RemoveServerHeader 가 1로 설정 하는 경우에이 옵션이 무시 됩니다.
  • EnableLogging=1

    기본적으로 URLScan은 WINDIR%\System32\Inetsrv\URLScan % 모든 차단 된 요청의 전체 로그를 유지합니다. 이 로그를 유지 하려면 EnableLogging 를 0으로 설정할 수 있습니다.
  • PerProcessLogging=0

    이 옵션은 기본적으로 0으로 설정 됩니다. 이 옵션을 1로 설정 URLScan URLScan.dll을 호스트 하는 각 프로세스에 대해 별도 로그를 만듭니다. 0으로 설정 하면 모든 프로세스가 같은 파일에 기록 합니다.
  • PerDayLogging=1

    기본적으로이 옵션은 1로 설정 됩니다. 이 값을 1로 설정 URLScan 매일 새 로그 파일을 만듭니다. 각 로그 파일은 Urlscan 명명 됩니다. Mmddyy위치
    로그 파일의 날짜를 나타냅니다 . 이 값을 0으로 설정 하는 경우 모든 로깅이 날짜에 관계 없이 같은 파일에 저장 됩니다.
  • AllowLateScanning=0

    이 옵션은 기본적으로 0으로 설정 됩니다. 이 옵션을 0으로 설정 하면 URLScan 실행 전에 서버에 설치 된 다른 인터넷 서버 응용 프로그래밍 인터페이스 (ISAPI) 필터를 높은 우선 순위의 필터로 실행 됩니다. 이 옵션을 1로 설정 하면 URLScan이 분석을 수행 하기 전에 다른 필터가 URL을 수정할 수 있도록 URLScan은 낮은 우선 순위의 필터로 실행 됩니다. FrontPage 서버 확장 (FPSE) 하려면이 옵션을 1로 설정 합니다.
  • RejectResponseUrl = (기본적으로 지정 되지 않음)

    이 옵션은 URLScan이 요청을 차단할 때 실행 되는 파일에 대 한 가상 경로 지정 합니다. 이렇게 하면 차단 된 요청에 대해 클라이언트에 보내는 응답을 사용자 지정할 수 있습니다. RejectResponseUrl /Path/To/RejectResponseHandler.asp 같은 적절 한 파일의 가상 경로를 지정 해야 합니다. Active Server Pages (ASP) 페이지 같은 URLScan에서 일반적으로 차단 하는 파일을 지정할 수 있습니다. 페이지에서 다음 서버 변수를 사용할 수 있습니다.
    • HTTP_URLSCAN_STATUS_HEADER: 요청이 차단 된 이유를 지정 합니다.
    • HTTP_URLSCAN_ORIGINAL_VERB: 차단 된 요청 (예: GET, POST, 머리 또는 디버그)에서 원래 동사를 지정 합니다.
    • HTTP_URLSCAN_ORIGINAL_URL: 원래 URL 차단 된 요청을 지정 합니다.
    RejectResponseUrl 의 특수 한 값을 설정 / ~ *, URLScan 로깅 전용 모드를 사용 합니다. 이렇게 하면 IIS가 모든 요청을 제공할 수 있지만 일반적으로 차단 된 모든 요청에 대해 URLScan 로그에 항목을 추가 하는 것. URLScan.ini 파일을 테스트 하려는 경우에 유용 합니다.

    RejectResponseUrl의 값을 지정 하지 않으면 URLScan / < 거부 하 여 UrlScan >의 기본값이 사용 됩니다.

  • UseFastPathReject=0

    이 옵션은 기본적으로 0으로 설정 됩니다. 이 옵션을 1로 설정 된 경우 URLScan RejectResponseUrl 설정을 무시 하 고 즉시 404 오류 메시지가 브라우저에 반환. RejectResponseUrl처리 보다 빠릅니다 하지만 로깅 옵션을 허용 하지 않습니다. 이 옵션을 0으로 설정 하는 경우 URLScan RejectResponseUrl 설정을 요청을 처리 하는 데 사용 합니다.

[AllowVerbs] 및 [DenyVerbs] 섹션

[AllowVerbs][DenyVerbs] 섹션에서는 URLScan이 허용 하는 HTTP 동사 (메서드)을 정의 합니다. 일반적인 HTTP 동사 GET, POST, 헤드 및 PUT를 포함합니다. FPSE 웹 분산 제작 및 버전 관리 (WebDAV) 같은 다른 응용 프로그램을 추가 동사를 사용 합니다.

[AllowVerbs][DenyVerbs] 섹션에 모두 동일한 구문을 있습니다. HTTP 동사 목록으로 구성 하 고 각 동사는 자체 줄에 나타납니다.

URLScan은 어느 부분을 사용 하 여 [옵션] 섹션에서 UseAllowVerbs 옵션의 값에 따라 결정 합니다. 기본적으로이 옵션은 1로 설정 됩니다. UseAllowVerbs 가 1로 설정 하는 경우 URLScan의 [AllowVerbs] 섹션에 나열 된 동사를 사용 하는 요청만 허용 합니다. 이러한 동사를 사용 하지 않는 요청은 거부 됩니다. 이 경우 [DenyVerbs] 섹션은 무시 됩니다.

UseAllowVerbs 가 0으로 설정 하면 URLScan [DenyVerbs] 섹션에 명시적으로 나열 된 동사를 사용 하는 요청을 거부 합니다. 이 여기에 나타나지 않는 동사를 사용 하는 요청은 허용 됩니다. 이 경우 URLScan의 [AllowVerbs] 섹션을 무시합니다.

[DenyHeaders] 섹션

웹 서버에서 페이지를 요청 하는 클라이언트가 일반적으로 요청에 대 한 추가 정보가 들어 있는 일부 HTTP 헤더를 보냅니다. 일반적인 HTTP 헤더는 다음과 같습니다.
  • 호스트:

    이 헤더는 웹 서버의 이름을 포함합니다.
  • 수락:

    이 헤더는 클라이언트가 처리할 수 있는 파일 형식을 정의 합니다.
  • 사용자 에이전트:

    이 헤더는 페이지를 요청 하는 브라우저의 이름을 포함 합니다.
  • 권한 부여:

    이 헤더는 클라이언트가 지 원하는 인증 방법을 정의 합니다.
클라이언트는 추가 정보를 지정 하려면 서버에 다른 헤더를 보낼 수 있습니다.

[DenyHeaders] 섹션에서 URLScan은 거부 된 HTTP 헤더를 정의 합니다. URLScan이이 섹션에 나열 된 모든 헤더를 포함 하는 요청을 받으면 요청을 거부 합니다. 이 여기서는 각 헤더는 자체 줄에 나타납니다 HTTP 헤더 목록으로 구성 됩니다. 헤더 이름 뒤에 콜론 (:)와 야 (예를 들어, 헤더 이름:).

[AllowExtensions] 및 [DenyExtensions] 구역

대부분의 파일은 어떤 종류의 파일을 식별 하는 파일 이름 확장명이. 예를 들어, word 문서는 일반적으로 종료 HTML 파일 이름에.doc, 일반적으로 파일 이름.htm 또는.html, 종료 하 고 일반 텍스트 파일의 이름을.txt 일반적으로 종료. [AllowExtensions][DenyExtensions] 섹션 허용 URLScan은 차단 하는 확장을 정의할 수 있습니다. 예를 들어, 웹 사용자가 시스템에서 응용 프로그램을 실행 하는 것을 방지 하려면.exe 파일에 대 한 요청을 거부 하도록 URLScan을 구성할 수 있습니다.

[AllowExtensions][DenyExtensions] 섹션에 모두 동일한 구문을 있습니다. 파일 이름 확장명 목록으로 구성 하 고 각 확장 자체 줄에 나타납니다. 확장명은 마침표 (.)로 시작 (예:.ext)입니다.

URLScan은 어느 부분을 사용 하 여 [옵션] 섹션에서 UseAllowExtensions 값에 따라 결정 합니다. 이 옵션은 기본적으로 0으로 설정 됩니다. UseAllowExtensions 이 0으로 설정 되어, URLScan [DenyExtensions] 섹션에 나열 된 확장명 파일에 대 한 요청을 거부만 합니다. 이 섹션에 나열 되지 않은 모든 파일 이름 확장명은 허용 됩니다. [AllowExtensions] 섹션은 무시 됩니다.

UseAllowExtensions 는 1로 설정 되 면 URLScan 확장명 [AllowExtensions] 섹션에 명시적으로 나열 되지 않은 모든 파일에 대 한 요청 거부 합니다. 해당 섹션에 나열 된 파일 이름 확장명에 대 한 요청만 허용 됩니다. [DenyExtensions] 섹션은 무시 됩니다.

확장명이 없는 파일에 대 한 요청을 허용 하도록 URLScan을 구성 하는 방법에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.
312376 IIS에서 null 확장명 요청을 허용 하도록 URLScan을 구성 하는 방법

[DenyUrlSequences] 섹션

특정 URL에 있는 문자의 시퀀스가 포함 된 요청을 차단 하도록 URLScan을 구성할 수 있습니다. 예를 들어, 디렉터리 액세스 보안 문제를 이용 하는 악용으로 자주 사용 되는 두 개의 연속 된 마침표 (.) 포함 된 요청을 차단할 수 있습니다. 차단 하는 문자 시퀀스를 지정 하려면 배치 순서 줄에 단독으로 [DenyUrlSequences] 섹션에서.

Note는 문자 시퀀스를 추가 저하 될 수 있습니다 Outlook Web Access (OWA) Microsoft Exchange에 대 한. OWA에서 메시지를 열면 서버에서 요청한 URL에 메시지의 제목 줄이 포함 되어 있습니다. URLScan.ini 파일에서 백분율 기호 (%)를 포함 하는 모든 요청을 차단 하면 앰퍼샌드 기호 (&), 사용자가 "100% 판매 증가" 또는 "Bob 및 sue가 파티를 위해 마을"와 같은 제목 줄이 있는 메시지를 열려고 시도할 때 404 오류 메시지가 나타날 수 있으므로. 이 문제를 해결 하려면 이러한 시퀀스의 [DenyUrlSequences] 섹션에서 제거할 수 있습니다. 참고 이렇게 하면 문제를 보안 잠재적으로 손상을 줄 수 있기 때문에 서버에 연결 하도록 요청 합니다.

자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 해당 문서를 확인하십시오.
325965 의 URLScan 도구 Outlook Web Access에 문제를 일으킬 수 있습니다.

IIS에 종속 된 응용 프로그램과 함께 사용할 수 있도록 URLScan을 구성 합니다.

FPSE를 교환과 Microsoft Visual Studio.NET과 같은 응용 프로그램 올바른 작동을 위해 IIS에 따라 달라 집니다. URLScan을 올바르게 구성 하지 않으면 이러한 응용 프로그램 제대로 작동 하지 않을 수 있습니다.


이러한 응용 프로그램에서 제대로 작동 하도록 URLScan을 구성 하는 방법에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조 하는 다음 문서 번호를 클릭 합니다.
Exchange 환경에서 309508 IIS 잠금 및 URLscan 구성

309394 FrontPage 2000을 사용 하 여 URLScan을 사용 하는 방법

FrontPage 2002를 사용 하 여 URLScan을 사용 하는 318290 방법

보안 도구 키트 310588 ASP.NET을 Visual Studio.NET에서 디버깅을 중단합니다

자세한 내용

Urlscan.ini의 %WINDIR%\System32\Inetsrv\URLscan 폴더에 없으면 클라이언트 오류 404 응답을 받게 됩니다. 이 문제를 해결 하려면 Urlscan.ini 파일 백업에서 복원 하거나 동일한 서버에서 Urlscan.ini 파일을 복사 합니다.

참조

자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 해당 문서를 확인하십시오.
325864 설치 하 고 IIS 잠금 마법사를 사용 하는 방법

속성

문서 ID: 326444 - 마지막 검토: 2017. 2. 7. - 수정: 2

피드백