본문 바로가기
프로그래밍/개발 상식 등

FTP(File Transfer Protocol)란?

by 숙님 2023. 12. 26.
728x90

1. 정의:

파일 전송을 위한 표준 네트워크 프로토콜 

2. 필요한 컴포넌트: 

1) FTP 클라이언트: 사용자가 사용하는 소프트웨어 / 파일을 전송, 파일 업로드, 다운로드 시 사용 

2) FTP 서버: 파일을 저장하고, 클라이언트에게 전송하는 역할 

 

3. 주요 기능:

1) 파일전송: 클라이언트가 서버에 파일을 업로드하거나, 서버에서 파일을 다운로드  

2) 디렉토리 및 파일관리: 디렉토리를 생성, 삭제, 파일복사, 삭제 진행  

3) 접근 제어 및 보안: 사용자 인증, 접근 권한 부여, 데이터 암호화 진행 

 

4. 보안 강화: 

SFTP(Secure File Transfer Protocol), FTPS(FTP Secure)

 

5. 대안:

1) SFTP (SSH File Transfer Protocol): SFTP는 FTP의 확장으로서, SSH(보안 셸)를 기반으로 하여 데이터를 암호화하고 안전하게 전송함 / 일반적으로 SSH 포트(포트 22)를 통해 연결

2) FTPS (FTP Secure): FTPS는 FTP에 SSL/TLS 보안 계층을 추가하여 데이터를 암호화 / 명시적(Explicit) FTPS와 암시적(Implicit) FTPS 두 가지 방식이 존재 

3) HTTP/HTTPS: 웹 서버에서 파일을 다운로드하거나 업로드하는 데 사용 / HTTPS를 통해 데이터를 암호화 가능 

4) SCP (Secure Copy Protocol): SCP는 SSH 프로토콜을 사용하여 파일을 안전하게 복사하는 데 사용

5) AWS S3, Azure Blob Storage 등 클라우드 스토리지: 클라우드 서비스를 통해 파일을 업로드 및 다운로드 가능 

 

6. 느낀 점: 

회사에서 ftp를 활용하는 사이트를 관리하고 있고, 카페24를 활용한 사이트에서도 ftp를 사용한다 

생각보다 ftp 실무에서 많이 사용해서 놀라웠고, 보안이 취약하다는 점도 놀랍다 

댓글