FTP (File Transfer Protocol)


FTP

FTP는파일 전송 프로토콜(File Transfer Protocol)의 약자로 TCP/IP 네트워크 상에서 컴퓨터들이 파일을 교환하기 위해 1971년에 최초로 공개된 통신 규약이다.
인터넷에서 파일을 전송하기 위해 사용하는 서비스이다. Telnet이 다른 컴퓨터를 사용하기 위해 접속하는 서비스인데 비해, FTP는 서버 컴퓨터로 파일을 전송하거나 서버 컴퓨터의 파일을 전송하거나 서버 컴퓨터의 파일을 내 컴퓨터로 받아 오기 위해 사용한다.

FTP의 경우 빠르고 안정적으로 파일을 전송할 수 있기 때문에 요즘에도 많이 쓰이고 있으며, Telnet 사용시와 같이 모든 명령어를 익혀야 하는 담점을 극복하기 위해 FTP 전용 프로그램들이 등장하여 편리하게 사용할 수 있게 되었다.

FTP의 원리

FTP는 클라이언트-서버 프로토콜이다. 클라이언트가 파일을 요청하면 서버가 요청된 파일을 제공한다. 따라서 FTP의 연결 설정을 위해서는 2개의 기본 채널이 필요하다.

  • 채널 하나는 명령을 내리고 어떤 파일에 액세스할 수 있는지 등의 기본 정보를 전달하는 명령 채널이다.
  • 또 하나의 채널은 2개의 장치 간에 파일 데이터를 전송하는 데이터 채널이다.

연결을 설정하려면 사용자는 FTP 서버로의 로그인 정보를 제공해야 하며, FTP는 일반적으로는 21번 포트를 기본 통신 모드로 사용한다.

FTP의 연결 모드

FTP의 연결 모드에는 능동 모드, 수동 모드 2가지가 있다.

  • 능동 모드(액티브 모드)
    • 서버가 데이터 요청을 승인하는 능동적인 역할을 한다.
    • 능동 모드에서는 방화벽으로 인한 문제가 종종 발생한다. 제3자가 권한이 없는 세션에 액세스하려고 하면 해당 세션이 차단된다.
  • 수동 모드(패시브 모드)
    • 수동 모드에서는 제3자가 권한이 없는 세션에 액세스하려고 하면, 서버가 능동적으로 연결을 유지하지 않는다.
    • 즉, 사용자가 데이터 채널과 명령 채널 모두를 설정한다. 서버는 기본적으로 ‘듣기만’할 뿐, 적극적으로 관여하지 않음으로써 다른 장치가 대부분의 작업을 처리하도록 한다.

FTP 접속 클라이언트

  • FileZilla : 제일 많이 쓰이고, Windows, MacOS용이 제공되는 무료 프로그램이다.
  • WinSCP : Windows용으로 개발된 무료 프로그램이다.

FTP의 장단점

  • 장점
    • 여러 개의 파일을 동시에 전송할 수 있다.
    • 연결이 끊긴 경우 전송을 다시 시작할 수 있다.
    • 전송 일정을 예약할 수 있다.
  • 단점
    • 보안에 취약하다.

SFTP란?

FTP는 오늘날 우리가 사용하는 대부분의 사이버 보안 조치가 개발된 시기보다 앞선 1970년대에 개발되었다. 보안 프로토콜로 설계된 것이 아니기 때문에 FTP 전송은 파일을 암호화하지 않는다. 그래서 데이터 패킷에 대한 패킷 캡처 공격을 통해 비교적 쉽게 비밀번호, 사용자명, 그 외 기타 민감한 데이터를 읽을 수 있다.

SFTP(SSH 파일 전송 프로토콜)란 시큐어 셸(SSH) 데이터 스트림을 통해 보안 등급이 높은 파일 전송을 실현하는 별도의 프로토콜을 말한다. 21번 포트를 사용하는 FTP 클라이언트와는 달리 SFTP는 22번 포트를 사용한다. FTP의 취약한 보안으로 인해 많은 사람이 보안 기능을 기본으로 제공하고 SSH 연결을 사용하는 SFTP를 선호한다.

참조