FTP とは
FTP は「File Transfer Protocol」(ファイル転送プロトコル)の略称です。では、プロトコルとは何でしょうか。プロトコル(インターネット プロトコル)とは、簡単に言えば電子機器が互いに通信するための手順や規則をまとめたものです。つまり FTP は、TCP/IP ネットワーク(インターネット)上の機器同士がファイルを転送するために使用する一連のルールということになります。インターネットを使う場合には、FTP 以外にもさまざまなプロトコルを使用します。ウェブサイトの閲覧には HTTP を、インスタント メッセージの送受信には XMPP を使います。FTP は、ファイルの移動に使用されるプロトコルです。
FTP サーバーとは
FTP サーバーは、Mac や Windows、Linux コンピュータなどの機器から機器へのファイル転送を可能にするソフトウェア アプリケーションです。複雑に聞こえるかもしれませんが、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 にはある重大な欠点があります。それはセキュリティ機能が欠けていることです。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 がおすすめです。高機能なファイル共有ソリューションである Dropbox なら、大容量のファイルや大量のファイルをすばやく簡単に送信する方法を探している企業にとって、最適な選択肢になるでしょう。