- ベストアンサー
FTPSで外から繋がらない
- FTPサーバ(FTPS)を使って外部からデータを受け取る作業をしていますが、接続できません。
- WindowsServer2008R2でFTPSサーバを立てて、ポート番号を変更しましたが、外部からのアクセスができません。
- ポートマッピングを設定しても接続できないため、他のポート番号を指定する必要があるのか疑問です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>取引先から大量のデータ頻繁に受け取るという作業がありまして、一時的にFTPサーバ(FTPS)を立ててそこに置いてもらうということになりました。 ストレージサービスとか使った方がいいと思いますが……。 SSL使用しているとは言え、外部からのアタックもあるでしょうし。 >次にブロードバンドルータ(小さい会社なのでNECのATERM) の型番も掲示した方が調べやすいかと。 その上で……Explicitモードなのでしょうか?Implicitモードなのでしょうか? Explicitモードの場合はユーザー名とパスワードは平文で流れるようなので、パケット盗聴とかされるとあっさりバレます。 あとは……ルータによってはFTPのコントロールコネクション(通常は21)の内容をチェックしてデータコネクションのポート番号やIPアドレスを書き換えてクライアントへ流す場合があります。 が、FTPSで暗号化した場合はこの書き換えが出来ません。 サーバがPSAVモード移行時に接続先のIPアドレスとしてプライベートIPアドレスを指定した場合、上記の処理によりルータのWAN側IPアドレスに書き換えてクライアントへ中継します。 クライアントからはWAN側のIPアドレスと指定されたポート番号で接続要求が来て、ルータがLAN内のサーバへ転送してくれます。 が、SSLで暗号化されている場合はクライアントへ通知されるIPアドレスはプライベートIPアドレスのままなので、クライアント側が接続しに行くのはクライアント側のプライベートIPアドレス宛となります。 # ネットワーク構成によってはクライアント側のデフォルトゲートウェイに投げられるかも知れませんが…いずれにしろこちらのWANまでは届きません。 クライアント『PASVモードでよろしくぅ』 ↓ サーバ『OK。 IPアドレスは192.168.1.xxx、ポート番号は44444で待ってる。』 ↓ ルータ「OK。 IPアドレスはaaa.bbb.ccc.ddd(WAN側IP)、ポート番号は44448で待ってる。」として返答するよん。 ↓ クライアント「aaa.bbb.ccc.dddのポート44448に接続要求するっす。」 ↓ ルータ「ポート44448への接続要求ね。え~っと…(NAPTのリストには… ああ、さっっきのFTPの接続要求か)。OK。サーバに転送するねん。」 ↓ サーバ「さっきのクライアントからの接続かな。受け入れるよん。 さて、データ流すか…」 みたいな。 サーバもクライアントも間に居るルータの事は知りません。 「FTPS ルータ」辺りで検索すると説明されているページとか見つかるかと。 クライアント側でコントロールコネクションの内容がログにとれるのであれば、そちらに出ているPSAVコマンドの応答を確認してみてはどうでしょう? IPアドレスの部分がルータのWAN側IPアドレスになっていなければ、上記の問題かと思われます。 対策としては…FTPS使わない。ということになるかと。 # HTTPSでPUTして貰うようなものとか用意する必要があるでしょうねぇ……。 # アップローダのcgiとかで探すことになるでしょうか。 オンラインストレージにした方が楽ってことになりそうです。 サーバがWAN側のIPアドレスで返答すれば問題は回避可能でしょう。 まあ、その場合LAN内からFTP接続できなくなるんですが。 # http://awoni.net/personal-site/ftp によると…「ファイアーウォールの外部アドレス」にWAN側IPアドレスを指定すればOKですかね。 # WAN側が固定IP契約になっている必要があるでしょうけど。
お礼
非常に丁寧なご説明ありがとうございます。 とても勉強になりました。 さて接続できなかった点ですが、提示していただいたページにありました「ファイアーウォールの外部アドレス」が設定させていなかったためでした。一度は設定していたのですが、いろいろ試した組み合わせで外してしまっていたようです。 ご指摘頂いたストレージサービスについてですが、取引先にも提案しているのですが、FTPでという結論だそうです。ただ理由もあまりはっきりしていない感じなので、実際に作業が始まるころには変わるかもしれません。