FTP의 주요 단점 중 하나 파일 전송의 경우 전송된 데이터에 대한 보호 및 암호화 수단이 부족합니다. FTP 서버에 연결할 때 사용자 이름과 암호도 일반 텍스트로 전송됩니다. 데이터를 전송하려면(특히 공용 통신 채널을 사용하여) FTPS 또는 SFTP와 같은 보다 안전한 프로토콜을 사용하는 것이 좋습니다. Windows Server 2012 R2에서 FTPS 서버를 구성하는 방법을 알아보겠습니다. .
FTPS 프로토콜 (FTP over SSL/TLS, FTP+SSL)은 표준 FTP 프로토콜의 확장이지만 클라이언트와 서버 간의 연결은 SSL/TLS를 사용하여 보호(암호화)됩니다. 원칙적으로 동일한 21 포트가 연결에 사용됩니다.
참고 . FTPS와 SFTP(보안 FTP 또는 SSH FTP)를 혼합해서는 안 됩니다. 후자는 FTP와 공통점이 없는 SSH 프로토콜의 확장입니다.
SSL을 통한 FTP 지원은 IIS 7.0(Windows Server 2008)에 나타났습니다. FTPS 서버가 작동하도록 하려면 IIS 서버에 SSL 인증서를 설치해야 합니다.
FTP 서버 역할 설치
Windows Server 2012에서 FTP 서버 역할을 설치해도 문제가 발생하지 않으며 이미 설명했습니다.
IIS에서 SSL 인증서를 생성하고 설치하는 방법
그런 다음 IIS 관리자 를 엽니다. 콘솔에서 서버를 선택하고 서버 인증서 로 이동합니다. 섹션 .
이 섹션에서는 인증서 가져오기, 인증서 요청 생성, 인증서 업데이트 또는 자체 서명 인증서 생성을 수행할 수 있습니다. 시연을 위해 자체 서명된 인증서를 만들어 보겠습니다. (New-SelfSifgnedCertificate cmdlet을 사용하여 만들 수도 있습니다.) 서비스 주소를 지정할 때 인증서가 신뢰할 수 없는 CA에서 발급되었다는 경고가 나타납니다. 이 인증서에 대해 이 경고를 비활성화하려면 GPO를 사용하여 신뢰할 수 있는 인증서 목록에 추가하십시오.
자체 서명된 인증서 만들기를 선택합니다. .
인증서 만들기 마법사에서 이름을 지정하고 웹 호스팅을 선택하십시오. 인증서 유형.
새로운 자체 서명 인증서가 사용 가능한 인증서 목록에 나타납니다. 이 인증서는 1년 후에 만료됩니다.
SSL을 지원하는 FTP 사이트를 만드는 방법
그런 다음 FTP 사이트를 만들어야 합니다. IIS 관리자에서 콘솔에서 사이트를 마우스 오른쪽 버튼으로 클릭 새 FTP 사이트를 만들고(FTP 추가 ).
이름과 FTP 사이트의 루트 디렉터리 경로를 지정합니다(이 경우 기본 경로 C:\inetpub\ftproot ).
마법사의 다음 창에서 SSL 인증서 섹션에서 생성한 인증서를 선택합니다.
이제 인증 유형과 사용자 액세스 권한만 선택하면 됩니다.
팁 . 각 사용자에게 고유한 FTP 루트 폴더가 있어야 하는 경우 수동 사용자 격리를 사용하여 FTP 서버를 만드는 방법을 사용할 수 있습니다.마법사 창에서 마침을 클릭합니다. 기본적으로 SSL 보호는 필수이며 관리 명령과 전송된 데이터를 모두 암호화하는 데 사용됩니다.
FTPS 및 방화벽
FTP 프로토콜을 사용할 때 2개의 다른 TCP 연결이 사용됩니다. 하나는 명령 전송용이고 다른 하나는 데이터 전송용입니다. 각 데이터 전송 채널에 대해 개별 TCP 포트가 열리며 이 포트는 클라이언트 또는 서버에서 선택합니다. 대부분의 방화벽은 FTP 트래픽을 검사할 수 있으며 이를 분석한 후 필요한 포트를 자동으로 엽니다. 보호된 FTPS 연결을 사용할 때 전송된 데이터는 암호화되어 분석 대상이 아닙니다. 결과적으로 방화벽은 데이터 전송을 위해 어떤 포트를 열어야 하는지 결정할 수 없습니다.
TCP 포트 1024-65535의 전체 범위를 외부에서 FTPS 서버로 열지 않도록 FTP 서버에 사용되는 주소 범위를 지정할 수 있습니다. 범위는 FTP 방화벽 지원 의 IIS 사이트 설정에 지정됩니다. 섹션.
포트 범위가 변경된 후 서비스를 다시 시작합니다(iisreset ).
다음 규칙은 Windows 방화벽에서 들어오는 트래픽을 담당합니다.
- FTP 서버(FTP 트래픽 인)
- FTP 서버 패시브(FTP 패시브 트래픽 인)
- FTP 서버 보안(FTP SSL 트래픽 인)
따라서 전면 방화벽에서 포트 21, 990 및 50000-50100(선택한 포트 범위)을 열어야 합니다.
SSL 연결을 통한 FTP 테스트 방법
FTPS 연결을 테스트하려면 Filezilla를 사용합시다.
- FileZilla 시작 (또는 FTPS를 지원하는 다른 클라이언트).
- 파일> 사이트 관리자를 클릭합니다. , 새 연결 만들기(새 사이트) .
- FTPS 서버 주소(호스트 ), 프로토콜 유형(필수 명시적 FTP 이상 TLS ), 사용자 이름(사용자 ) 및 인증을 위한 비밀번호 입력 요구 사항(요청 용 비밀번호 )
- 연결 클릭 비밀번호를 입력하세요.
- 신뢰할 수 없는 인증서에 대한 경고가 나타납니다(자체 서명된 인증서를 사용하는 경우). 연결을 확인합니다.
- 연결이 설정되어야 하며 다음 항목이 로그에 표시됩니다.
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established. - 보안 연결이 설정되고 FTPS 프로토콜을 사용하여 파일을 전송할 수 있음을 의미합니다.