반응형
1. FTPS & SFTP란?
인터넷 환경에서 FTP는 파일 전송을 위한 강력한 도구이지만, 보안이 취약하다는 단점이 있다. 이를 해결하기 위해 FTPS(FTP Secure)와 SFTP(SSH File Transfer Protocol)가 등장했다.
- FTPS (FTP Secure): 기존 FTP에 SSL/TLS 암호화를 추가하여 보안성을 강화한 프로토콜.
- SFTP (SSH File Transfer Protocol): FTP와는 다르게 SSH(보안 셸) 기반으로 동작하는 안전한 파일 전송 프로토콜.
2. FTPS & SFTP의 차이점
좌측FTPS 우측 SFTP
기반 프로토콜 | FTP + SSL/TLS | SSH (Secure Shell) |
포트 번호 | 기본 21번, TLS 활성화 시 990번 | 기본 22번 |
데이터 암호화 | SSL/TLS 사용 | SSH 암호화 사용 |
전송 방식 | 명령 채널과 데이터 채널 분리 | 단일 채널에서 암호화된 데이터 전송 |
방화벽 설정 | 복잡 (다중 포트 필요) | 상대적으로 간단 (단일 포트 사용) |
3. 네트워크가 FTPS인지 SFTP인지 구분하는 방법
사용자는 아래 방법을 통해 자신이 사용하는 네트워크가 FTPS인지 SFTP인지 확인할 수 있다.
- 포트 번호 확인:
- FTPS는 기본적으로 21번(일반) 또는 990번(암호화) 포트를 사용
- SFTP는 기본적으로 22번 포트를 사용
- 명령어로 확인:
- FTPS는 ftp 명령어를 사용하여 서버에 접속하며, 연결 후 AUTH TLS 또는 AUTH SSL 명령어를 실행해 SSL/TLS 지원 여부를 확인 가능
- SFTP는 sftp 명령어를 통해 접속하며, 기본적으로 SSH를 통해 작동하므로 ssh [username]@[host] 명령어로도 접근 가능
- 로그인 과정:
- FTPS는 로그인 과정에서 명시적으로 TLS 암호화를 활성화하는 과정이 필요할 수 있음
- SFTP는 SSH 인증을 기반으로 하므로, 일반적으로 비밀번호 입력 또는 SSH 키 인증 방식으로 로그인 진행
- 네트워크 트래픽 분석:
- FTPS는 SSL/TLS를 사용하므로 Wireshark 등의 네트워크 분석 도구를 사용하면 FTP 데이터 패킷이 암호화되는 것을 확인 가능
- SFTP는 SSH 기반이므로 패킷이 SSH 프로토콜로 캡슐화되어 전달됨
4. FTPS 사용 예제 (Python 코드)
FTPS를 사용하여 서버에 파일을 업로드하는 기본적인 Python 코드 예제:
from ftplib import FTP_TLS
ftps = FTP_TLS('ftp.example.com')
ftps.login(user='username', passwd='password')
ftps.prot_p() # 보안 모드 활성화
filename = 'example.txt'
with open(filename, 'rb') as file:
ftps.storbinary(f'STOR {filename}', file)
ftps.quit()
5. SFTP 사용 예제 (Python 코드)
SFTP를 사용하여 파일을 업로드하는 방법은 다음과 같다.
import paramiko
host = 'sftp.example.com'
port = 22
username = 'username'
password = 'password'
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(host, port, username, password)
sftp = client.open_sftp()
filename = 'example.txt'
sftp.put(filename, f'/remote/path/{filename}') # 원격 서버로 파일 업로드
sftp.close()
client.close()
6. FTPS & SFTP가 사용되는 곳
FTPS와 SFTP는 보안이 중요한 파일 전송 환경에서 주로 사용된다.
- 기업 데이터 전송: 중요 문서 및 고객 정보 보호
- 금융 서비스: 은행 및 보험사 데이터 전송
- 서버 관리: 안전한 파일 업로드 및 관리
- 백업 시스템: 클라우드나 외부 서버로 안전한 백업 파일 전송
7. FTPS vs SFTP: 어떤 걸 선택해야 할까?
- FTPS는 기존 FTP 서버를 보안 강화하는 방식이므로, 기존 FTP 환경을 유지해야 할 때 적합.
- SFTP는 SSH 기반으로 더 강력한 보안을 제공하며, 별도의 FTP 서버 없이 사용할 수 있어 유연성이 뛰어남.
- 보안이 가장 중요한 경우? → SFTP 추천!
- 기존 FTP 환경을 유지하면서 보안을 강화하고 싶다면? → FTPS 추천!
8. 결론
FTPS와 SFTP는 기존 FTP의 보안 취약점을 보완한 기술로, 각기 다른 장점을 갖고 있다. 사용 목적과 네트워크 환경에 맞춰 적절한 방식을 선택하는 것이 중요하다.
반응형
'IT > Network' 카테고리의 다른 글
[network] OSI 7계층 10문제 (0) | 2025.02.13 |
---|---|
[network] OSI 7계층: 네트워크 통신의 기본 원리 - 미니 퀴즈 포함 (0) | 2025.02.13 |
[network] 방화벽(Firewall): 네트워크 보안의 첫 번째 방어선 - 미니퀴즈 포함 (0) | 2025.02.13 |
[network] TCP/IP: 인터넷의 핵심 프로토콜 - 미니 퀴즈 포함, 정보처리기사 기초 개념 (0) | 2025.02.13 |
[network] FTP: 파일 전송의 모든 것 (0) | 2025.02.13 |
[network] HTTP & HTTPS 개념 정리 (0) | 2025.02.12 |
[network] IP 주소 & DNS 개념 정리 (0) | 2025.02.12 |
AJAX (Asynchronous JavaScript and XML) 개념과 활용 설명 (0) | 2025.02.12 |
댓글