FTP (File Transfer Protocol)

FTP란

FTP란 파일 전송 프로토콜(File Transfer Protocol)의 약자.

  • FTP를 사용하면 인터넷과 같은 네트워크를 통해 한 컴퓨터에서 다른 컴퓨터로 파일을 전송할 수 있음
  • 주로 웹 사이트 서버에서 컨텐츠를 업로드하거나 다운로드할 때 사용
  • FTP 작동 원리

    https://www.websiterating.com/wp-content/uploads/image-220-1024x557.png

  • 명령 채널: 명령을 시작해 어떤 파일에 액세스할 것인지 등과 같은 기본 정보를 전달
  • 데이터 채널: 두 장치 간에 파일 데이터를 전송
  • 21번 포트를 기본 통신 모드로 사용

  • 전송과정
    1. 클라이언트가 FTP 서버와 연결을 설정하면 클라이언트는 로그인 인증을 위해 서버에 명령을 보냄
    2. 서버는 사용자 이름/비밀번호 쌍이 DB에 존재하는지 여부 확인
    3. 사용자는 권한을 부여받고, 로컬 컴퓨터와 원격 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 등)들을 사용하자
서브목차