Learning
토픽 51 / 147·네트워크 기초 및 프로토콜

FTP/FTPS/SFTP

FTP/FTPS/SFTP

네트워크를 통해 파일을 전송하기 위한 응용 계층 프로토콜로, 보안 수준에 따라 FTP(평문), FTPS(TLS 암호화), SFTP(SSH 기반)로 구분

FTP (File Transfer Protocol)

  • TCP 기반, 제어 채널(21포트) + 데이터 채널(20포트)
  • 액티브 모드: 서버→클라이언트 데이터 연결(방화벽 문제 발생)
  • 패시브 모드: 클라이언트→서버 데이터 연결(방화벽 친화적, PASV 명령)
  • 평문 전송(인증정보/데이터 노출 위험), RFC 959

FTPS (FTP Secure / FTP over TLS)

  • FTP + TLS/SSL 암호화, X.509 인증서 기반 서버 인증
  • 암시적(Implicit) FTPS: 990포트, 연결 시작부터 TLS, 레거시
  • 명시적(Explicit) FTPS: 21포트, AUTH TLS 명령으로 암호화 전환, 권장 방식
  • 채널별 암호화 선택 가능(제어 채널만 또는 제어+데이터)

SFTP (SSH File Transfer Protocol)

  • SSH(22포트) 기반, FTP와 무관한 별도 프로토콜
  • 단일 포트(22), 모든 데이터 암호화, 키 기반 인증 지원
  • 파일 전송 + 원격 파일 관리(디렉토리 조회/삭제/권한 변경)

비교

보안 권장사항: FTP 사용 금지(평문), SFTP 우선 권장(단일 포트/강력한 암호화), FTPS는 인증서 관리 필요, 키 기반 인증 적용

적용사례: 서버 파일 관리, 웹 호스팅 배포, 자동화 배치 파일 전송, CI/CD 산출물 전송

연관: SSH, TLS/SSL, TCP, 파일 전송, 보안 프로토콜