본문 바로가기
Network

[Network] FTP, FTPS, SFTP

by BTC_PIKA 2022. 5. 20.

1. FTP

- 파일 전송 프로토콜(File Transfer Protocol)

- TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 위한 프로토콜

 

1-1. 프로토콜 개요

- HTTP와는 달리 연결의 종류가 2가지

- 명령 연결 : 먼저 제어 포트인 서버 21번 포트로 사용자 인증, 명령을 위한 연결 생성, 해당 연결을 통해 클라이언트에서 지시하는 명령어 전달

- 데이터 전송용 연결 : 실제의 파일 전송은 필요할 때 새로운 연결이 만들어짐

- 능동 모드(액티브 모드): 서버가 자신의 데이터 포트인 20번 포트에서부터 클라이언트가 지정한 지점으로의 데이터 연결을 만든다. 클라이언트가 지정하는 포트는 주로 1023보다 큰 번호가 매겨진 포트다. 클라이언트가 방화벽이나 NAT 등을 사용하는 환경일 때에 잘 동작하지 않을 수 있으나 수동 모드를 이용하면 된다.

- 수동 모드(패시브 모드): 클라이언트가 서버가 지정한 서버 포트로 연결할 수 있게 한다. 이 때에는 보통 양쪽 포트 모두 1023보다 큰 포트를 사용

포트 21을 이용하여 수동 연결을 시작하는 모습

 

2. FTPS

- FTP는 보안 프로토콜로 계획된 것이 아니기 때문에 수많은 보안 취약점이 존재

- 파일 전송 프로토콜의 경우 서버의 파일을 바꾸거나 지울 수 있기 때문에 전송하기 앞서 사용자 이름과 암호를 묻는 인증 과정이 필요, 그러나 FTP에서는 보통 암호가 암호화되지 않아 위험하기 때문에 원타임 암호를 이용한 인증을 이용하며, 아예 SFTP, SCP등 다른 방법을 사용하게 됨

-  FTPS는 이러한 FTP를 보완하기 위한 FTP 표준의 확장으로 클라이언트가 FTP 세션이 암호화되도록 요청할 수 있게 한다.

 

2.1 장점

- SFTP와 달리 사람이 통신을 이해하고 읽을 수 있음

- 서버 간 파일 전송 실행 허용

- SSL/TLS는 강력한 인증 메커니즘 역할을 하는 X.509 인증서 기능과 함께 제공

- 여러 인터넷 통신 인프라에 FTP 및 SSL 지원 내장

 

2.2 단점

- 프로토콜에 디렉토리 목록에 대한 표준화된 형식이 포함되어 있지 않음

- 보조 데이터 채널의 사용 때문에 방화벽 뒤에서의 사용이 어려움

- 인코딩 또는 파일 이름 문자 집합에 대한 지침이 없음

- 모든 FTP 서버에서 SSL/TLS 지원을 사용할 수 있는 것은 아님

- 디렉토리 또는 파일 속성을 보호하고 수정하는 표준 방법을 정의하지 않음

 

 

3. SFTP

- Secure File Transfer Protocol, 보안 파일 전송 프로토콜

- 신뢰할 수 있는 데이터 스트림을 통해 파일 접근, 파일 전송, 파일 관리를 제공하는 네트워크 프로토콜

- 국제 인터넷 표준화 기구(IETF)에서 보안 파일 전송 기능을 제공할 목적으로 시큐어 셸 프로토콜 버전 2.0의 확장으로    설계

- SSH와 같은 보안 채널을 통해 수행

- FTP와 이름이 비슷하고 파일을 전송하는 프로토콜로 파생되어 나온 것이 아닌 처음부터 새로 설계된 새로운 프로토콜

 

3.1 장점

- SFTP는 하나의 연결만 필요하며, 데이터 연결이 필요하지 않음

- 연결이 안전하게 보호

- 컴퓨터가 읽을 수 있고 균일한 디렉토리 목록을 가짐

- 프로토콜에서 제공하는 추가 기능으로 파일 잠금, 속성 조작, 권한 작업 및 많은 기능 포함

 

3.2 단점

- SSH 키의 유효성 검사 및 관리가 복잡

- 여러 공급업체의 소프트웨어 타이틀 간에 호환성 문제를 일으킬 수 있는 SFTP 구성 표준 존재

- 서버 간 복사 외에 재귀 디렉터리에 대한 제거 작업을 제공하지 않음

- .NET 및 VCL은 기본적으로 SSH/SFTP의 지원이 포함되어 있지 않음

 

FTP와 SFTP의 차이

 

'Network' 카테고리의 다른 글

[Network] ICMP & IGMP  (0) 2022.06.03
[Network]Telnet & SSH  (0) 2022.05.27
[Network] HTTP, HTTPS  (0) 2022.05.13
공공기관용 IPSEC VPN 소개  (0) 2022.05.12
[Network] Protocol  (0) 2022.05.06

댓글