FTPS(エフティーピーエス)とは | 意味や読み方など丁寧でわかりやすい用語解説
FTPS(エフティーピーエス)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
エフティーピーエス (エフティーピーエス)
英語表記
FTPS (エフティーピーエス)
用語解説
FTPSは、File Transfer Protocol Secureの略であり、従来のファイル転送プロトコルであるFTPにSSL/TLSによる暗号化機能を追加し、セキュリティを強化したプロトコルである。インターネットを通じてファイルを安全に送受信する必要があるシステムにおいて、データの機密性、完全性、認証を確保するために利用される。システムエンジニアを目指す者にとって、安全なデータ転送の基本的な仕組みを理解する上で重要な要素の一つである。
従来のFTPは、ユーザー名やパスワード、転送されるファイルデータそのものを含め、すべての通信内容を暗号化せずに平文で送信する。このため、悪意のある第三者が通信経路を盗聴した場合、認証情報やファイルの内容が容易に傍受され、情報漏洩や改ざんのリスクがあった。特に、機密性の高い個人情報や企業の重要データ、システム間の連携でやり取りされる設定ファイルなどをFTPで転送することは、セキュリティ上大きな問題となる。
このFTPのセキュリティ上の弱点を克服するために開発されたのがFTPSである。FTPSは、Secure Sockets Layer (SSL) またはその後継であるTransport Layer Security (TLS) という技術を利用して、FTPの通信経路全体を暗号化する。これにより、クライアントとサーバー間のデータ転送中に、認証情報やファイルの内容が第三者に盗聴されても、暗号化されているため内容を読み取られる心配がない。また、SSL/TLSは、通信相手が確かに意図したサーバーであるかを確認するためのサーバー認証機能も提供する。これは、サーバーが持つデジタル証明書をクライアントが検証することで行われ、これによりフィッシング詐欺のような偽装サーバーへの接続を防ぐことができる。さらに、データが転送中に改ざんされていないかを確認するデータの完全性チェック機能も備えているため、安全なファイル転送が実現される。
FTPSには、大きく分けて「Explicit FTPS(明示的FTPS)」と「Implicit FTPS(暗黙的FTPS)」の二つのモードが存在する。
Explicit FTPSは、FTPの標準ポートである21番ポートで通常のFTP接続を開始し、その後、クライアントがAUTH TLS(またはAUTH SSL)コマンドを送信することで、暗号化された通信に切り替える方式である。このため、「FTP over SSL/TLS」とも呼ばれる。セッションの途中で暗号化を開始するため、互換性が高く、サーバーとクライアントが両方ともSSL/TLSに対応していれば、既存のFTP環境からの移行が比較的容易である。コントロール接続(コマンドのやり取り)だけでなく、データ接続(ファイル転送そのもの)もSSL/TLSで保護されるため、認証情報からファイル内容まですべてが安全に保たれる。
一方、Implicit FTPSは、あらかじめ暗号化された通信を前提として、通常990番ポートのような専用のポートを使用する方式である。接続が確立された直後からSSL/TLSハンドシェイクが開始され、すべての通信が暗号化される。これは、初期のSSLv2/v3プロトコルで確立された方式であり、特定のポートで常に暗号化された接続のみを受け入れるため、設定がシンプルであるという側面もある。しかし、標準化されたExplicit FTPSと比べると、現在では利用が推奨されないケースもある。
FTPSを運用する上で留意すべき点もいくつかある。一つは、ファイアウォールの設定である。FTPおよびFTPSは、コマンドをやり取りする「コントロール接続」と、実際にファイルを転送する「データ接続」の二つの接続を使用する。特にデータ接続は、クライアントがサーバーへ接続する「アクティブモード」と、サーバーがクライアントへ接続する「パッシブモード(PASVモード)」があり、パッシブモードが一般的である。パッシブモードでは、コントロール接続で使用するポートとは異なる動的なポート番号がデータ転送のために使われるため、ファイアウォールやNATの設定が複雑になりがちである。適切なポート範囲を開放しないと、ファイル転送ができない問題が発生する可能性がある。また、暗号化処理に伴うオーバーヘッドにより、FTPと比較して転送速度が若干低下する可能性もある。さらに、サーバー認証に用いるSSL/TLS証明書の取得、更新、管理も重要な運用作業となる。
FTPSは、個人情報を取り扱うウェブサイトでのデータアップロード、システム間での機密情報の連携、金融機関や医療機関などでのデータ交換、あるいは法規制(GDPRやPCI DSSなど)への準拠が求められる環境で広く利用されている。安全なファイル転送手段として、システムエンジニアにとってその仕組みと適切な利用法を理解することは不可欠である。