ファイル転送プロトコル(File Transfer Protocol、FTP)とは、簡単に言えば、ファイルをネットワーク上のある場所から別の場所に移動するための基本的な手順です。
FTP の登場は、ネットワーク初期の時代(1971年)にまで遡ります。伝送制御プロトコル(Transmission Control Protocol、TCP)に基づく現代のインターネットプロトコル(Internet Protocol 、IP)が1980年代初頭に登場する以前の話です。
FTP は、これまでのところ、インターネット上でファイルを移動する最も一般的な方法です。2016年現在の数字になりますが、IPv4 アドレス空間の推定43億のIPアドレスのうち、2,200万近くが FTP サーバーでした。FTP サーバーは、ターンキーアプリケーションやプリンタに組み込まれていることさえあります。
FTP はどう機能するか?
FTP はクライアント/サーバーモデルで動作します。ファイルは FTP クライアントから FTP サーバーにアップロードされ、アプリケーションや別クライアントからアクセスできるようになります。FTP サーバーは、クライアントからの FTP リクエストを継続的にリッスンするデーモンを実行します。
FTP デーモンがリクエストを受け取ると、ログイン詳細を要求して接続を確立するコントロールセッションを準備します。
FTP で許可されているログインモードには、認証モードと匿名モードの2種類があります。認証モードでは、クライアントはサーバーにアクセスする前にユーザーIDとパスワードで認証する必要があります。匿名モードでは、クライアントはアカウント "anonymous" または "ftp" を使用し、パスワードとして電子メールアドレスを提供します。コントロールセッションが設定されると、サーバーはクライアントからリクエストされたコマンドを実行します。
FTP プロトコルは安全なデータ転送手段か?
FTP が安全かどうかという質問への簡単な答えは「いいえ」です。FTP のシンプルさが最大の弱点です。有効な認証がなくてもアクセスできるように設定可能です。ファイルは暗号化されずに保存され、転送されるデータはオープンインターネットを通過する際にハッカーやサイバー犯罪者によって簡単に傍受される可能性があります。
2016年末時点で、約75万の「匿名」の FTP サーバーがインターネットに接続されていました。サイバー犯罪者にとっては、都合のいいカモです。ほとんど苦労することなく、コントロールセッションを確立することができます。”ftp” というアカウントと電子メールアドレスでログインすれば、アップロードされてサーバーに保存されているファイルのディレクトリへのフルアクセスが得られます。
2017年3月、米国の FBI は、保護される健康情報(Protected Health Information、PHI)を含む FTP サーバーがもたらすリスクについての認識を高めるよう医療機関に PIN(Private Industry Notification)警告を出しました。
暗号化を使う、FTPS、SFTP、HTTPS
FTP が進化する過程で、Secure Sockets Layer(SSL)、Secure Shell(SSH)、HTTPS の3つのオプションが追加されました。これらの3つとも、オープンネットワークで送信中のデータを暗号化で保護し、ファイル転送のセキュリティと信頼性を高めるために頻繁に使用されています。
FTPS
3つの中で最も速く、最も広く実装されているオプションは FTP over SSL、つまり FTPS です。FTPS は、トランスポート・レイヤ・セキュリティ(TLS)を使用して、FTP 経由で送信されるファイルを保護します。TLS は、その前身である SSL とも呼ばれます。FTPS は、別々の制御チャネルと伝送チャネルを必要とします。
SFTP
SFTP(SSH ファイル転送プロトコル)は、単一のチャネル(通常は SSH-2 プロトコル {TCP ポート22})を介したファイル転送と管理を提供します。中断したファイル転送を再開できるようにするする追加機能とリモートでファイルを削除できる機能を含みます。認証とセキュリティ確保は、SSH という基盤になっているプロトコルが担います。
HTTPS
HTTPS は HTTP のより安全なバージョンです。FTPS が TLS 暗号化を使用してファイルを転送する方法とよく似ています。HTTPS は、もともとは Web 経由での支払いに使用されていました。データのプライバシーがより重要になるにつれ、広範な産業分野のウェブサイトで利用されるようになりました。また、Google 検索で良いランキングを維持するためにも必要です。
SSH、SSL、TLS、HTTPS を使えば FTP は安全か?
SSH、SSL、TLS、および HTTPS で、データの安全な "伝送" は可能になります。しかし、ファイルは「プレーンテキスト」で保存されるため、「匿名」モードに設定された FTP サーバーは、サイバー犯罪者にとって簡単に攻撃できるターゲットになります。
ファイル転送ソリューションは、薄暗いサーバールームの暗いコーナーに追いやられてきました。企業データの管理に使用されている、よく理解されていない、文書化されていない、または保守が簡単ではない、ずっと以前に作成された自社開発 FTP ソリューションが見つかることは珍しいことではありません。傍受されていったんアップロードされたファイルは削除することはできません。
FTP サーバーはまた、ネットワークセキュリティ保護の網をくぐり抜けたサイバー犯罪者にとって便利なコントロール・プラットフォーム(詳細はプログレスのホワイトペーパー「ランサムウェアへの脆弱性とファイル転送」(ページ3)を参照してください。)を提供します。有名な Target のデータ侵害では、盗まれたクレジットカードのデータが、内部の FTP サーバーを使用して、サイバー犯罪者のサーバーに送られていました。
多層のセキュリティ
転送中のデータの暗号化が重要なのは言うまでもありませんが、ファイル転送サーバー上で「保存中」のデータにも暗号化による保護が必要です。それには2つ理由があります。1つ目は、データ交換ファイルは扱いやすい形式で保存されるので特に脆弱だからです。暗号化することで、データを入手しても簡単には中身を読めず、追加の保護層になります。2つ目は、ファイル転送サーバーが、オープンインターネットでの攻撃ベクトルになりやすいデーモンを介して動作するからです。デーモンはアクセスを得ようとしている誰かに常に耳を傾けます。
プログレスの MOVEit のようなセキュアなマネージド・ファイル・トランスファー・システムは、保管中のデータの暗号化、既存のセキュリティインフラストラクチャとの統合、すべてのファイル転送アクティビティのログ記録など、SFTP、FTPS、HTTPS を超えるレベルのセキュリティ層を提供します。
「保存中」データの暗号化
転送サーバーに保存されているデータを暗号化すると、サイバー犯罪者はそれを読み取れなくなります。PGP(Pretty Good Privacy)は、特別なスキルがないユーザーに代わってアップロード時に暗号化する一般的な方法です。
既存のセキュリティインフラストラクチャとの統合
ファイル転送を既存のセキュリティツールと統合することで、ユーザー、システム、ファイルに関するセキュリティポリシーを適用しながら、機密ファイルの移動をコントロールできます。ユーザーの承認/認証、ウイルス対策、SIEM、DLP などを統合して機密データへの保護を強化できます。
すべてのファイル転送アクティビティのログ記録
MOVEit を使用すると、ファイル、イベント、送受信者、ポリシー、プロセスを含むすべてのデータのやり取りが、改ざん防止可能なデータベースに記録されます。これによって、 GDPR などのデータ保護法へのコンプライアンスが可能になります。
まとめ
FTP は、パスワードを要求する以外の追加のセキュリティメカニズムを提供しません。送信するデータが機密データでない場合、または自社のネットワーク内でのファイル転送のみに限られている場合は、FTP は全く問題なく使用できます。もし、機密データが社内ネットワークの外に転送されるのであれば、最も単純な形式の FTP はお勧めできません。
どのファイル転送ソリューションを使用するかは、予算、転送対象、必要な暗号化の種類によって異なります。
Greg Mooney
Greg is a technologist and data geek with over 10 years in tech. He has worked in a variety of industries as an IT manager and software tester. Greg is an avid writer on everything IT related, from cyber security to troubleshooting.