FTPS 보안 파일 전송의 연결 방식과 운영 고려사항

FTPS의 SSL/TLS 기반 인증·암호화·무결성 보호 방식과 명시적·암시적 연결, 데이터 채널 및 운영 설정을 정리한다.

2026-08-14 · 최초 발행 2025-08-10

FTP 전송 경로를 SSL/TLS로 보호하는 방식

FTPS는 기존 FTP에 SSL/TLS 암호화 프로토콜을 결합한 보안 파일 전송 프로토콜이다. FTP Secure, FTP-SSL, FTPES, S-FTP라는 이름으로도 불리지만 같은 개념을 가리킨다.

FTP 명령과 데이터는 SSL/TLS 계층을 거쳐 암호화된 상태로 전달된다. 이는 OSI 7계층 모델의 전송 계층에 보안 기능을 더한 형태이며, 표준 FTP가 평문으로 전송하면서 노출하던 문제를 줄인다.

인증·암호화·무결성이 담당하는 역할

FTPS는 클라이언트와 서버가 서로의 신원을 확인할 수 있도록 한다. PKI 기반 인증서도 지원하며, 인증 방식은 다음과 같이 나뉜다.

  • 익명 인증: 최소한의 인증만 수행
  • 일반 인증: 사용자 이름과 비밀번호 기반 인증
  • 인증서 기반 인증: X.509 인증서를 통한 강력한 인증

전송 데이터는 제3자가 내용을 읽지 못하도록 암호화한다. AES, 3DES, RC4 등의 암호화 알고리즘을 지원하며, 명령 채널과 데이터 채널을 모두 암호화할 수 있다. 키 길이와 암호화 강도 역시 조정할 수 있다.

전송 중 변조를 확인하는 무결성 기능도 제공한다. 해시 함수와 디지털 서명으로 데이터를 검증하고, 메시지 인증 코드(MAC)로 변조를 탐지한다.

핸드셰이크 뒤에 암호화된 FTP 세션이 열린다

SSL/TLS 핸드셰이크에서 클라이언트와 서버는 사용할 암호화 스위트를 정하고, 인증서와 키 교환을 마친 뒤 보안 채널을 설정한다. 그 이후 USER, PASS 같은 FTP 명령과 응답이 암호화되어 전달된다.

FTPS 서버FTPS 클라이언트FTPS 서버FTPS 클라이언트보안 채널 설정 완료Client Hello (지원 암호화 스위트 목록 전송)Server Hello (선택된 암호화 스위트 응답)서버 인증서 전송Server Hello Done클라이언트 키 교환Change Cipher Spec (암호화 시작 알림)Finished (암호화된 핸드셰이크 완료 메시지)Change Cipher SpecFinished암호화된 FTP 명령 (USER, PASS 등)암호화된 FTP 응답

연결을 시작하는 시점에 따라 달라지는 FTPS

명시적 모드(Explicit Mode, FTPES)는 기본 FTP 포트인 21에 연결한 뒤 AUTH TLS 또는 AUTH SSL 명령으로 SSL/TLS 협상을 요청한다. 기존 FTP 서버와의 호환성을 유지할 수 있으며, 제어 채널 연결 후 협상을 거쳐 암호화된 통신으로 전환된다.

암시적 모드(Implicit Mode, FTPS)는 처음부터 SSL/TLS가 적용된 상태로 연결한다. 일반적으로 포트 990을 사용해 FTP의 포트 21과 구분하며, 접속 직후 핸드셰이크를 수행한다. 모든 통신이 시작부터 암호화되지만 호환성은 낮다.

별도 데이터 채널까지 보호해야 한다

FTPS에서는 제어 채널과 데이터 채널이 분리되므로 데이터 채널 역시 별도로 암호화해야 한다. PROT C(Clear) 또는 PROT P(Private) 명령으로 데이터 채널의 보안 수준을 지정할 수 있고, 액티브 모드와 패시브 모드 모두 SSL/TLS 보호가 가능하다.

방화벽 환경에서는 패시브 모드가 더 적합한 경우가 많다.

액티브 모드패시브 모드FTPS 연결제어 채널 암호화데이터 채널 모드 선택서버가 클라이언트 포트로 연결클라이언트가 서버 포트로 연결데이터 채널 SSL/TLS 협상암호화된 데이터 전송

SFTP와 비교할 때 확인할 차이

특성 FTPS SFTP
기반 프로토콜 FTP + SSL/TLS SSH File Transfer Protocol
연결 포트 21(명시적), 990(암시적) 22(SSH)
채널 수 제어 채널 + 데이터 채널 단일 채널
방화벽 통과 복잡 (여러 포트 필요) 간단 (단일 포트)
인증 방식 사용자/비밀번호, 인증서 사용자/비밀번호, 키 기반
확장성 FTP 명령 세트 모두 지원 제한된 명령 세트
구현 복잡성 상대적으로 복잡 상대적으로 단순

인증서와 네트워크 경로를 운영에 반영하기

신뢰할 수 있는 CA(Certificate Authority)에서 발급한 인증서를 사용하는 것이 권장된다. 자체 서명 인증서를 쓸 경우에는 클라이언트 측 신뢰 설정이 필요하며, 인증서 만료일 모니터링과 갱신 프로세스도 갖춰야 한다.

패시브 모드에서는 데이터 채널에 사용할 포트 범위를 정하고 방화벽에서 허용해야 한다. NAT(Network Address Translation) 환경에서는 추가 구성도 필요하다.

SSL/TLS 암호화는 CPU 부하를 늘릴 수 있고, 대용량 파일 전송에서는 처리량이 감소할 가능성이 있다. 하드웨어 가속이나 최적화된 암호화 라이브러리 사용을 검토할 수 있다.

암호화 정책은 약한 알고리즘을 비활성화하고 강력한 알고리즘을 선택하는 방향으로 구성한다. TLS 1.2 이상 사용, 정기 보안 감사, 취약점 점검도 정책에 포함한다.

보안 요구가 높은 전송 환경

금융 기관에서는 고객 데이터와 거래 정보를 전송하기 위해 FTPS를 구축할 수 있다. 양방향 인증(2-way Authentication)으로 서버와 클라이언트의 인증서를 모두 검증하고, 키 갱신과 인증서 관리를 자동화하며, 모든 파일 전송 로그를 보관하는 감사 체계를 둘 수 있다.

의료 정보 시스템에서는 환자 정보와 의료 영상 데이터를 보호하는 전송 경로로 사용할 수 있다. HIPAA(Health Insurance Portability and Accountability Act) 규정 준수, 전송 데이터 암호화와 무결성 검증, 접근 제어 및 인증 강화를 통한 개인 의료 정보 보호가 요구된다.

운영 정책으로 보안을 더하는 방법

최신 TLS 버전인 TLS 1.2/1.3을 사용하고 안전하지 않은 암호화 알고리즘을 비활성화한다. RSA 2048비트 이상의 충분한 키 길이도 설정 대상이다.

인증은 MFA 도입을 검토하고, 강력한 비밀번호 정책 및 인증서 기반 인증 활성화로 보강할 수 있다. 최소 권한 원칙, IP 기반 접근 제한, 사용자별 디렉터리 격리는 접근 제어에 적용한다.

파일 전송 활동 전체를 로깅하고 실시간 모니터링 체계를 구성하며, 정기적인 보안 감사를 수행한다. FTPS는 기존 FTP 기능을 유지하면서 인증·암호화·무결성을 제공하지만, 방화벽 환경의 연결 복잡성은 구성 단계에서 해소해야 한다.

FTPSSSL/TLS파일 전송네트워크 보안인증