FTPS (File Transfer Protocol over SSL/TLS) は、FTPで送受信するデータをTLSまたはSSLで暗号化する通信プロトコル。IETFにより、RFC 2228 や RFC 4217 で標準化されている。

既定のWell-known Portは、990/tcp。

SFTP (SSH File Transfer Protocol) はSSHの上でFTPとは別個のプロトコルにてファイル転送を実現するコマンドである。そのためSFTPはSSHのポートを使い既定のWell-known Portは22/tcpであり、FTPSとは全くの別物である。

概要

FTPの認証で送信されるユーザ名とパスワードの電文は、暗号化されていない状態(クリアテキスト)であるため、第三者に盗聴・侵入される危険性がある。FTPSはその危険性を回避するために制定された。

FTP は、1971年にARPANET用に策定された。 当時、ARPANETへのアクセスは軍事機関や大学に限られ、セキュリティ対策は不要だった。

ARPANETがNSFNETを経てインターネットへと発展するにつれ、データの送受信がより広範になり、盗聴のリスクも増加した。

1994年、NetscapeはSSLを開発し、安全な通信を実現した。 これは特にHTTPと組み合わせてHTTPSとして利用された。

SSLはFTPにも適用され、1996年にドラフト版RFCが公開された。 その後、公式のIANAポートが登録され、2005年にRFCとして正式に発表された。

暗号化の種類

FTPSには、認証コマンド(AUTHコマンド)実行後に暗号化通信を開始するExplicitモードと、FTPSサーバ接続開始時点から暗号化通信を開始するImplicitモードの2種類が存在する。このExplicitモードは特にFTPESとも呼ばれる。

Explicit(明示的)モード

いわゆるSTARTTLSに相当する。

サーバの21/tcpポートに接続した後にクライアントがAUTHコマンドを実行して、使用するプロトコル(SSLまたはTLS)のネゴシエーションをおこない、適合したプロトコルでのハンドシェイク完了後に暗号化された通信がおこなわれる。 つまりExplicitモードの場合、クライアントがAUTHコマンドを実行しなければ通常のFTPとして機能する。

Implicit(暗黙的)モード

サーバの990/tcpポートに接続した直後にSSLまたはTLSによるハンドシェイクがおこなわれる。 Implicitモードで動作するサーバに接続する場合、クライアントはサーバが採用している暗号化プロトコルに適合したFTPSクライアントソフトを使用する必要がある。 また、データ転送チャネル(PORTまたはPASVコマンドで作成されるチャネル)での通信を暗号化する場合、PROTコマンドを用いて保護レベルをP (Private) に設定する必要がある。

なお、ImplicitモードはRFC 4217がドラフトだった頃に第7版まで掲載されていたが、第8版で削除されており、正式なRFCには掲載されていない。

SFTPと比較したメリット、デメリット

SFTPと比較したFTPSのメリットとして、ASCII/BINARY モードのサポートやフォルダ単位での転送がある。

デメリットとしては、サーバー運用側でSSL証明書の購入コストがかかることであるが、これについてはワイルドカード証明書で登録すれば、自社SSLサイト(HTTPS)と共通の証明書を利用可能。

利用するアプリケーション

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.

Verständnis von SFTP vs. FTPS vs. FTP • 1techpc.de

What Is FTPS? Thru, Inc.

Der Ultimate Guide für FTP, FTPS & SFTP Contabo Blog

Differences Between SFTP and FTPS

What is FTPS? What is the difference between FTPS and SFTP?