ネットワークでの質問です。


FTPなどを使用すると20.21のポートを使用しますが、
セキュリティの関係で20,21を閉じている場合は
パッシブモードにすれば大丈夫というのを聞きました。
パッシブモードを調べてみたのですが通信などは
クライアントの指定したものでいけるみたいですが
それまでの通信の確立などは21番を使っているように思われます。
20,21番が閉じている状態でFTPを行うにはパッシブモードでOKといわれたのですが
解釈がまちがっているでしょうか。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/06/01 16:12:30
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:yoshihi6 No.1

回答回数6ベストアンサー獲得回数0

ポイント27pt

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

21番が閉じていると通信の確立ができないためパッシブモードでも接続できません。

"20番が閉じている状態でFTPを行うにはパッシブモードでOK" かと思います。

id:quocard

なるほど。

双方向で開いている必要はないけど

最低でも21番が外向きに空いている必要があるわけですね。

参考にさせていただきます。

2007/05/31 09:41:05
id:toohigh No.2

回答回数291ベストアンサー獲得回数37

ポイント27pt

「ftpサーバで20番から外部の任意のポートへの接続」が閉じられている場合はパッシブモードにするとOKになる「ことがある」・・・くらいが正確かと。


  • 21番の挙動は通常でもパッシブでも変化しません
  • パッシブにすると、「ftpサーバの20番から外部の任意のポートへの接続」の代わりに「外部からftpサーバへの接続」が追加で必要になるので、設定によってはパッシブだけNGの可能性もあります
  • ご指摘のとおり、接続の確立やコマンドのやりとりは21番、実際のファイルの内容の送受信は20番を利用します
id:quocard

ありがとうございます。

外部から接続するのか内側から接続するのかの違いですね。

参考にさせていただきます。

2007/06/01 16:11:41
id:JULY No.3

回答回数966ベストアンサー獲得回数247

ポイント26pt

yoshihi6 さんの示されている URL にも解説されていますが、FTP の本来の動きとしては、

・サーバの 21 番ポートへ接続する。

・実際にデータを転送するときに、クライアントが PORT コマンドで

 指定したポート番号へ、サーバの 20 番ポートから接続する。

ということになります。ポイントは TCP の接続が「サーバ→クライアント」になる点です。

これだと、Firewall を構築する時に厄介だ、ということでパッシブモードというものが使われるようになったのですが、確かにデータ転送に使う TCP のコネクションが「クライアント→サーバ」にはなったのですが、そのときのポート番号は「不定」です。FTP プロトコルの中で、サーバが返してきたポート番号に接続する、という動きになります。

なので、初期のパケットフィルタ型 Firewall では、「内側から外側への接続はすべて OK」としないと、パッシブモードでも繋がりませんでした。

近頃の Firewall では、FTP の中身をチェックして、必要なポートを自動的に開けてくれる、という機能を持っていたりします。この場合、ポート番号を直接指定して許可するのではなく、「FTP を許可」といった指定になることが多いです。

id:quocard

基本的にはポートなどはかわらないけど

どちらからコネクションを張るかという違いなわけですね。

とても参考になります。

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

2007/06/01 16:12:19

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません