FTP(File Transfer Protocol)

'파일 전송 프로토콜'
기본적으로 '프르토콜'은 전자기기 간에 데이터를 교환하기 위한 통신 규약을 의미한다. FTP는 TCP/IP 네트워크(인터넷)상의 장치가 파일을 전송할 때 사용하는 규약이다. 인터넷을 둘러볼 때는 HTTP를 사용하고, 인스턴트 메시지를 주고 받을 때는 XMPP를 사용한다. **간단히 말해 FTP는 파일을 이동할 때 사용하는 프로토콜이다.

FTP 서버란?

FTP 서버란 파일을 Mac, Windows, Linux 컴퓨터 등의 장치에서 다른 장치로 전송하는 소프트웨어 애플리케이션을 말한다. FTP 서번는 FTP 주소를 가지고 있고 FTP 연결을 수신하는 데 사용되는 컴퓨터이다. FTP서버는 FTP 주소를 가지고 있고 FTP 연결을 수신ㄴ하는데 사용되는 컴퓨터이다. FTP 서버는 두 가지 간단한 '받기'와 '보내기' 2가지 작업을 실행한다. 우리는 FTP 서버로부터 파일을 '받을'수도 있고, FTP 서버로 파일을 '보낼'수도 있다. 파일을 업로드하면 업로드된 파일이 개인용 장치에서 서버로 전송되고, 파일을 다운로드하면 다운로드된 파일이 서버에서 개인용 장치로 전송된다. 따라서 기본적인 관점에서 보면 FTP 서버는 수신자와 전송자 사이에 위치한 중간 지점과 같다.

FTP의 원리

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

  1. 명령 채널 : 명령을 시작해 어떤 파일에 엑세스할 것인지 등과같은 기본 정보를 전달한다.
  2. 데이터 채널 : 두 장치 간에 파일 데이터를 전송한다.

연결을 설정하려면 사용자가 FTP 서버 로그인 정보를 제공해야한다. 일반적으로 21번 포트를 기본 통신모드로 사용한다. '포트'란 아주 간단ㄴ히 설명하면 네트워크를 통한 정보 트랜잭션을 식별하는데 사용되는 번호를 말한다. FTP 연결모드에는 능동 모드, 수동 모드 2가지가 있다.

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

FTP가 유용하게 사용되는 경우

FTP는 주로 대량의 파일을 처리할 때 사용된다. 그래서 웹 개발에 특히 유용하다. 웹사이트를 수정할 때 FTP 세션을 통해 파일 전송을 관리하면 특정한 파일 업로드, 이미지 파일 추가, 웹 템플릿 이동 등의 작업을 수월하게 처리할 수 있다. 이와 유사하게 IT 담당자들도 FTP를 통해 폐쇄형 시스템 내에서 대량의 서버 배치 파일을 간단하게 전송할 수 있다.

FTP의 장점

  1. 동시에 여러 파일을 전송하고, 연결이 끊긴 경우 전송을 재개할 수 있다.
  2. 전송 일정을 예약할 수 있다.
  3. 오랫동안 사용되서 많은 사람들이 이 프로토콜에 익숙하다.
  4. FileZilla, WindSCP, Cyberduck등 FTP를 보다 간편하게 사용할 수 있는 데스크톱 소프트웨어 도구들 존재

FTP의 단점

  1. (치명적..) 보안이 취약함
    : FTP는 1970년대에 개발되어 오늘날 대부분의 사이버 보안 조치보다 먼저 개발되었고 보안 프로토콜로 설계된 것이 아니기 때문에 FTP 전송은 암호화 되지 않는다. 그래서 데이터 패킷을 캡처하려는 해커들이 패킷 캡처 공격을 통해 비교적 쉽게 비밀번호, 사용자 이름, 그 외 기타 데이터를 읽을 수 있다.
  2. 이러한 보안상으로 인해 오늘날 FTP에 대한 지원이 줄어들고 있음
    : SFTP, HTTPS, AS2, FTPS처럼 FTP를 대체할 수 있는 옵션도 출시..
    Google Chrome의 경우 2020년 부터 FTP 지원을 중단했고, Firefox도 FTP 관련 코드를 모두 삭제함.

SFTP란?

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

FTP 서버의 대안 : Dropbox

Dropbox Transfer는 대용량 파일 전송에 이상적인 안전하고 간단한 파일 전송 서비스이다. 받는 사람에게 Dropbox 계정이 있든 없든 누구에게나 최대 100GB의 파일을 전송할 수 있다. 또한, 다운로드 알림을 통해 파일 전송 여부를 확인할 수 있고, 파일에 비밀번호르 설정해 지정한 사람만 볼 수 있도록 엑세스를 제어할 수 있다.

0개의 댓글