21 番ポート以外で(例えば 12345 )で立てている IIS の FTP サーバがあります。


セッションは確立され、ユーザ名・パスワードも通るのですが、その後ファイルリストの取得などが出来ません。
恐らく 12345 ポート以外での通信があるんだろうと思い
http://www.atmarkit.co.jp/fwin2k/win2ktips/649ftpport/ftpport.html
↑ここを読んだのですが、
「ファイアウォールのFTP処理に対して、ポート番号を明示的に指示する」という部分の解釈に困っています。




FTP 以外の通信をすべて閉じたいため、上記の条件で開けるべきファイアウォールの設定を教えてください。

ちなみに、ファイアウォールを完全開放してテストしたところ問題なく FTP 通信が出来ました。

回答の条件
  • 1人50回まで
  • 登録:2006/07/07 17:36:04
  • 終了:2006/07/07 18:45:32

ベストアンサー

id:orz_horie No.5

orz回答回数21ベストアンサー獲得回数52006/07/07 17:56:09

ポイント500pt

ftpでは21/tcp(今回は12345/tcpですね)以外にもポートを使用します。ファイルリストの取得やデータの転送は別のポートで行われますので、今回のような事象になります。しかもこのポートは通常、ランダムに決定されるのでファイアウォールには優しくないです。

http://support.microsoft.com/default.aspx?scid=kb;ja;283679

こちらを参考にすると、ポートの範囲はデフォルトで 1024 ~ 5000を使うようですので、セキュリティ的に問題がないのであればこれらのポートも開けてみてください。うまく行かないようであれば、FTPクライアントをpassiveモードにして試してみてください(使用するポートをサーバが指示するモードです)。

製品次第ですが、賢いftpはサーバとクライアントのやりとりを見張っていて、アクティブに開くべきポートを判断してくれるものもあります。一度お使いのファイアウォール製品の仕様も確認することをおすすめします。

id:kamiochiai

1024~5000を解放することでうまく行きました。

なるほど、FTP自体が一般的にこのような仕様なのですね。

20番ポートを空けてもうまく行かない理由が分かりました。ありがとうございます。

この回答を参考に

http://kinshachi.ddo.jp/kurage/html/MT/comp/archives/000460....

このページを引き出すことが出来ました!!

ありがとうございます。

Port20-21 の固定概念がパッシブモードだと通用しないのが良く理解できました。

2006/07/07 18:44:07

その他の回答(7件)

id:hinetk No.1

hinetk回答回数516ベストアンサー獲得回数362006/07/07 17:40:30

ポイント10pt

http://y-kit.jp/inet/page/port.htm

FTPではポートを二つ使います。

20番はあいてますでしょうか?

20 ftp-data ファイル転送(データ本体)

21 ftp ファイル転送(コントロール)

id:kamiochiai

21 番ポート以外で立てていても 20 番は開けなければいけないのでしょうか

2006/07/07 17:52:51
id:tomo_k No.2

tomo_k回答回数426ベストアンサー獲得回数262006/07/07 17:41:52

ポイント10pt

@ITの記事を見ると制御ポートの変更を行っているようですね。

しかし、FTPは制御ポートのほかにデータポートとして20/TCPを使用しています。

TCPの20番がファイアウォールでふさがれていないかチェックしてみてください。

id:kamiochiai

20番を空けてみましたが、通信が出来ません。

クライアントソフトはとりあえず FFFTP を使用しています。

2006/07/07 18:08:39
id:ToMmY No.3

ToMmY回答回数656ベストアンサー獲得回数192006/07/07 17:48:05

ポイント10pt

FTPは20と21を使います。

それぞれ実データとヘッダや細かいやり取りですが、両方とものポートを変更して12345と12346などにしないとだめでしょう。

id:kamiochiai

IIS の FTP サーバですが、このような設定が可能な方法が見当たりません。

(ftp-data用のポートをどこで変更するのかが分からない)

2006/07/07 18:09:52
id:tfujiyama No.4

tfujiyama回答回数216ベストアンサー獲得回数102006/07/07 17:54:04

ポイント20pt

最後の部分で、FireWallを完全開放すればOKだったとのことですが、IPアドレスでのフィルタ(FTPサーバ~FTPクライアンツ間)は適用されているということですよね?

IPアドレスのフィルタルールで引っかかっているのではなく、ポート番号のフィルタルールで引っかかっているというところまで確認できているのであれば、FireWallのRejectログを確認することで、該当の通信が、どのポート番号を使用して引っかかったのかがわかると思います。


FTPサーバー側、FTPクライアント側、それぞれで双方向のポート番号の組み合わせがあるため、4つの定義が必要となります。

またPassiveモードも考慮するかにもよります。

