FTP とは?

大容量のファイルや大量のファイルを効率よく送る方法をご存じですか?その代表的な手段である FTP(ファイル転送プロトコル)と、SFTP サービスなどの代替手段をご紹介します。

FTP とは

FTP は「File Transfer Protocol」(ファイル転送プロトコル)の略称です。では、プロトコルとは何でしょうか。プロトコルとは、簡単に言えば電子機器が互いに通信するための手順や規則をまとめたものです。つまり FTP は、TCP/IP ネットワーク(インターネット)上の機器同士がファイルを転送するために使用する一連のルールということになります。インターネットを使う場合には、FTP 以外にもさまざまなプロトコルを使用します。ウェブサイトの閲覧には HTTP を、インスタント メッセージの送受信には XMPP を使います。FTP は、ファイルの移動に使用されるプロトコルです。

FTP サーバーとは

FTP サーバーは、機器から機器へのファイル転送を可能にするソフトウェア アプリケーションです。複雑に聞こえるかもしれませんが、根本的には、FTP アドレスを持ち、FTP 接続を受け付けることに特化したコンピュータに過ぎません。FTP サーバーには、「GET」と「PUT」という 2 つのシンプルなタスクがあります。簡単に言うと、GET とは FTP サーバーからファイルをダウンロードすることで、PUT とは FTP サーバーにファイルをアップロードすることです。ファイルをアップロードするときは、個人のデバイスからサーバーにファイルを転送します。またダウンロードするときは、サーバーから個人のデバイスにファイルを転送します。最も基本的なレベルでは、FTP サーバーはファイルの受信者と送信者の中間に存在していることになります。

FTP の仕組み

FTP はクライアント/サーバー型のプロトコルです。つまり、クライアントがファイルを要求し、サーバーがそれを渡します。そのため、FTP ではコマンド チャネル(命令を開始し、アクセスするファイルなど基本的な情報を伝達するチャネル)とデータ チャネル(2 台の機器間でファイル データを転送するチャネル)という 2 つの基本チャネルを使って接続を確立します。接続を確立するため、クライアントは認証情報をサーバーに渡す必要があり、サーバーは通信のデフォルト モードとして通常 21 番ポートを使用します。また FTP で忘れてはならないのは、アクティブ モードとパッシブ モードという 2 つの接続モードがあることです。

アクティブ モードでは、データ リクエストを承認するというアクティブな役割をサーバーが担います。しかしこのモードの場合、第三者からの許可されていないセッションがファイアウォールによってブロックされるという問題が生じることがあります。そこで出番となるのがパッシブ モードです。パッシブ モードでは、サーバーがアクティブに接続を維持することはせず、データ チャネルとコマンド チャネルの両方をクライアントが確立します。サーバーは基本的に待ち受けるだけで積極的にはプロセスに参加せず、クライアントが処理のほとんどを担当します。

FTP で解決できる問題

FTP は、大量のファイルの転送に使用されることが多く、特にウェブサイトの管理で重宝されています。ウェブサイトを更新する際、1 回の FTP セッションで複数のファイル転送ができるので、特定ファイルのアップロード、画像ファイルの追加、ウェブ テンプレートの移動なども簡単にできます。また IT 担当者は、クローズドなシステムで大量のサーバー ファイルを転送する場合にも FTP を使用することがあります。

FTP の長所と短所

FTP には、特筆すべきメリットが複数あります。まず、昔からあるため多くの人が使い慣れており、FileZilla や WinSCP、Cyberduck など、FTP を簡単に利用できるデスクトップ ツールも数多く存在します。また、複数のファイルを同時に転送できる、接続が切れてもその時点から転送を再開できる、転送のスケジュールを設定できるなど、便利な機能が用意されている点も大きなメリットです。

その一方、FTP にはある重大な欠点があります。それはセキュリティ機能が欠けていることです。FTP が誕生した 1970 年代には、現在当たり前になっているようなセキュリティ対策はまだ登場していませんでした。そのため安全性を配慮した設計になっておらず、通信は暗号化されません。パスワードやユーザー名など機密性の高いデータは、データ パケットを盗聴するパケット キャプチャ攻撃によって、比較的容易に読み取られる恐れがあります。

このようなセキュリティ上の欠陥を抱える FTP は、最近では各所でサポート対象外になりつつあり、SFTP や HTTPS、AS2、FTPS など、その代わりとなる選択肢が登場しています。たとえば Google Chrome は、2020 年時点で FTP をデフォルトで無効化しており、Firefox はコードから FTP 関連の機能を削除しています。したがって、今でも FTP サーバーを重要な業務プロセスで使用している場合は、代替策の検討を始めたほうがよいかもしれません。次に、FTP に代わる有力な選択肢である SFTP について、少し詳しく解説します。

SFTP とは

FTP について調べていると、その過程で「SFTP」という単語が目に入ると思います。この SFTP とは一体何でしょうか?SFTP は「SSH File Transfer Protocol」の略称です。セキュア シェル(SSH)のデータ ストリーム上で動作し、ファイル転送を保護する高度なセキュリティを提供します。FTP クライアントが 21 番ポートを使用するのに対し、SFTP クライアントは 22 番ポートを使用します。FTP は安全性が不十分なプロトコルであるため、ほとんどの用途では FTP よりも SFTP が推奨されます。SFTP は基盤となるセキュリティ機能を備えており、SSH 接続上で動作することができます。

FTP サーバーの代わりとして Dropbox を使うには

現在、FTP の利用機会は減少傾向にあり、セキュリティ脅威はますます巧妙化しています。したがって、将来性や安全性を考慮するなら、業務ファイルへのアクセス、転送、管理には別の選択肢を利用したほうがよいかもしれません。安全で快適なファイル共有手段を提供する Dropbox は、実は FTP に代わる有効な選択肢として利用できます。しかも、方法は簡単です。Dropbox には、Dropbox Transfer というシンプルで安全なファイル転送サービスが用意されています。最大 100 GB のファイルを誰にでも、つまり Dropbox アカウントを持っていない人にも送ることができるこのサービスは、大容量ファイルのやり取りに最適です。ダウンロード通知の機能があるので、相手がファイルをダウンロードしたかどうかを簡単に確認できます。また、パスワードを設定してファイルへのアクセスを制御できるため、ファイルにアクセスする必要のないユーザーにファイルを閲覧される心配もありません。

まとめ

FTP は、ファイル転送の手段として効果的なツールですが、少し時代遅れです。現在では、SFTP などそれよりも優れたネットワーク プロトコルがいくつも登場し、すでに利用可能になっています。また、高機能なファイル共有ソリューションである Dropbox も、大容量のファイルや大量のファイルをすばやく簡単に送信する方法を探している企業にとって、最適な選択肢になるでしょう。