FTP (File Transfer Protocol)
FTP란
FTP란 파일 전송 프로토콜(File Transfer Protocol)의 약자.
- FTP를 사용하면 인터넷과 같은 네트워크를 통해 한 컴퓨터에서 다른 컴퓨터로 파일을 전송할 수 있음
- 주로 웹 사이트 서버에서 컨텐츠를 업로드하거나 다운로드할 때 사용
-
FTP 작동 원리
https://www.websiterating.com/wp-content/uploads/image-220-1024x557.png
- 명령 채널: 명령을 시작해 어떤 파일에 액세스할 것인지 등과 같은 기본 정보를 전달
- 데이터 채널: 두 장치 간에 파일 데이터를 전송
-
21번 포트를 기본 통신 모드로 사용
- 전송과정
- 클라이언트가 FTP 서버와 연결을 설정하면 클라이언트는 로그인 인증을 위해 서버에 명령을 보냄
- 서버는 사용자 이름/비밀번호 쌍이 DB에 존재하는지 여부 확인
- 사용자는 권한을 부여받고, 로컬 컴퓨터와 원격 FTP 서버 간에 파일을 이동 가능
FTP 서버
FTP 서버란 파일을 Mac, Windows, Linux 컴퓨터 등의 장치에서 다른 장치로 전송하는 소프트웨어 애플리케이션을 지칭
- FTP 서버는 FTP 주소를 가지고 있고 FTP 연결을 수신하는 데 사용되는 컴퓨터.
- FTP 서버는 두 가지 간단한 작업을 수행 → 받기 & 보내기
- 파일을 업로드하면 업로드된 파일이 개인용 장치에서 서버로 전송되고, 파일을 다운로드하면 다운로드된 파일이 서버에서 개인용 장치로 전송
- !FTP 서버는 수신자와 전송자 사이에 위치한 중간 지점!
FTP 연결
FTP의 연결 모드에는 능동 모드, 수동 모드 2가지가 존재
- 능동 FTP 모드에서는 서버가 데이터 요청을 승인하는 능동적인 역할 수행 하지만 능동 모드에서는 방화벽으로 인한 문제가 종종 발생함 → 제 삼자가 권한이 없는 세션에 액세스하려고 하면 해당 세션을 차단
- 수동 모드에서는 서버가 능동적으로 연결을 유지 X 즉, 사용자가 데이터 채널과 명령 채널 모두를 설정. 서버는 기본적으로 ‘듣기만’ 할 뿐, 능동적으로 관여하지 않음으로써 다른 장치가 대부분의 작업을 처리
FTP 장단점
장점
- 장점은 동시에 여러 파일을 전송하고, 연결이 끊긴 경우 전송을 재개할 수 있으며, 전송 일정을 예약할 수 있다는 점
- 많은 사람들이 FTP 프로토콜에 익숙
→ FTP 프로토콜을 지원하는 데스트톱 소프트웨어 도구가 다양
- FileZilla, WinSCP, Cyberduck 등
단점
- FTP의 가장 치명적인 단점은 바로 보안이 취약하다는 점
- 보안 프로토콜로 설계된 것이 아니기 때문에 FTP 전송은 암호화되지 않음 → 관리자 암호, Wi-Fi 키 등과 같은 일부 민감한 정보가 포함된 전체 구성 파일을 다운로드할 수 있다
- SFTP, HTTPS 등 FTP를 대체할 수 있는 보안버전이 대안으로 제공되고 있다
정리
- FTP는 파일 전송 프로토콜
- FTP 소프트웨어는 웹 사이트 및 이미지와 같은 웹 콘텐츠를 업로드 및 다운로드하는 가장 널리 사용되는 방법 중 하나
- FTP는 일반적으로 TCP 포트 21을 사용하지만 서버가 익명 액세스로 설정되지 않은 경우 다른 포트 (기본적으로 2121)를 사용
- 보안의 취약점으로 인한 대안 버전(SFTP, HTTPS 등)들을 사용하자
서브목차