- PR -

ファイヤーウォールを有効にすると、FTPでセッション切れが発生します

投稿者投稿内容
山田
常連さん
会議室デビュー日: 2004/11/22
投稿数: 25
投稿日時: 2005-02-08 10:12
御世話になります。
こちらに書き込みすべきか迷いましたが、ファイヤーウォール関係→セキュリティと考え
質問させていただきます。

FTPを使用して、1000件の画像を遠隔地端末へ送信するプログラムをC#で組んでます。
OSは、WindowsXPです。

XPにSP2を適用する前は、1000件問題なく処理出来ていましたが
しかし、SP2を適用させた後、50〜200件アップしている途中で、エラーが発生するように
なりました。(サーバとのセッションが切れている)

ファイヤーウォール機能を有効にしつつ、FTPを使用したいと思い
以下の対応を行いました。

・ファイヤーウォール機能を有効(例外許可)、例外として20、21番ポートを許可、
ノーマルモードで実行
・ファイヤーウォール機能を有効(例外許可、パッシブモードで実行(21番ポート許可)

しかし、現象は変わりません。(50〜200件の間でエラー)
XPのファイヤーウォール機能を無効にすると、今まで通り1000件正常にアップされます。
(セッション切れが起こらない)

何か考えられる原因をご存知の方がおられましたら
ご教授くださいますよう、よろしくお願いいたします。
aetos
会議室デビュー日: 2005/01/27
投稿数: 16
投稿日時: 2005-02-10 07:26
Norton とか VirusBuster とか、市販のファイアーウォールが入ってませんか?
市販ソフトと XP SP2 のファイアーウォールは、どちらか一方だけ有効にしておけばいいです。
両方有効にしておくと、FTP が繋がらなくなった記憶があります。
山田
常連さん
会議室デビュー日: 2004/11/22
投稿数: 25
投稿日時: 2005-02-10 10:55
TO シャノン様

ご回答有り難うございました。

ご指摘通り、FTP転送を行っている端末に
NOD32アンチウィルスが常駐しておりました。
無効にして試してみましたところ、以下の結果になりました。

・NOD32を有効、Windowsファイヤーウォールを有効→エラー
・NOD32を無効、Windowsファイヤーウォールを有効→エラー
・NOD32を有効、Windowsファイヤーウォールを無効→正常(1000件転送可)
・NOD32を無効、Windowsファイヤーウォールを無効→正常(1000件転送可)

希望としましては、市販のソフトを無効にし
Windowsファイヤーウォールだけを有効にして、転送可能にしたいのですが
設定方法に間違いがございましたら、ご指摘頂きたいと思います。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-02-10 12:28
FireWallが介在することによって起こるトラブルに関しては、一度ネットワーク上を流れるパケットをキャプチャーして、前後でどのような挙動をしているか調べてみると良いかと。Connect->Closeを繰り返す行為が、FireWallでのブロック対象になっているのかもしれませんし・・・・。

Insider.Netに投稿していると言うことは.Net Frameworkを使ったアクセスじゃなければ問題は発生しないんでしょうか?もしどの環境でも起こるなら、IP Networkあたりに聞いたほうが良いかと。

#ちなみにサーバーOSは何?
_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
山田
常連さん
会議室デビュー日: 2004/11/22
投稿数: 25
投稿日時: 2005-02-10 14:25
TO 甕星様

ご回答有り難うございます。
パケットキャプチャーで、データ転送の流れを解析致しましたが
有効な情報を得ることが出来ませんでした。(解析する力がないせいかもしれませんが)

キャプチャした内容ですが、
初めにデータ制御用の接続を行い、その後に、実際のデータを転送する接続を張り
クライアント→サーバへファイルを転送しています。(パッシブモード)
1つのファイル転送が終了するに、データ転送用接続をリセットしています。

何回目かのファイルの転送を終え、クライアントからサーバへ
接続リセットのフラグを渡しています。その直後に、エラーが発生しております。
全体の流れで言えば、特におかしな動作をしている様には思えませんでした。
※TCPプロトコルのパケットのみキャプチャしました。

>Connect->Closeを繰り返す行為が、FireWallでのブロック対象になっているのかもしれませんし・・・・。

Windowsファイヤーウォールのブロック対象として、何が設定されているのかの詳細を
知るには、どこを調べれば宜しいでしょうか。特に既定値を変えていないのですが
もしご存じでしたら、教えて下さいませんか。
宜しくお願い致します。

>Insider.Netに投稿していると言うことは.Net Frameworkを使ったアクセスじゃなければ問題は発生しないんでしょうか?
>もしどの環境でも起こるなら、IP Networkあたりに聞いたほうが良いかと。

申し訳ないです。これは試しておりません。
.Net Frameworkを使用しているシステムで、このような状況が発生していることは確かなのですが
他の方法でも発生するのかどうか・・・・。

インターネットで調べてみますと、Windowsファイヤーウォールを有効にしているため
ネット接続系のエラーが多発しているように思えましたので、関係ないとは思っているのですが。
だとしたら、IP Networkの方に尋ねるべきでしたか・・^^;

>#ちなみにサーバーOSは何?

RedHatです。
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2005-02-10 15:10
引用:

Windowsファイヤーウォールのブロック対象として、何が設定されているのかの詳細を
知るには、どこを調べれば宜しいでしょうか。特に既定値を変えていないのですが
もしご存じでしたら、教えて下さいませんか。
宜しくお願い致します。


スタート→コントロールパネル→セキュリティセンター→Windowsファイアウォール
で色々タブが出てくるでしょ。 

[ メッセージ編集済み 編集者: NAO 編集日時 2005-02-10 15:12 ]
山田
常連さん
会議室デビュー日: 2004/11/22
投稿数: 25
投稿日時: 2005-02-10 16:18
TO NAO様

ご回答有り難うございます。
おっしゃってる画面って、Windowファイヤーウォール設定画面でしょうか。
(全般、例外、詳細設定タブを持つ画面)

『例外』に設定しているポートやプログラム以外をブロックしている、と
いうことは分かるのですが・・・・。

Windows ファイアウォールで拒否/許可する情報の判別は
トラフィックを見ている様ですが、データ自体の情報だけではなく
データ量の事も指すみたいですので、大量データ転送時は、既定の設定値のままだと
拒否されてしまうのかも知れません。
甕星様のおっしゃる、Connect→Closeが大量に発生すると
ブロックしていると思われます。

しかし、大量データ転送を許可するように、Windowsファイヤーウォールの設定を
変えるには、どうすれば宜しいのでしょうか?
# ファイヤーウォールは、大量データをブロックしている、と決めつけて書いています
ニック
ベテラン
会議室デビュー日: 2004/10/20
投稿数: 60
投稿日時: 2005-02-10 16:18
こんにちは。

基本的にFTP通信はパッシブモードで転送を行えば、ファイヤーウォール
に関しては何も設定する必要はありません。もしそれで問題が発生すると
したらプログラム自体に問題があるかもしれません。
一度ポート指定ではなく、プログラム指定で例外許可を与えてはいかがで
しょう。

ちなみにFTP通信における以下の設定はまったく意味がありません。
引用:

ファイヤーウォール機能を有効にしつつ、FTPを使用したいと思い
以下の対応を行いました。
・ファイヤーウォール機能を有効(例外許可)、例外として20、21番ポートを許可、
ノーマルモードで実行
・ファイヤーウォール機能を有効(例外許可、パッシブモードで実行(21番ポート許可)

スキルアップ/キャリアアップ(JOB@IT)