SFTP와 FTP 차이점 완벽 가이드! 파일 전송 방식과 보안 구조 이해하기

Server 운영 환경에서는 Application 배포, Log 관리, Backup 데이터 이동 등 다양한 상황에서 파일 전송 기능이 필요합니다.

대표적으로 사용되는 방식이 FTP(File Transfer Protocol)와 SFTP(SSH File Transfer Protocol)입니다.

두 기술 모두 Server와 Client 사이에서 파일을 주고받는 목적을 가지고 있지만 보안 방식과 동작 구조에는 큰 차이가 있습니다.

예:

Client↓File Transfer Protocol↓Server

FTP는 오래된 파일 전송 Protocol이며 SFTP는 SSH 기반의 보안 파일 전송 방식입니다.

구성 요소역할
FTP기본 파일 전송 Protocol
SFTPSSH 기반 보안 파일 전송
Client파일 요청 및 전송
Server파일 저장 및 제공
SSH암호화 통신 제공

SFTP와 FTP 구조를 이해하면 Linux Server 관리, Cloud Storage 운영, Application 배포 환경을 효과적으로 구성할 수 있습니다.

FTP(File Transfer Protocol)란?

FTP는 File Transfer Protocol의 약자로 Server와 Client 사이에서 파일을 전송하기 위해 사용하는 Network Protocol입니다.

기본 구조:

FTP Client↓FTP Server↓File Storage

사용자는 FTP Client 프로그램을 통해 Server에 접속하고 파일을 업로드하거나 다운로드합니다.

대표적인 FTP 활용:

  • Web Server 파일 업로드
  • Server Backup
  • 대용량 파일 이동
  • 내부 파일 공유

FTP 동작 방식

FTP는 Control Connection과 Data Connection 두 개의 연결을 사용합니다.

구조:

Client↓Control Connection↓FTP ServerClient↓Data Connection↓File Transfer

Control Connection

명령 전달을 담당합니다.

예:

  • Login
  • Directory 이동
  • File 목록 확인

Data Connection

실제 파일 데이터를 전송합니다.

예:

  • Upload
  • Download
  • File Transfer

FTP의 문제점

FTP는 오래된 Protocol이기 때문에 보안 측면에서 한계가 있습니다.

대표적인 문제:

데이터 암호화 부족

FTP는 기본적으로 데이터를 평문 형태로 전송합니다.

구조:

Username↓Password↓File Data↓Network

Network를 감청하면 정보가 노출될 수 있습니다.

계정 정보 노출 위험

FTP Login 과정에서:

  • ID
  • Password

가 암호화되지 않을 수 있습니다.

따라서 Internet 환경에서는 보안 문제가 발생할 수 있습니다.

SFTP(SSH File Transfer Protocol)란?

SFTP는 SSH 기반의 안전한 파일 전송 Protocol입니다.

FTP와 이름은 비슷하지만 동작 방식은 완전히 다릅니다.

구조:

Client↓SSH Encryption↓SFTP Server↓File Storage

모든 데이터가 SSH Tunnel을 통해 암호화됩니다.

SFTP 동작 방식

SFTP는 SSH Connection 위에서 동작합니다.

구조:

SFTP Client↓SSH Port 22↓SFTP Server

사용하는 기본 Port:

22

SSH 인증 방식을 사용하기 때문에 안전한 파일 전송이 가능합니다.

SFTP와 FTP 차이점

구분FTPSFTP
정식 명칭File Transfer ProtocolSSH File Transfer Protocol
보안암호화 없음SSH 암호화
Port2122
인증ID/PasswordSSH 인증
전송 방식별도 Control/Data 연결SSH Tunnel
보안 수준낮음높음

SFTP와 FTPS 차이

FTP 보안을 강화한 방식에는 FTPS도 있습니다.

구분SFTPFTPS
기반 기술SSHSSL/TLS
Port2221 또는 990
암호화 방식SSH TunnelTLS Encryption
관리 방식SSH 계정FTP 계정

SFTP와 FTPS는 모두 보안 파일 전송 방식이지만 기반 기술이 다릅니다.

Linux Server에서 SFTP 사용

Linux Server에서는 SSH 서비스가 실행되고 있다면 SFTP 사용이 가능합니다.

접속:

