FTPS(
File Transfer Protocol over SSL/TLS)は、FTPで送受信されるデータをTLSまたはSSLで暗号化する
通信プロトコルです。これにより、FTP通信におけるセキュリティ上の脆弱性を克服し、データの
盗聴や改ざんのリスクを軽減します。IETFによってRFC 2228やRFC 4217で標準化されています。
FTPSの仕組み
FTPの認証時に送信されるユーザー名や
パスワードは暗号化されないため、第三者に
盗聴される危険性があります。FTPSは、この問題を解決するために導入されました。
暗号化の種類
FTPSには、以下の2つのモードがあります。
Explicit(明示的)モード:
クライアントがサーバーの21/tcpポートに接続した後、AUTHコマンドを実行し、SSLまたはTLSのネゴシエーションを開始します。
適合したプロトコルでのハンドシェイクが完了すると、暗号化された通信が行われます。
AUTHコマンドを実行しなければ、通常のFTPとして機能します。
このモードは特にFTPESとも呼ばれます。
Implicit(暗黙的)モード:
クライアントがサーバーの990/tcpポートに接続した直後に、SSLまたはTLSによるハンドシェイクを開始します。
クライアントは、サーバーが採用している暗号化プロトコルに対応したFTPSクライアントソフトウェアを使用する必要があります。
データ転送チャネル(PORTまたはPASVコマンドで作成)での通信を暗号化する場合は、PROTコマンドで保護レベルをP(Private)に設定する必要があります。
RFC 4217の初期ドラフトには掲載されていましたが、正式版には含まれていません。
SFTPとの比較
SFTP(SSH
File Transfer Protocol)は、SSH上で動作する別のプロトコルであり、FTPSとは異なります。SFTPはSSHのポート(通常22/tcp)を使用します。
FTPSのメリット
ASCII/BINARYモードのサポート
フォルダ単位での転送
FTPSのデメリット
サーバー運用側でSSL証明書の購入コストが発生する
ただし、ワイルドカード証明書を使用すれば、
HTTPSサイトと共通の証明書を利用可能です。
FTPS対応アプリケーション
以下は、FTPSに対応したクライアントとサーバーの例です(アルファベット順)。
対応クライアント
Core FTP
CuteFTP
Cyberduck
FFFTP
FileZilla
FireFTP (Firefoxアドオン)
FlashFXP
FTP Voyager
gFTP
lftp
NextFTP
Secure FTP
SmartFTP
Ultimate FTP
WinSCP
対応サーバー
Apache FtpServer
Bftpd
Cerberus FTP Server
CrossFTP Server
DrFTPD
edtFTPD
FileZilla Server
Independent FTP Daemon
ProFTPD
Pure-FTPd
vsftpd
War FTP Daemon
Internet Information Services (IIS7以降)
外部リンク
FileZilla
WinSCP
FFFTP
Cyberduck
SmartFTP
NextFTP
FlashFXP
Advanced Technology Partner, Inc.