#FTPの通信コネクションの種類
-
コントロールコネクション
FTPサーバにログインする際の利用者認証が必要。データコネクションを確立するためのもの。 -
データコネクション
認証がないFTPクライアント(WinSCPやPhpStormといったもの)が多い。実際のデータ転送に使用するコネクション。
コントロールコネクション→データコネクションの順に接続される。
コントロールコネクションで認証が通っても、中間者攻撃などでデータコネクションをクラッカーに接続確立されると、通信内容を見られたり、ダウンロードされたりする。
この問題の解決策として、通信コネクションの両方とも認証を行えば良いが、FTPクライアントでそこまで実装しているものはほとんどない。
#SSLセッションの再利用
そこでFTPS(FTP over SSL/TLS)の場合、データコネクションは認証の変わりにSSLセッションを使いまわし、上記の問題を回避できる。コントロールコネクションでSSL認証して、データコネクションでもその合格した認証を接続に使う。