본문 바로가기
인프라 진단/전자금융기반시설(서버) - IIS

SRV-021 (IIS) FTP 서비스 접근 제어 설정 미비

by 49 BLOCK 2024. 1. 5.

notice

SRV-021 (IIS) FTP 서비스 접근 제어 설정 미비

【 상세설명 】
FTP는 파일을 전송하기 위한 프로토콜로 계정과 패스워드를 암호화하지 않고 평문 전송을 하며, 적절한 접근통제 정책 미적용 시 비인가자에게 시스템 파일이 노출될 수 있으므로 FTP 접근 제어 설정의 적절성 여부를 점검

【 판단기준 】
- 양호 : 특정 IP 주소 또는 호스트에서만 FTP 서버에 접속하도록 접근제어 설정을 적용한 경우
- 취약 : 특정 IP 주소 또는 호스트에서만 FTP 서버에 접속하도록 접근제어 설정을 적용하지 않은 경우

【 판단방법 】
  1. FTP 서비스 구동 확인
      ※ 『시작 유형」 "사용 안 함" 설정 후 『서비스 상태」 "중지" 설정 확인
  2. FTP 서버 접근 제어 설정 확인
      ※ "metabase.xml" 파일 경로 : %systemroot%\system32\inetsrv\MetaBase.xml
      ※ "applicationhost.config" 파일 경로 : %systemroot%\system32\inetsrv\config\applicationHost.config
      ※ "applicationhost.config" : <system.ftpServer><security><ipSecurity> 에서 접근 제어 설정 확인

  ■ Windows 2003
      ① 시작 > 실행 > services.msc > 서비스 > FTP Publishing Service
      ② 『시작 유형」 및 『서비스 상태」 설정 확인
또는
        cmd > sc query MSFTPSVC 
            SERVICE_NAME: MSFTPSVC 
                    TYPE               : 30  WIN32_SHARE_PROCESS
                    STATE              : 4  RUNNING 
                                            (STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
                    WIN32_EXIT_CODE    : 0  (0x0)
                    SERVICE_EXIT_CODE  : 0  (0x0)
                    CHECKPOINT         : 0x0
                    WAIT_HINT          : 0x0
        cmd > netstat -an | findstr :21 
            TCP    0.0.0.0:21           0.0.0.0:0           LISTENING
            TCP    [::]:21                [::]:0                 LISTENING

      [IIS 6.0] : "metabase.xml" 은 <ipsecurity> 속성 미지원
      ③ 시작 > 실행 > inetmgr > 인터넷 정보 서비스(IIS) 관리 > FTP 사이트 > 해당 FTP 사이트 > 속성 > "디렉토리 보안" 탭
      ④ "기본적으로 모든 컴퓨터에" 옵션 "액세스 거부" 체크 확인
      ⑤ 예외 목록의 예외 IP 주소 확인

      ※ "기본적으로 모든 컴퓨터에" 옵션 및 예외 IP 적용
          - "액세스 허가" 옵션 선택 시 모든 액세스를 허용 후 예외 IP 주소(액세스를 거부할 단일 컴퓨터, 그룹, 도메인) 적용
          - "액세스 거부" 옵션 선택 시 모든 액세스를 거부 후 예외 IP 주소(액세스를 허용할 단일 컴퓨터, 그룹, 도메인) 적용

  ■ Windows 2008, 2008 R2, 2012, 2012 R2, 2016, 2019, 2022
      ① 시작 > 실행 > services.msc > 서비스 > Microsoft FTP Service
      ② 『시작 유형」 및 『서비스 상태」 설정 확인
또는
        cmd > sc query FTPSVC 
            SERVICE_NAME: FTPSVC 
                    TYPE               : 30  WIN32  
                    STATE              : 4  RUNNING 
                                            (STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
                    WIN32_EXIT_CODE    : 0  (0x0)
                    SERVICE_EXIT_CODE  : 0  (0x0)
                    CHECKPOINT         : 0x0
                    WAIT_HINT          : 0x0
        cmd > netstat -an | findstr :21
            TCP    0.0.0.0:21           0.0.0.0:0           LISTENING
            TCP    [::]:21                [::]:0                 LISTENING

      [IIS 7.0, IIS 8.0, IIS 10.0] : "applicationhost.config"
      ③ 시작 > 실행 > inetmgr > IIS(인터넷 정보 서비스) 관리자 > 사이트 > 해당 FTP 사이트 > "FTP IP 주소 및 도메인 제한"
      ④ 허용 항목 및 거부 항목 목록 확인
      ⑤ 우측 『작업」 공간 > 기능 설정 편집 > "지정되지 않은 클라이언트에 대한 액세스" 기능 "거부" 설정 확인
  또는
      <location path="ftp.example.com">
        <system.ftpServer>
           <security>
              ...
              <ipSecurity enableReverseDns="false" allowUnlisted="true">
              <add ipAddress="127.0.0.1" allowed="true" />
              <add ipAddress="169.254.0.0" subnetMask="255.255.0.0" allowed="false" />
              </ipSecurity>
           </security>
        </system.ftpServer>
        </location>

【 조치방법 】
  1. 특정 IP 주소 또는 호스트에서만 FTP 서버에 접속하도록 접근 제어 설정
      ※ "metabase.xml" : <ipsecurity> 속성 미지원
      ※ "applicationhost.config" : <system.ftpServer><security><ipSecurity> 에서 접근 제어 설정
      ※ 개별 FTP 사이트에만 설정 시 해당 사이트에만 설정 적용
  2. FTP 서버 재시작

  2024-01-13 : (조치과정 삭제)