URLScan 3.0 for IIS

상당히 많은 수의 웹 사이트가 SQL 인젝션(SQL Injection) 공격에 대해 방어를 하고 있고, 취약점이 노출되었을 경우, 피해는 말로 표현할 수가 없습니다. 해킹을 당한 사례가 있는 플랫폼의 경우, 상당수가 SQL 인젝션을 통한 공격을 당한 것으로 저도 지인에게 들은 적이 많습니다.

SQL 인젝션 공격을 방어할 수 있는 방법은 다음과 같은 개발 방법론을 사용하는 것뿐입니다. 이러한 개발 방법론과 더불어 서버 관리자가 웹 응용 프로그램이 SQL 인젝션에 대해서 대비할 때까지 서버를 방어할 수 있는 또다른 방법은 바로 IIS 웹 서버내 URLScan을 사용하는 것도 아주 좋은 방법이라 생각합니다.

URLScan의 경우, IIS 5.0 시절에 처음으로 소개되었던 IIS의 확장 모듈로서, 쉽게 설명하면 IIS에 쉴드를 하나 더 씌우는 것입니다. IIS로 전송되는 웹 요청에 대해서 먼저 URLScan이 검사를 하고, 요청이 허용되지 않은 Verb을 사용하거나, 쿼리 길이, 이스케이프에 대한 처리등에 대해 이를 거부할 수 있는 방패를 달아주는 것이죠. Windows Server 2003의 IIS 6.0, Windows Server 2008의 IIS 7.0의 경우에도 URLScan 모듈을 기본적으로 가지고 있습니다.

새롭게 출시된 URLScan 3.0의 경우, IIS 5.1이상의 버전에서 설치하실 수 있으며, IIS 5.1이상의 버전에서 설치 및 업그레이드가 가능합니다. 물론 Windows Server 2008의 IIS 7에도 설치가 가능합니다.

한가지 잘 구분해야할 사실은 IIS 7.0에 포함된 요청 필터링(Request Filtering)과는 별개의 모듈이므로, URLScan이 요청 필터링을 업데이트해주는 것은 아닙니다.

IIS 팀에서 발표한 URLScan 3.0의 업데이트된 기능들입니다.

  • Deny rules can be independently applied to a query string, all headers, a particular header, a URL or a combination of the above.
  • Configuration change notifications are propagated to the IIS worker processes so configuration changes don’t require worker process restarts.
  • The global DENYQUERYSTRING section of the configuration file allows you to add deny rules for query strings and include an option to check the un-escaped version of the query string.
  • The global ALWAYSALLOWEDQUERYSTRINGS section allows for the specification of safe query strings that will bypass all query string checks.  (This feature was not in the previously released URLScan 3.0 beta).
  • Descriptive configuration errors are now available in W3C formatted logging.  This feature was also not available in the beta.
  • Escape sequences like (%0A%0D) can now be used in deny rules allowing to deny CTRLF and other sequences involving non-printable characters.

URLScan 다운로드는 아래의 링크에서 가능합니다.

추가적인 URLScan과 관련된 자료는 아래와 같습니다.

URLScan FAQ, Using URLSCAN, Common URLScan Scenarios

IIS를 공격하고자 하는 다양한 방법론에 대해서, URLScan이 방어할 수 있는 부분이 상당히 많습니다. 시간이 허락되신다면, IIS 보안 강화를 위해 URLScan의 설치를 권장합니다.