1. FTP
- 파일 전송 프로토콜(File Transfer Protocol)
- TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 위한 프로토콜
1-1. 프로토콜 개요
- HTTP와는 달리 연결의 종류가 2가지
- 명령 연결 : 먼저 제어 포트인 서버 21번 포트로 사용자 인증, 명령을 위한 연결 생성, 해당 연결을 통해 클라이언트에서 지시하는 명령어 전달
- 데이터 전송용 연결 : 실제의 파일 전송은 필요할 때 새로운 연결이 만들어짐
- 능동 모드(액티브 모드): 서버가 자신의 데이터 포트인 20번 포트에서부터 클라이언트가 지정한 지점으로의 데이터 연결을 만든다. 클라이언트가 지정하는 포트는 주로 1023보다 큰 번호가 매겨진 포트다. 클라이언트가 방화벽이나 NAT 등을 사용하는 환경일 때에 잘 동작하지 않을 수 있으나 수동 모드를 이용하면 된다.
- 수동 모드(패시브 모드): 클라이언트가 서버가 지정한 서버 포트로 연결할 수 있게 한다. 이 때에는 보통 양쪽 포트 모두 1023보다 큰 포트를 사용
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의 지원이 포함되어 있지 않음
'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 |
댓글