■ FTP
1. FTP(File Transfer Protocol)는 파일을 전송하기 위한 통신 프로토콜이다.
즉, 네트워크를 통해 파일을 서버와 클라이언트 간에 주고받을 수 있게 해주는 표준 방식이다.
2. 텍스트 모드 또는 바이너리 모드로 전송한다.
3. 포트는 20, 21을 사용한다.
4. 대부분의 FTP 서버는 사용자 인증을 요구한다. (아이디/비밀번호)
5. 윈도우 탐색기에서 바로 접속 가능하다.
■ sFTP
1. sFTP는 Secure File Transfer Protocol 또는 SSH File Transfer Protocol의 약자로, 이름처럼 보안이 강화된 파일 전송 프로토콜이다.
기존의 FTP와는 다르게 SSH(Secure Shell) 프로토콜을 기반으로 하여 모든 데이터 전송을 암호화한다.
2. SSH로 암호화되어 전송한다.
3. 포트는 22를 사용한다. (SSH와 동일)
4. 별도의 데이터 포트가 없이 하나의 연결(SSH 채널)을 통해 모든 작업 수행한다.
5. ID/비밀번호 또는 공개키 기반 인증이 가능하다.
6. 윈도우 탐색기에서 바로 접속 불가능하다. (WinSCP, FileZilla, Cyberduck을 이용하여 접속)
■ 그러면 왜 sFTP가 나왔을까?
1. 결론은 보안 문제다. FTP는 1970~80년대에 만들어졌고, 다음과 같은 심각한 보안 취약점이 있었다.
- 로그인할 때 ID와 비밀번호를 평문(암호화 없이) 전송
- 파일이나 디렉터리 정보도 모두 암호화 없이 전송
- 패시브/액티브 포트 방식으로 인해 방화벽 설정이 매우 복잡하고 위험
※ 결과적으로 도청, 세션 가로채기, 중간자 공격 등에 쉽게 노출되었다.
2. 그래서 sFTP란 것이 나오기 전에, FTP에 SSL을 얹은 FTPS가 먼저 나왔다. 이것 또한 문제점이 있었다.
- FTP 특유의 데이터 포트와 제어 포트가 분리된 구조 유지
- 방화벽이나 NAT(Network Address Translation) 환경에서 연결 문제 많음
- 서버와 클라이언트 간에 인증서 설정도 번거로움
※ 결과적으로 복잡하고 신뢰하기 어려운 구현으로 인해 FTPS는 널리 쓰이지 못하였다.
3. 그래서 나온 것이 sFTP
- 1990년대 후반, SSH(Secure Shell)가 원격 로그인용 보안 프로토콜로 이미 널리 사용
- 대부분의 서버는 이미 SSH 서버(포트 22)를 운영
- SSH는 단일 포트, 강력한 암호화, 공개키 인증, 세션 보호 등을 기본 제공
- 이 기반 위에 파일 전송 기능을 얹는 것이 훨씬 자연스럽고 효율적임
'ETC' 카테고리의 다른 글
| Inno Setup 설치 하는 방법 (0) | 2025.10.21 |
|---|---|
| VirtualBox Windows 설치 후 해상도 및 공유 폴더 설정 하는 방법 (0) | 2024.07.29 |
| Framework vs Library 개념 설명 (0) | 2024.07.11 |
| VitualBox 7.0.18 설치 방법 및 사용법 (3) | 2024.05.11 |
| HL7 FHIR란 무엇인가? (0) | 2024.04.16 |