具体的には、こちらのサイト(ルーターのフィルタ設定)が参考になると思います。

http://www.bcom.nec.co.jp/comstarz/router/appnote/filter.htm#FTP

id:kamiochiai

ルータのフィルタ設定で色々なものを試そうと思います。ありがとうございます。

2006/07/07 18:21:32
id:orz_horie No.5

orz回答回数21ベストアンサー獲得回数52006/07/07 17:56:09ここでベストアンサー

ポイント500pt

ftpでは21/tcp(今回は12345/tcpですね)以外にもポートを使用します。ファイルリストの取得やデータの転送は別のポートで行われますので、今回のような事象になります。しかもこのポートは通常、ランダムに決定されるのでファイアウォールには優しくないです。

http://support.microsoft.com/default.aspx?scid=kb;ja;283679

こちらを参考にすると、ポートの範囲はデフォルトで 1024 ~ 5000を使うようですので、セキュリティ的に問題がないのであればこれらのポートも開けてみてください。うまく行かないようであれば、FTPクライアントをpassiveモードにして試してみてください(使用するポートをサーバが指示するモードです)。

製品次第ですが、賢いftpはサーバとクライアントのやりとりを見張っていて、アクティブに開くべきポートを判断してくれるものもあります。一度お使いのファイアウォール製品の仕様も確認することをおすすめします。

id:kamiochiai

1024~5000を解放することでうまく行きました。

なるほど、FTP自体が一般的にこのような仕様なのですね。

20番ポートを空けてもうまく行かない理由が分かりました。ありがとうございます。

この回答を参考に

http://kinshachi.ddo.jp/kurage/html/MT/comp/archives/000460....

このページを引き出すことが出来ました!!

ありがとうございます。

Port20-21 の固定概念がパッシブモードだと通用しないのが良く理解できました。

2006/07/07 18:44:07
id:kurukuru-neko No.6

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/07/07 18:03:55

ポイント20pt

原因は、FTPのモードの違いによります。

http://www.atmarkit.co.jp/fwin2k/win2ktips/118ftpmode/118ftpmode...

http://support.microsoft.com/?scid=kb;ja;323446&spid=2073&am...


FTP IISサーバ側

Listen *:21 <-------------- Connect *:21 Client PC

<-------------- PORT XXX

Connect *:20 --------------> Listen *:XXX

http://members.jcom.home.ne.jp/j-klein/security/network-proto-ft...

id:kamiochiai

IIS 側からpassiveモードに使用するポートを明示することは可能なのでしょうか

2006/07/07 18:28:30
id:kurukuru-neko No.7

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/07/07 18:16:06

ポイント20pt

RFC 959 ファイル転送プロトコル(FTP)

http://hp.vector.co.jp/authors/VA002682/rfc959j.htm

データポート:標準: 20

制御ポート :標準: 21

IIS

制御ポートが 12345の場合データポートは制御ポート-1

が一般的

*:12345 <-------- Client PC

<---------- Port XXX

*:12344 ---------> *:XXXX

id:kamiochiai

なるほど、本来であればこのような動きになるはずなんですね。。。ありがとうございます。

ただ、IISの動きを見ていると20番だけでは明らかに不足しています。RFCに準拠しているとは思えません。

2006/07/07 18:31:59
id:kurukuru-neko No.8

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/07/07 18:34:04

ポイント10pt

>passiveモード

PORT/PASVモードの制御はクライアントが手動で

行います。

FFFTPを利用している場合、

接続プロパティーに PASVモードの設定があります。

1.92a よりディフォルトがPASVモードになっています。

http://ftp.hm/ffftp/

id:kamiochiai

ありがとうございます。

5番の方の回答をヒントに目的までたどり着けましたので、終了いたします。

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

2006/07/07 18:41:42
  • id:kurukuru-neko
    passive mode support for firewall scenarios
    http://support.microsoft.com/?id=555022
    http://support.microsoft.com/default.aspx?scid=kb;ja;810639

    ADSUTILスクリプトを使う方法 (5500から5700を使用する場合)

    C:\Inetpub\AdminScripts> CScript.exe adsutil.vbs set /MSFTPSVC/PassivePortRange "5500-5700"

    ===============================================
    このままだと不具合がでる可能性があります。
    サーバ側で動作するアプリケーションの利用する
    アプリケーションによっては不具合が出るので
    環境に合わせて設定が必要です。

    http://www.vwnet.jp/mura/tcpip-port.htm

    通信中のポート・セッションの確認
    netstat -ab
    or
    netstat -abn
  • id:kamiochiai
    kamiochiai 2006/07/07 20:02:27
    kurukuru-nekoさん:
    補足いただきまして、ありがとうございます!

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

トラックバック

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません