본문 바로가기
취약점 진단/WINDOWS 취약점 진단

윈도우 서버 W-17 IIS 파일 업로드 및 다운로드 제한

by 게으른 피글렛 2024. 7. 29.
반응형

윈도우 서버 W-17 IIS 파일 업로드 및 다운로드 제한

항목중요도 : 상

1. 취약점 개요

▶ 점검내용 : IIS 파일 업로드 및 다운로드 제한 설정 여부 점검

 점검목적 : 기반시설 시스템은 파일의 업로드 및 다운로드를 원칙적으로 금지하나, 부득이 파일의 업로드 및 다운로드 기능을 활용해야 하는 경우, 파일의 용량 제한을 설정하여 보안성 유지 및 안정적인 웹서버 자원관리를 할 수 있도록 
하기 위함

 보안위협

 · 대용량 파일 업로드 및 다운로드가 가능한 경우 서버 리소스에 영향을 주어 서비스 장애가 발생할 수 있음

 참고

※ IIS에서는 파일의 업로드 및 다운로드 기능을 직접적으로 차단하는 기능이 없어, 웹사이트 내 파일의 업로드 및 다운로드 기능의 구현 여부의 병행 점검이 필요

2. 점검대상 및 판단 기준

  대상  Windows NT, 2000, 2003, 2008, 2012, 2016, 2019

  판단기준

 · 양호 : 웹 프로세스의 서버 자원 관리를 위해 업로드 및 다운로드 용량을 제한하는 경우

 · 취약 : 웹 프로세스의 서버 자원을 관리하지 않는 경우 (업로드 및 다운로드 용량 미 제한)

  조치방법 : 파일 업로드 및 다운로드 용량을 허용할 수 있는 최소 범위로 설정

3. 윈도우서버 초기 설정값

※ 테스트한 윈도우 서버의 버전은 windows server 2022 입니다.

 

확인방법

1)  c:\inetpub\wwwroot 에서 web.config 파일을 확인합니다. 

 

 

기본적으로 IIS에서 정하는 Default 값이 있습니다.

 

제 서버의 경우 IIS10.0 이므로 7.0 이상인 경우를 보면됩니다.

7.0이상 MaxAllowedContentLength: 콘텐츠 용량 제한 설정 /Default: 30,000,000 bytes(28.61MB)
7.0이상 MaxRequestEntityAllowed: 파일 업로드 용량 제한 설정 /Default: 4,194,304 bytes(4MB)
7.0이상 BufferingLimit: 파일 다운로드 용량 제한 설정 /Default: 4,294,967,295 bytes(4GB)

(위의 용량정보는 chatgpt로 확인했습니다. 정확하지 않을 수도 있습니다.)

 

해당 항목의 양호 기준은 웹 프로세스의 서버 자원 관리를 위해 업로드 및 다운로드 용량을 제한하는 경우 이므로

해당 용량 만큼 필요하다면 그대로 두고 양호로 하면됩니다. 

 

정부의 설정 기준으로 변경하고 싶다면 변경하시면 됩니다.

 

가이드기준

※ Default 설정 값
(1) MaxAllowedContentLength (콘텐츠 용량) => Default: 30MB
(2) MaxRequestEntityAllowed (파일 업로드 용량) => Default: 200,000 byte(0.1907 MB)
(3) BufferingLimit (파일 다운로드 용량) => Default: 4MB(4,194,304 byte)

 

4. 조치

기본적 설정은 되어있지만, 저는 저 Default 값을 맞추고 싶으므로 변경해보겠습니다.

저정도의 용량제한이 필요하시다면 그대로 두셔도됩니다. 

 

조치해보겠습니다.

 

1) c:\inetpub\wwwroot 에서 web.config 파일에서 콘텐츠 용량을 변경합니다.

(web.config 파일이 없으면 사이트 홈 디렉토리에 새로 생성)

<configuration>
 <system.webServer>
 <security>
 <requestFiltering>
 <requestLimits maxAllowedContentLength="31457280" /> #콘텐츠 용량
 </requestFiltering>
 </security>
 </system.webServer>
</configuration>

 

 2) c:\windows\system32\inetsrv\config\applicationHost.config 파일에서  파일 업로드 용량, 파일 다운로드 용량 을 변경합니다.

<system.webServer>
 <asp>
 <limits bufferingLimit="200000" maxRequestEntityAllowed="4194304"/> 
 # bufferingLimit="파일다운로드용량" maxRequestEntityAllowed="파일업로드용량"
 </asp>
</system.webServer>

5. 결과

이렇게 추가하고 나면 조치 완료입니다!

저는 용량을 그대로 둘 예정이기 때문에 저장하지는 않았습니다만, 필요에 따라서 저장하셔서 관리하면됩니다.

 

 

윈도우서버를 마스터하는 그날까지

화이팅!

 

반응형