こんにちは、いつもおやじさんのページを見ていろいろ参考にさせてもらっています。
さて質問があります。
FTPSではexplicitとimplicitモードがあるというわけですが
これらの細かい違いはどういったところでしょうか?
explicitはAUTH SSLやAUTH TLSコマンドを発行した後にハンドシェイクして暗号化し
implicitはサーバーに接続したらすぐにハンドシェイクを開始し
暗号化するというくらいの違いは分かっているのですが(言っていること間違っているかもしれないですが)
実際どちらを使った方がよいのか?、もっと細かいところではどのような違いがあるのか?
等を知りたいです。
もし知っていたらぜひご教授お願いします。
> FTPSではexplicitとimplicitモードがあるというわけですが
> これらの細かい違いはどういったところでしょうか?
>
> explicitはAUTH SSLやAUTH TLSコマンドを発行した後にハンドシェイクして暗号化し
> implicitはサーバーに接続したらすぐにハンドシェイクを開始し
> 暗号化するというくらいの違いは分かっているのですが(言っていること間違っているかもしれないですが)
> 実際どちらを使った方がよいのか?、もっと細かいところではどのような違いがあるのか?
> 等を知りたいです。
基本的に上記のとおりです。implicitは、990番ポートを使ってSSLすることが前提なので、汎用的に使うには何があると思います。その点、explicitは同じ21番で動かせ、サーバ側でSSLを強制することもできるし、クライアント任せでもできるメリットがあります。従って、異なるポートを使用して有限のリソース(ポート)を食うimplicitを使う理由は全くなく、その理由からドラフトからimplicitは既に消えており、おやじが使用しているProftpdなどはサポートしてません。implicitをサポートしているデーモンはほとんどないのでは?
ProftpdのQAの日本語訳が下記にありますので見てはどうですか?
http://blog.livedoor.jp/jigorou/archives/10728337.html
回答どうもありがとうございます。
FTPS対応のサーバー、クライアントソフトにはimplicitもサポートしている等の情報があったのでimplicitもサポートしている方が
よいのかなと思っていたのですが
implicitは使うメリットがあまりないのですね。
すいません。ちょっと気になったことがありました。
>implicitは、990番ポートを使ってSSLすることが前提なので
サーバーの制御ポート990番を使うというのはどのようにして決まるのでしょうか?
クライアントがimplicitを使うということでサーバーの制御ポートを指定しているのでしょうか?
>その点、explicitは同じ21番で動かせ、サーバ側でSSLを強制する
>こともできる
implicitモードではSSL接続を強制することはできないのでしょうか?
しつこいようですいません。
よろしくお願い致します。
> >implicitは、990番ポートを使ってSSLすることが前提なので
> サーバーの制御ポート990番を使うというのはどのようにして決まるのでしょうか?
> クライアントがimplicitを使うということでサーバーの制御ポートを指定しているのでしょうか?
決まるというより、implicitのデフォルトは990というだけで、FTPが21番となっているのことや、HTTPが80でHTTPSが443というのと同じことで、後は、それをimplicitをサポートするデーモンの作者がどうインプリメントするかだけ。デフォルトポートの話なので悩んでもしょうがない話です。
> >その点、explicitは同じ21番で動かせ、サーバ側でSSLを強制する
> >こともできる
> implicitモードではSSL接続を強制することはできないのでしょうか?
誤解されているのでしょうか? implicitは、SSLでセッションを張るための仕組みなのでそれ以外有り得ず、選択の余地がありません。
explicitはSSLの要求をつながってからクライアントから要求がなければ、普通のFTPでつなげたり、要求があればSSLでつなげたりできるということです。そのときに、サーバ側でSSL以外受け付けないように設定もできるということです。
なるほど、そうだったのですか。的外れな質問をしていてすみません。
まだまだ勉強しないとダメですね。
このたびはどうもありがとうございました。