IIS 에서 Server 헤더 삭제하는 방법
IIS 6, IIS 7, IIS 7.5 에서 취약점 중 하나인 Server 헤더를 삭제하는 방법을 정리해봤습니다.
퍼가실 때는 출처를 꼭 남겨주세요. =)
다음 내용은 첨부파일의 텍스트파일에 있으니 첨부파일을 보시면 됩니다.
====================================
IIS7.5 간단
====================================
1. web.config 수정 (system.webServer 섹션)
1) modules 속성값 runAllManagedModulesForAllRequests="true" 추가
2) <httpProtocol> 섹션 추가
(..)
<system.webServer>
..
<modules runAllManagedModulesForAllRequests="true"> <!-- 1번 -->
.........
</modules>
<!-- 2번 -->
<httpProtocol>
<customHeaders>
<remove name="X-AspNet-Version" />
<remove name="X-AspNetMvc-Version" />
<remove name="X-Powered-By" />
<remove name="Server" />
</customHeaders>
</httpProtocol>
..
</system.webServer>
(..)
====================================
IIS7, 7.5 공용
====================================
1. gacutil.exe, CloakIIS.dll 파일을 아무데나 복사.
2. 다음 명령으로 GAC(Global Assembly Cache) 에 등록
c:...> gacutil /i CloakIIs.dll
3. web.config 에 다음을 넣어서 모듈 등록
[ IIS7 ]
(..)
<system.webServer>
<modules>
..
------------------------------------------
<add name="CloakIIS"
type="Zen.Core.Web.CloakIIS.CloakHttpHeaderModule, CloakIIS,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=c6321eb52d6db003" />
------------------------------------------
..
</modules>
</system.webServer>
(..)
4. fiddler 로 접속 후 Header 삭제 확인
====================================
Windows 2003 + IIS6
====================================
1. urlscan_setup 실행. 설치.
2. \windows\system32\inetsrv\urlscan\urlscan.ini 파일을 열어 다음 수정
RemoveServerHeader=0
을
RemoveServerHeader=1
로 변경
3. 서비스에서 IIS Admin Service 재시작.
4. fiddler 로 접속 후 Header 삭제 확인