sftp user@server-ip

동작:

Client↓SSH Authentication↓SFTP Session↓File Transfer

SFTP 주요 명령어

접속 후:

현재 위치 확인:

pwd

Server 파일 확인:

ls

파일 다운로드:

get filename

파일 업로드:

put filename

접속 종료:

exit

FTP Server 운영 구조

FTP 환경:

Client↓FTP Server↓Storage

대표 FTP Server:

  • vsftpd
  • ProFTPD

Linux 환경에서 많이 사용됩니다.

SFTP Server 운영 구조

SFTP는 별도 FTP Server 설치보다 SSH 기반으로 운영됩니다.

구조:

User↓SSH Server↓SFTP Subsystem↓Storage

Linux OpenSSH 환경에서 기본적으로 제공됩니다.

SFTP 보안 설정 방법

운영 환경에서는 추가 보안 설정이 필요합니다.

권장:

SSH Key 인증 사용

Password 대신 Key 기반 인증을 사용할 수 있습니다.

구조:

Private Key↓Authentication↓SFTP Access

사용자 권한 제한

특정 Directory만 접근하도록 설정할 수 있습니다.

예:

User↓/upload Directory↓Restricted Access

Root Login 제한

보안을 위해 Root 직접 접속은 제한하는 것이 좋습니다.

Cloud 환경에서 파일 전송

Cloud 환경에서는 SFTP 대신 Object Storage를 사용하는 경우도 많습니다.

구조:

Application↓Cloud Storage↓Backup / Distribution

대표:

  • AWS S3
  • Azure Blob Storage
  • Google Cloud Storage

대규모 환경에서는 파일 Server보다 Cloud Storage Architecture를 많이 사용합니다.

SFTP와 Server 운영

Server 관리에서는 다음 상황에서 SFTP가 활용됩니다.

  • Application 배포 파일 전달
  • Configuration 파일 이동
  • Log 다운로드
  • Backup 데이터 이동

특히 Linux Server 관리 환경에서는 SSH와 함께 가장 많이 사용하는 기능 중 하나입니다.

SFTP와 FTP 장애 분석

파일 전송 문제가 발생하면 다음 순서로 확인합니다.

Client↓Network 연결 확인↓Port 확인↓Authentication 확인↓Permission 확인↓File Path 확인

확인 항목:

  • Firewall 설정
  • SSH 서비스 상태
  • 사용자 권한
  • Disk 공간

SFTP와 FTP Best Practice

권장:

  • Internet 환경에서는 SFTP 사용
  • SSH Key 인증 적용
  • 사용자 권한 최소화
  • Log Monitoring 구성
  • Backup 정책 운영

안전한 파일 전송 환경을 구축할 수 있습니다.

자주 묻는 질문

SFTP와 FTP는 같은 프로그램인가요?

아닙니다.

이름은 비슷하지만 FTP는 File Transfer Protocol이고 SFTP는 SSH 기반 파일 전송 Protocol입니다.

SFTP는 왜 Port 22를 사용하나요?

SFTP는 SSH 위에서 동작하기 때문에 SSH 기본 Port인 22번을 사용합니다.

FTP를 사용하면 안 되나요?

내부 Network처럼 제한된 환경에서는 사용할 수 있지만 Internet 환경에서는 암호화가 적용된 SFTP 사용을 권장합니다.

마무리

SFTP와 FTP는 모두 Server와 Client 사이에서 파일을 전송하는 기술이지만 보안 방식과 Architecture는 다릅니다.

구성 요소FTPSFTP
보안낮음높음
기반 기술FTP ProtocolSSH
Port2122
암호화지원하지 않음지원
운영 환경내부 환경Cloud 및 Production 환경

SFTP와 FTP 차이를 이해하면 Linux Server, Cloud Infrastructure, Application 배포 환경에서 안전한 파일 전송 Architecture를 설계할 수 있습니다.

함께 보면 좋은 글

  • SFTP와 FTP 차이점은 무엇인가? 안전한 파일 전송 방식 비교하기
  • SSH란 무엇인가? 원격 Server 관리 기술 이해하기
  • Linux Permission denied 오류 해결 방법
  • Linux File System 구조 이해하기
  • AWS S3 Storage Architecture 완벽 가이드

댓글 남기기