- 締切済み
FTPのポート変更に伴う接続障害
はじめまして。 小さな会社ですがデータサーバーなるものを作りたいと思いたち、現在WIN XP proでFTPserverを立てたのですが、セキュリティーの関係からポートを変えた所接続できません。 サーバーソフトはCerberus FTP Serverです。 21番で通信は出来ました。 しかし変更後75番でのグローバル接続ができません。 ローカルIP:75は接続できます。 しかしグローバルIP:75だとログイン画面まで行くのですがやり取りをしてくれません。 サーバー側のログを見るとログインしていますのままで、結局タイムアウトになり接続解除という形になります。 固定IPに近い状態ですのでドメインなどは取得していません。 ファイヤーウォールなどは例外、NAS機能も75をローカルのサーバーIPに通す設定にしました。 グローバルIPでのポートスキャンをかけた所75番ポートは開放されいていまいた。 よろしくお願いします。 またよければFTPなどのパケットを監視するおすすめのソフトを教えていただければ幸いです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
最初に設定するポート番号ですが ウェルノウンポート番号 (0–1023) 登録済みポート番号 (1024–49151) となっています。 自由に利用できるポート番号 (49152–65535)を使ってください。 PASVモードの場合 アドバンスド設定の”PASV Port Range”に設定されてポート範囲の通信をルータで有効にしてください。 パケットのモニターは「Wireshark」を使っています。
- Wr5
- ベストアンサー率53% (2173/4061)
>では一般的なルーターの場合ですとアクティブモードでやる場合21番ポートが変更されないため、データなどのコマンドがルーターによって捨てられるという事ですか? FTPのコマンドポートを通過するパケットを覗き見していないルータでは、アクティブモード(データコネクションをサーバから貼る)でFTP通信できません。 その為、パッシブモードでクライアント側から接続します。 で、コレはクライアント側の問題。 今回はサーバ側のコマンドポートを変更していますので、クライアント側もコマンド内容の覗き見はできません。 パッシブモードならクライアント側はコマンドポートが変わろうが関係ありませんが、 サーバ側のルータはそういうワケにはいきません。 # パッシブモードの場合、クライアントからの接続を受け付け、正しくサーバ機へ転送できないと接続できません。 >たとえばアクティブモードで21番と75番を開けてやればアクティブでの通信は可能ということですか? アクティシィブモードで指定するのは「接続先(間際らしいですがクライアント側)のポート番号」です。 通常は暗黙で20番が使われているコトになりますが。 http://gigazine.net/news/20101008_cerberus_ftp_server/ 「PASV Port Range」で適当な範囲を設定して、 サーバ側のルータでその範囲の接続要求をサーバ機に転送する。 と設定して、クライアントにはパッシブモードの使用をお願いする。 というので良いかと。 # もちろん設定した範囲はサーバ機のセキュリティソフトでも許可するようにする必要があります。 ルータによっては監視しているコマンドポートの結果を書き換えてクライアントに送信し、待ち受けポートを変更してくれるものがあったりしますが… この場合、パッシブモードでも正しく動作しない場合があります。 ウチのサーバ(Linux)はFTPは開けていないですねぇ。 SSH開けておけばSFTPでファイルやりとりできますし。
お礼
度重なる質問に丁寧かつ親切に教えて下さり感謝致します。 もやもやが一つ解決しました! >SSH開けておけばSFTPでファイルやりとりできますし。 そうなんです。いずれはセキュリティの高い仕様、 サーバーを作っていきたいと考えているのですが現在手探り状態です。 教えて下さたった事を踏まえ、もう一度構築していきたいと思います。 ありがとうございました。
- Wr5
- ベストアンサー率53% (2173/4061)
ルータがFTPに対応していた…のですな。 FTPは2つのポートを使用します。 コマンドのやりとりをする21番と、データのやりとりをする「任意のポート」があります。 通常だとクライアントからサーバの21番ポートに接続して認証やコマンドを発行します。 データポートは「サーバからクライアント」に向けて接続を張ります。 で…FTPに対応しているルータだと、サーバへ21番ポートのパケットを中継する際に中を覗いて 「サーバからクライアントへの接続要求」をクライアントへ転送するように処理してくれています。 この時、パケットを除くのは「TCPの21番ポート」ですので、コマンド用のポート番号を変更すると この機構が動作しない為、外部からの接続を捨てます。 よって、コマンドの実行結果(ファイルの内容など)が受け取れなくなります。 PASVモードの場合、データポートも「クライアントからサーバ」へ接続しますので、ルータの内側に居ても問題はりません。 が、サーバ側になる場合はクライアントからの接続要求をサーバに転送しなければなりません。 この時の接続ポートはやはりサーバ側からのコマンドで通知されるので、そのポートを監視していないとルータが外部からの接続を破棄してしまいます。 FTPサーバソフトにPASVモードでのポート番号を設定できるのであれば、その範囲をサーバへ転送するようにすることで接続可能になります。 ちょっと古いですが… http://www.aconus.com/~oyaji/router/ftp.htm 辺りが参考になるでしょう。 >またよければFTPなどのパケットを監視するおすすめのソフトを教えていただければ幸いです。 ルータでパケット破棄されていなければ… wiresharkなら一通り眺められるかと。 ターゲットとするFTP以外のパケットも大量に出てきますが…。
補足
お礼遅くなり申し訳ございません。 では一般的なルーターの場合ですとアクティブモードでやる場合21番ポートが変更されないため、データなどのコマンドがルーターによって捨てられるという事ですか? たとえばアクティブモードで21番と75番を開けてやればアクティブでの通信は可能ということですか? お願いします。
お礼
ご回答遅くなってしまって申し訳ございません。 ウェルノウンポートの存在は知っていましたが、気に止めていませんでした。 49152以上を使用したいと思います。 現在四苦八苦な状態ですか皆様のアドバイスを受け止め、安全なサーバー運用に関する知識をつけていきたいと思います。 アドバイスありがとうございました。