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 다운로드는 아래의 링크에서 가능합니다.
- 32 Bit: https://www.iis.net/go/1697
- 64 Bit: https://www.iis.net/go/1698
추가적인 URLScan과 관련된 자료는 아래와 같습니다.
URLScan FAQ, Using URLSCAN, Common URLScan Scenarios
IIS를 공격하고자 하는 다양한 방법론에 대해서, URLScan이 방어할 수 있는 부분이 상당히 많습니다. 시간이 허락되신다면, IIS 보안 강화를 위해 URLScan의 설치를 권장합니다.
Comments
Anonymous
September 02, 2008
현재 2k3 x64 / wow64 환경에서 iis를 운영하고 있습니다. 수 년전 고객사에서 구매한 업로드 컴포넌트가 당연히 32비트용이라서요. urlscan이 isapi 모듈이라고 알고 있는데요, 언뜻 생각해 보면 이러한 환경이라면 os가 x64지만 x86용 바이너리를 설치해야 할 것 같은데 맞나요? x86 msi 패키지는 당연히 설치 거부를 합니다만, 위와 같은 답이라면 다른 곳에서 설치 후 isapi 모듈을 가져와서 설치해야 할 것 같은데 조언 좀 부탁드립니다.Anonymous
September 02, 2008
ienfant님 안녕하세요. 제 생각에는 설치모듈은 x64용을 사용하셔야 할 것으로 생각합니다. IIS 6.0 x64의 경우에, ISAPI 모듈은 x64.. WOW64안에서 x86이 돌아가는 걸로 알고 있습니다. 이에 둘다 사용이 가능한 것이고요.. 경험이 없는 부분이나, 그냥 일반적인 생각에서는, 패키지를 그렇게 귀찮게 설치하도록 만들어 놓지는 않았을거라 생각합니다.Anonymous
October 03, 2008
Microsoft Web Platform Site 가 새롭게 개편되면서, 외부 블로그나 프레스에서의 메시지와 더불어, Microsoft에서 발표하는 여러 아티클에 대한 포탈 형식으로