보안 취약점 중 '웹서비스 내 메소드 설정 공격' 이라는 항목에 대해 조치하는 방안을 설명합니다.
대표적으로 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>