Windows ETC

방화벽으로 보호되는 서버에서 FTP(파일 전송 프로토콜) 서비스를 사용하면 FTP 작동 방식 때문에 몇 가지 문제가 생길 수 있습니다. 표준 모드 FTP 클라이언트는 TCP 포트 번호 21로 "명령 채널" 연결을 열어 서버에 대한 세션을 시작합니다. 클라이언트는 서버에 PORT 명령을 보내 파일 전송을 요청합니다. 그러면 서버는 TCP 포트 번호 20으로 다시 클라이언트에 대한 "데이터 채널" 연결을 시작합니다. 클라이언트에서 실행 중인 일반 방화벽은 서버의 이 데이터 채널 연결 요청을 무단 연결로 인식하고 패킷을 삭제하므로 파일 전송이 실패합니다. 

Windows Vista 및 Windows Server 2008에서 고급 보안 기능을 가진 Windows 방화벽은 포트 20의 인바운드 연결 요청을 클라이언트의 이전 아웃바운드 PORT 명령과 일치시킬 수 있는 상태 저장 FTP를 지원합니다. 그러나 SSL을 통해 FTP를 사용하여 FTP 트래픽을 보호하고 암호화하는 경우 방화벽은 더 이상 서버의 인바운드 연결 요청을 검사할 수 없으며 해당 요청이 차단됩니다.

이 문제를 방지하기 위해 FTP는 클라이언트가 데이터 채널 연결을 시작하는 "수동" 작동 모드도 지원합니다. 클라이언트는 PORT 명령을 사용하는 대신, 명령 채널에서 PASV 명령을 보냅니다. 서버는 클라이언트가 데이터 채녈을 설정하기 위해 연결해야 하는 TCP 포트 번호로 응답합니다. 기본적으로 서버는 사용 후 삭제되는 범위(1025 - 5000)에서 제공되는 포트를 사용합니다. 서버 보안을 더 강화하려면 FTP 서비스에서 사용하는 포트 범위를 제한하고 허용된 포트 번호에서만 FTP 트래픽을 허용하는 방화벽 규칙을 만들면 됩니다.

  1. 수동 모드 FTP에 대해 제한된 수의 포트만 사용하도록 FTP 서비스 구성 

  2. 허용된 포트에서만 인바운드 FTP 연결을 허용하도록 인바운드 방화벽 규칙 구성 

수동 모드 FTP에 대해 제한된 수의 포트만 사용하도록 FTP 서비스 구성

  1. IIS 7.0 관리자의 연결 창에서 서버의 최상위 노드를 클릭합니다.

  2. 세부 정보 창에서 FTP 방화벽 지원을 두 번 클릭합니다.

  3. FTP 서비스에서 사용할 포트 번호 범위를 입력합니다. 예를 들어 41000-41099에서는 서버가 동시에 100개의 수동 모드 데이터 연결을 지원할 수 있습니다.

  4. 데이터 연결이 통과하는 방화벽의 외부 IPv4 주소를 입력합니다.

  5. 작업 창에서 적용을 클릭하여 설정을 저장합니다.

또한 위 절차에서 구성한 포트에서 인바운드 연결을 허용하도록 FTP 서버에서 방화벽 규칙을 만들어야 합니다. 숫자로 포트를 지정하는 규칙을 만들 수도 있지만 FTP 서버에서 수신 대기하는 포트를 여는 규칙을 만드는 것이 더 쉽습니다. 위 절차에 있는 단계를 수행하여 FTP가 수신 대기하는 포트를 제한합니다.

FTP가 수신 대기하는 포트에서만 인바운드 FTP 연결을 허용하도록 인바운드 방화벽 규칙 구성

  1. 관리자 명령 프롬프트를 엽니다. 시작, 모든 프로그램, 보조프로그램을 차례로 클릭하고 명령 프롬프트를 마우스 오른쪽 단추로 클릭한 다음 관리자 권한으로 실행을 클릭합니다.

  2. 다음 명령을 실행합니다.

    netsh advfirewall firewall add rule name=”FTP Service” action=allow service=ftpsvc protocol=TCP dir=in
    
  3. 마지막으로 방화벽이 FTP 트래픽을 차단하지 않도록 상태 저장 FTP 필터링을 해제합니다.

    netsh advfirewall set global StatefulFTP disable

적용 대상: Windows 7, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Vista
번호 제목 글쓴이 날짜 조회 수
237 스토리지 용도 HDD GPT 변환 및 포맷 방법 file 호스트웨이 2016.03.02 801
236 svchost.exe 프로세스 서비스 분리하기 file 호스트웨이 2016.02.01 567
235 PowerShell을 이용한 Alias(별칭) 만들기 file 호스트웨이 2015.12.31 282
234 Windows Server 2012 원격 데스크탑 세션 제한 해제하기 file 호스트웨이 2015.09.18 5655
233 볼륨 섀도우 카피 공간 축소 방법 호스트웨이 2015.09.18 573
232 winsxs폴더 용량 줄이기 호스트웨이 2015.09.18 887
231 Dependency 도구 이용한 dll 종속성 확인 file 호스트웨이 2015.09.18 240
230 DLL 파일이 필요할때 호스트웨이 2015.09.18 184
229 DiskPart를 이용한 디스크 초기화 file 호스트웨이 2015.09.18 552
228 forfiles를 이용한 파일 정리 호스트웨이 2015.09.18 248
227 du.exe를 사용하여 폴더별 용량 확인 호스트웨이 2015.09.18 1751
226 DNS서버 캐시지우기 호스트웨이 2015.09.18 328
225 터미널 서비스 포트 변경 호스트웨이 2015.09.18 219
224 Windows 2008, 2012에서 특정IP에 원격접속 허용하기 file 호스트웨이 2015.09.15 3714
» 수동모드 FTP 서버에서 Windows 방화벽을 구성하는 방법 호스트웨이 2015.09.14 513
222 삭제된 파일 복원 불가능하게 보안설정하기 file 호스트웨이 2015.09.10 771
221 Windows 2008 에서 netsh로 방화벽 컨트롤 호스트웨이 2015.09.09 321
220 tomcat이종료가안될때 호스트웨이 2015.09.08 402
219 USB 설치 드라이브 만들기 호스트웨이 2015.09.07 356
218 원격에서 터미널 연결된 세션 종료하기 호스트웨이 2015.09.07 671