FTP의 의미
FTP란 파일 전송 프로토콜(File Transfer Protocol)의 약자입니다. 그 의미를 자세히 살펴봅시다. 기본적으로 '프로토콜' 또는 인터넷 프로토콜은 전자기기가 서로 통신하는 데 필요한 절차나 규칙을 말합니다. FTP는 TCP/IP 네트워크(인터넷)상의 장치가 파일을 전송할 때 사용하는 규칙입니다. 인터넷을 사용할 때 우리는 다양한 프로토콜을 사용합니다. 인터넷을 둘러볼 때는 HTTP를 사용하고, 인스턴트 메시지를 주고받을 때는 XMPP를 사용하죠. 간단히 말해 FTP는 파일을 이동할 때 사용하는 프로토콜입니다.
FTP 서버란?
FTP 서버란 파일을 Mac, Windows, Linux 컴퓨터 등의 장치에서 다른 장치로 전송하는 소프트웨어 애플리케이션을 말합니다. 복잡하게 들릴 수도 있는데요, 간단히 설명하면 FTP 서버는 FTP 주소를 가지고 있고 FTP 연결을 수신하는 데 사용되는 컴퓨터입니다. FTP 서버는 두 가지 간단한 작업을 실행합니다. '받기'와 '보내기'가 바로 그것이죠. 우리는 FTP 서버로부터 파일을 '받을' 수도 있고, FTP 서버로 파일을 '보낼' 수도 있습니다. 파일을 업로드하면 업로드된 파일이 개인용 장치에서 서버로 전송되고, 파일을 다운로드하면 다운로드된 파일이 서버에서 개인용 장치로 전송되죠. 따라서 기본적인 관점에서 보면 FTP 서버는 수신자와 전송자 사이에 위치한 중간 지점과도 같습니다.
FTP의 원리
FTP는 클라이언트-서버 프로토콜입니다. 즉, 클라이언트가 파일을 요청하면 서버가 요청된 파일을 제공하죠. 그래서 FTP 프로토콜 연결을 설정하려면 두 개의 기본 채널이 필요합니다.
- 명령 채널: 명령을 시작해 어떤 파일에 액세스할 것인지 등과 같은 기본 정보를 전달합니다.
- 데이터 채널: 두 장치 간에 파일 데이터를 전송합니다.
연결을 설정하려면 사용자가 FTP 서버 로그인 정보를 제공해야 하는데, 일반적으로는 21번 포트를 기본 통신 모드로 사용합니다. '포트'란 아주 간단히 설명하면 네트워크를 통한 정보 트랜잭션을 식별하는 데 사용되는 번호를 말합니다. FTP의 연결 모드에는 능동 모드, 수동 모드 2가지가 있다는 점도 알고 있어야 합니다.
능동 FTP 모드에서는 서버가 데이터 요청을 승인하는 능동적인 역할을 합니다. 하지만 능동 모드에서는 방화벽으로 인한 문제가 종종 발생합니다. 제삼자가 권한이 없는 세션에 액세스하려고 하면 해당 세션이 차단되는 것이죠. 수동 모드가 역량을 발휘하는 순간이 바로 이때입니다. 수동 모드에서는 서버가 능동적으로 연결을 유지하지 않습니다. 즉, 사용자가 데이터 채널과 명령 채널 모두를 설정하죠. 서버는 기본적으로 '듣기만' 할 뿐, 능동적으로 관여하지 않음으로써 다른 장치가 대부분의 작업을 처리하도록 합니다.
FTP가 유용하게 사용되는 경우
FTP는 주로 대량의 파일을 처리할 때 사용됩니다. 그래서 웹 개발에 특히 유용하죠. 웹사이트를 수정할 때 FTP 세션을 통해 파일 전송을 관리하면 특정한 파일 업로드, 이미지 파일 추가, 웹 템플릿 이동 등의 작업을 수월하게 처리할 수 있습니다. 이와 유사하게 IT 담당자들도 FTP를 통해 폐쇄형 시스템 내에서 대량의 서버 배치 파일을 간단하게 전송할 수 있죠.
FTP의 장점
FTP에는 꼭 알아야 할 몇 가지 장점이 있습니다. FTP의 가장 큰 장점은 동시에 여러 파일을 전송하고, 연결이 끊긴 경우 전송을 재개할 수 있으며, 전송 일정을 예약할 수 있다는 점입니다. 또한, 오랫동안 사용되어왔기 때문에 대부분의 사람들이 이미 이 프로토콜에 익숙합니다. FileZilla, WinSCP, Cyberduck 등 FTP를 보다 간편하게 사용할 수 있도록 지원하는 데스크톱 소프트웨어 도구도 다양하게 있죠.
FTP의 단점
FTP의 가장 치명적인 단점은 바로 보안이 취약하다는 것입니다. FTP는 1970년대에 개발되었습니다. 오늘날 우리가 사용하는 대부분의 사이버 보안 조치보다 먼저 개발되었죠. 또한, 보안 프로토콜로 설계된 것이 아니기 때문에 FTP 전송은 암호화되지 않습니다. 그래서 데이터 패킷을 캡처하려는 해커들이 패킷 캡처 공격을 통해 비교적 쉽게 비밀번호, 사용자 이름, 그 외 기타 민감한 데이터를 읽을 수 있죠.
이러한 보안상의 구멍으로 인해 오늘날에는 FTP에 대한 지원이 점점 줄어들고 있습니다. SFTP, HTTPS, AS2, FTPS처럼 FTP를 대체할 수 있는 옵션도 시장에 다양하게 출시되었죠. Google Chrome의 경우 2020년부터 FTP 지원을 중단했고, Firefox도 FTP 관련 코드를 모두 삭제했습니다. 그러니 여전히 FTP 서버를 중요한 비즈니스 기능으로 사용하고 있다면 이제는 대안을 찾아야 하지 않을까요? 지금부터는 FTP의 대안 중 하나인 SFTP를 조금 더 자세히 살펴보도록 하겠습니다.
SFTP란?
FTP에 관한 정보를 검색해 본 사람이라면 'SFTP'라는 용어도 한 번은 들어봤을 겁니다. 그렇다면 SFTP란 과연 무엇일까요? 기본적으로 SFTP(SSH 파일 전송 프로토콜)란 시큐어 셸(SSH) 데이터 스트림을 통해 파일 전송 시 높은 수준의 파일 보호를 실현하는 별도의 프로토콜을 말합니다. 21번 포트를 사용하는 FTP 클라이언트와는 달리 SFTP는 22번 포트를 사용합니다. FTP의 취약한 보안으로 인해, 보안 기능을 기본으로 제공하고 SSH 연결을 사용하는 SFTP가 선호되는 경우가 많습니다.
FTP 서버의 대안: Dropbox
FTP, SFTP... 이 모든 것이 너무 복잡하지 않나요? 웹 서버 관리를 전담하는 IT 부서를 따로 두지 않아도 되는 방법이 더 낫지 않을까요? FTP 지원이 점점 감소하고 사이버 보안 위협이 점점 정교해지는 오늘날에는 비즈니스 파일 액세스, 전송, 관리를 지원하는 FTP 대안을 찾아보는 것이 좋습니다.
번거롭지 않은 안전한 방식의 파일 공유 기능을 제공하는 Dropbox가 효율적인 FTP 대안이 될 수 있습니다. Dropbox Transfer는 대용량 파일 전송에 이상적인 안전하고 간편한 파일 전송 서비스입니다. 받는 사람에게 Dropbox 계정이 있든 없든 누구에게나 최대 100GB의 파일을 전송할 수 있죠. 또한, 다운로드 알림을 통해 파일 전송 여부를 확인할 수 있고, 파일에 비밀번호를 설정해 지정한 사람만 파일을 볼 수 있도록 액세스를 제어할 수 있습니다.
결론
FTP가 파일을 전송하는 효과적인 방법임에는 틀림없지만 시대에 뒤처진 면이 있고, 오늘날에는 FTP의 기능을 능가하는 서비스형 SFTP 등의 새로운 네트워크 프로토콜도 다양하게 찾아볼 수 있습니다. 아니면 Dropbox를 사용해보세요. Dropbox는 대용량 파일이나 파일 모음을 빠르고 간편하게 전송하는 방법을 찾고 있는 비즈니스에 효율적인 파일 전송 솔루션을 제공합니다.