FTPSのポート番号(21 or 990?)

FTPSは21番ポートと990番ポートが制御用に使われることがあって、
その違いがわからなかったので、調べたことメモ。

FTPSには2つのモードがある。

  • 明示的な暗号化(Explicit)
     "FTP"の代わりに"FTPS"が21番ポートで受け付ける。
     クライアントに暗号化を強制させることができる。
  • 暗黙的な暗号化(Implicit)
     "FTP"を通常通り21番ポートで受け付け、"FTPS"は990番ポートで受け付ける。
     クライアントは好きな方を選ぶことができる。
詳細は引用(引用元)

Explicit
サーバの USERコマンドに対してクライアントがユーザ名の代わりにAUTH SSL/AUTH TLSを発行し、サーバからの応答受信後クライアントからSSL/TLSハンドシェイクを開始し、SSL/TLSセッション確立後にログインを開始する方式。
すなわち、非暗号化状態で接続を開始し、ユーザ名とパスワードを検証する直前にセキュアなデータ接続を行う。

Implicit
いきなりクライアントからSSL/TLSハンドシェイクを開始し、SSL/TLS セッション確立後にログインを開始する方式。
すなわち、クライアントはサーバへのすべての要求をセキュア状態で送信する。

ちなみに"SFTP"は22番ポート。
("SFTP"は"SSH"のオプション的なもので、"FTP"とはそもそも異なる)

まだまだ勉強不足だーね^^;