Protocol FTP란 어떤 프로토콜인가?

FTP는 인터넷을 통해 평문 통신으로 파일을 송수신할 수 있도록 하는 프로토콜

  • FTPFile Transfer Protocol의 약자로, WWW(World Wide Web, 인터넷) 상에서 파일을 주고 받기 위한 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜입니다.
  • 이 프로토콜은 네트워크에 연결된 컴퓨터끼리 데이터를 원활하게 교환하기 위한 목적으로 개발됐습니다.
  • 파일 전송 프로토콜이라고도 불리는 FTP 프로토콜은 TCP/IP 프로토콜 테이블의 응용 계층에 속하며, 역사는 오래 되었지만 지금도 인터넷에서 자주 사용됩니다.
  • FTP는 제어연결(Control Connection)데이터연결(Data Connection)으로 구분할 수 있습니다.

    • FTP 제어연결은 클라이언트에서 서버로 명령과 서버의 응답을 위한 연결을 의미합니다. 포트번호는 21번을 사용하고 명령 또는 응답 형태의 제어정보를 전송합니다.
    • FTP 데이터연결은 파일이 전송될 때 생성되는 데이터 연결을 말합니다. 포트번호는 20번 혹은 1024 이후 번호 포트를 사용합니다. 각각의 파일 전송 때마다 설정되면 전송이 완료되고 데이터연결은 전송됩니다.

  • 최초의 FTP 클라이언트 애플리케이션들은 운영 체제가 그래픽 사용자 인터페이스를 갖추기 이전에 개발된 명령 줄 프로그램이었습니다. 대부분의 윈도우, 유닉스, 리눅스 운영 체제에 기본 포함되어 있었지만, 현재는 보안상의 이유로 사용을 금하고 있습니다.
  • FTP는 HTTP, Telnet 등과 마찬가지로 인터넷 상에 정보를 전송, 응답 받을 때 평문(사람이 읽을 수 있는 정상적인 문자열)으로 전송받습니다.
  • 인터넷 상에 평문으로 데이터를 전송할 경우 다른 악의적인 이용자에 의해 통신 내용을 탈취당할 수 있습니다.

  • 두 번째 슬라이드와 같이 Wireshark로 FTP 통신 정보(패킷)을 캡처해 보면 평문이 그대로 노출되는 것을 볼 수 있습니다.
  • 네트워크가 설계되는 과정에서 생겨난 FTP는 보안성을 고려하지 않은 설계로, 네트워크 상에서 패킷이 그대로 노출되는 취약점이 있습니다.

참고 웹사이트 링크

학습 키워드

  • FTP, SFTP
  • 파일 전송 프로토콜