[IIS] HTTP 불필요한 메소드 차단 방법

보안 취약점 중 '웹서비스 내 메소드 설정 공격' 이라는 항목에 대해 조치하는 방안을 설명합니다.

대표적으로 OPTIONS, TRACE, DELETE와 같은 메소드로 요청을 통해 서비스에 대한 공격을 가하는데, 이와 같이 불필요한 메소드에 대해서 사전에 요청이 차단될 수 있도록 IIS관리자에서 설정해보도록 하겠습니다.

 

IIS 관리자 설정(7.0 이상)

IIS 관리자 접속 > 해당 웹 사이트 > [요청 필터링] 클릭

 

오른쪽 영역에서 [동사 거부] 클릭합니다. 차단하고자 하는 HTTP 메소드를 입력해주고 [확인]

 

web.config 설정

IIS관리자에서 설정하고 나면 web.config 내 secutiry 하위에도 아래와 같이 반영되있는 걸 확인할 수 있습니다.

<security> 
<requestFiltering allowDoubleEscaping="false"> 
 <requestLimits maxAllowedContentLength="300000000" maxUrl="26000" maxQueryString="250000" />
   <!-- 보안상 불필요한 메소드 호출 차단-->
   <verbs allowUnlisted="true"> 
   <add verb="HEAD" allowed="false" /> 
   <add verb="OPTIONS" allowed="false" /> 
   <add verb="PUT" allowed="false" /> 
   <add verb="DELETE" allowed="false" /> 
   <add verb="TRACE" allowed="false" /> 
  </verbs> 
 </requestFiltering> 
</security>