Top過去ログ目次掲示板

作成日:2009年01月28日 作成:おやじ
掲示板で過去に質問された内容です。

No.7855 FTPの動作とSSL化について


No.7855 投稿時間:2009年01月28日(Wed) 12:03 投稿者名:chaltier URL:
タイトル:FTPの動作とSSL化について

いつもお世話になっております。
おやじさまのサイトには、ルータのPASV対応等の貴重な情報が沢山あり、
大変助かっております。

読んでいて気になった事が御座いまして、

http://www.aconus.com/~oyaji/ftp/proftpd_ssl.htm
> [重要] SSLでアクセスすると、インターネット側からはActiveモードが使えなくなります。
> これは、ルータがPORTコマンド内のサーバのアドレスを変換できなくなる(SSL化により暗号化される)ためで、
> サーバのプラーベートアドレスがそのまま中継されてしまうからです。
> ルータ環境下では対処方法はありませんが、PASVは問題なく使用できるので、何ら問題はないはずです。
> なお、サーバがグローバルアドレスを持っている場合(ルータ無しでPPPoEをサーバで終端している場合や、
> Unnumberd)は、この問題は発生しません。

気になっている事は、Activeモード時の PORT コマンド内に記述されているアドレスは、
クライアントのアドレスなのではないかと思った次第で御座います。

おやじさまのサイトを見て、私の認識では、

1. Activeモード時は、クライアント側にPORT対応のルータがないとアドレス変換できずNG。
2. Passiveモード時は、その逆でサーバ側にPASV対応ルータが無いとPASVの応答に対するサーバアドレスが変換できずNG。
(PASV対応ルータを使い、FTPサーバでPASV対応した場合、LIST取得時にエラー)

※ BBR-4HG を使用していて、vsftpdにpasv_addressとpasv_addr_resolveを設定したら、初回はLIST取得NGで、
そのうちルータがフリーズしました。

3. ActiveモードのSSL時はクライアントがNAT配下にいる場合は通信不可。(PORTのアドレスがプライベートのまま)
(クライアントがグローバルアドレスをもっていた場合は問題ない)
4. PassiveモードのSSL時はFTPサーバの設定で、グローバルアドレスを返せる設定にした場合OK。
(vsftpd の pasv_address と pasv_addr_resolve)

とんちんかんな事を言っているかもしれなく、
恐縮ですが認識違い等御座いましたらご教授頂けたら幸いです。
宜しくお願い致します。


No.7859 投稿時間:2009年01月28日(Wed) 20:33 投稿者名:おやじ URL:
タイトル:ご指摘ありがとうございます。

> 読んでいて気になった事が御座いまして、
>
> http://www.aconus.com/~oyaji/ftp/proftpd_ssl.htm
> > [重要] SSLでアクセスすると、インターネット側からはActiveモードが使えなくなります。
> > これは、ルータがPORTコマンド内のサーバのアドレスを変換できなくなる(SSL化により暗号化される)ためで、
> > サーバのプラーベートアドレスがそのまま中継されてしまうからです。
> > ルータ環境下では対処方法はありませんが、PASVは問題なく使用できるので、何ら問題はないはずです。
> > なお、サーバがグローバルアドレスを持っている場合(ルータ無しでPPPoEをサーバで終端している場合や、
> > Unnumberd)は、この問題は発生しません。
>
> 気になっている事は、Activeモード時の PORT コマンド内に記述されているアドレスは、
> クライアントのアドレスなのではないかと思った次第で御座います。

ありがとうございます。無茶苦茶ですね。上記のとおりです。また、厳密にはクライアント側ルータがポート番号も変換しているとそちらも不一致になるので駄目です。
修正しておきました。なお、主語(クラサバのどちらのルータか?)がはっきりしないところもあわせて直しました。

SSL化すると、ルータが通信内容をモニタできなくなるので下記のケース4と全く同じ状況になります。

http://www.aconus.com/~oyaji/router/ftp.htm


> おやじさまのサイトを見て、私の認識では、
>
> 1. Activeモード時は、クライアント側にPORT対応のルータがないとアドレス変換できずNG。
> 2. Passiveモード時は、その逆でサーバ側にPASV対応ルータが無いとPASVの応答に対するサーバアドレスが変換できずNG。
> (PASV対応ルータを使い、FTPサーバでPASV対応した場合、LIST取得時にエラー)
>
> ※ BBR-4HG を使用していて、vsftpdにpasv_addressとpasv_addr_resolveを設定したら、初回はLIST取得NGで、
> そのうちルータがフリーズしました。
>
> 3. ActiveモードのSSL時はクライアントがNAT配下にいる場合は通信不可。(PORTのアドレスがプライベートのまま)
> (クライアントがグローバルアドレスをもっていた場合は問題ない)
> 4. PassiveモードのSSL時はFTPサーバの設定で、グローバルアドレスを返せる設定にした場合OK。
> (vsftpd の pasv_address と pasv_addr_resolve)
>

上記認識は正しいです。但し、もう一つ条件があり、PASV対応ルータをサーバ側で使用して、且つSSLを使えるようにすると、非SSLアクセスの場合にPASVの待ち受けポートとして自分のグローバルをもらうのでおかしくなる場合があります。(上記のBBR-4HGがまさにその実例)このような場合は、「TLSRequired On」とするしかないと思います。
中継部分(ここではルータ)で、無条件にデータの内容に介入するのはシステム構築サイドとしては不便な場合もある典型的な例ですね。PASV非対応ルータならチャントどちらも対応できるのですが・・。


No.7865 投稿時間:2009年02月03日(Tue) 00:00 投稿者名:chaltier URL:
タイトル:Re: ご指摘ありがとうございます。

早速のご対応ありがとうございました。
修正したページ拝見させて頂きました。

ブロードバンドルータに見えない機能などがある事を知れた事が、
本当おもしろいなぁ〜と感じました。

またサイトにお邪魔させて頂きますので、
何かありましたら、また書き込みさせて頂きます。

いろいろご教授ありがとうございました。



掲示板▲頁先頭