C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: WindowsXPのFire-Wallについて


(過去ログ 42 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■22280 / inTopicNo.1)  WindowsXPのFire-Wallについて
  
□投稿者/ Jitta on the way (138回)-(2008/07/17(Thu) 20:29:28)

分類:[ネットワーク全般] 

こんにちは。Jittaです。

PSDK にて、Windows アプリケーションを作成しています。
WinSock2 で、UDP でブロードキャストを行います。この時、返信が拾えないことがあります。
Windows Firewall を無効にすると拾えることから、F/W が関係しているとアタリを付けました。しかし、有効なままでも拾える環境があるため、他のことも影響していると考えました。
さらに調べたところ、拾えない環境では、仮想 PC ソフトがインストールされており、そのソフトが仮想ネットワーク カード?1枚しかないネットワーク カードを、ホスト OS と共有していることがわかりました。
この仮想?ネットワーク カードを無効にすると、F/W が有効でも、拾えることがわかりました。

そこで疑問なのですが、Windows Firewall は、パケットを落とす/落とさないを、どういう基準で選んでいるのでしょう?
引用返信 編集キー/
■22301 / inTopicNo.2)  Re[1]: WindowsXPのFire-Wallについて
□投稿者/ ちゃっぴ (142回)-(2008/07/18(Fri) 00:19:38)
ちゃっぴ さんの Web サイト
まず、Windows XP の Windows firewall は新たな port を listen するときに制御がかかります。
新たな port を listen しない場合には制御はかかりません。

それで、許可は
・ Port 単位
・ Application 単位
で設定できます。

> WinSock2 で、UDP でブロードキャストを行います。この時、返信が拾えないことがあります。
> Windows Firewall を無効にすると拾えることから、F/W が関係しているとアタリを付けました。しかし、有効なままでも拾える環境があるため、他のことも影響していると考えました。
> さらに調べたところ、拾えない環境では、仮想 PC ソフトがインストールされており、そのソフトが仮想ネットワーク カード?1枚しかないネットワーク カードを、ホスト OS と共有していることがわかりました。
> この仮想?ネットワーク カードを無効にすると、F/W が有効でも、拾えることがわかりました。

NDIS filter driver あたりを利用しているでしょうから、filter driver の競合とか発生していないですかね?もしくはどこかの driver に bug があるとか。

そもそも、落ちてまずい通信なら UDP を利用するなという話もあるわけでして。
引用返信 編集キー/
■22307 / inTopicNo.3)  Re[2]: WindowsXPのFire-Wallについて
□投稿者/ Jitta on the way (140回)-(2008/07/18(Fri) 07:00:08)
No22301 (ちゃっぴ さん) に返信

「これは、ちゃっぴさんだよなぁ?」と思いながら書いたのですが、予想通りでした。ありがとうございます。


> それで、許可は
> ・ Port 単位
> ・ Application 単位
> で設定できます。

このあたりは、一応、おさえています。



> NDIS filter driver あたりを利用しているでしょうから、filter driver の競合とか発生していないですかね?もしくはどこかの driver に bug があるとか。

ドライバには、手を入れられませんね...


> そもそも、落ちてまずい通信なら UDP を利用するなという話もあるわけでして。

他の、通信可能な機器を探しています。あるかどうかわからないので、UDP でブロードキャストしています。この発信に対して、応答を返します。ブロードキャストがいつ届くかわからないし、応答も、いつ返ってくるか判りません。ユーザーがキャンセルできるようにしているので、UDP にしたのだと思います(仕様決定には関与していないので)。

ブロードキャストを、255.255.255.255 で投げると落ちるのですが、192.168.1.255 で投げると拾えるようです。投げ方が悪いような気がする...今日はこのあたりの仕様を調べるところからはじめます。
引用返信 編集キー/
■22309 / inTopicNo.4)  Re[3]: WindowsXPのFire-Wallについて
□投稿者/ ちゃっぴ (143回)-(2008/07/18(Fri) 07:35:13)
ちゃっぴ さんの Web サイト
No22307 (Jitta on the way さん) に返信
> ブロードキャストを、255.255.255.255 で投げると落ちるのですが

そんな、Internet 全体を検索するような凶悪な packet 投げても。。。
まず、router では filter されますね。

できてせいぜい同じ network segment 内だけです。
同じ network segment でも broadcast に応答してしまうと攻撃者の調査が楽になってしまうので、できるだけ broadcast には応答しないようにするという policy を採用していることもあります。

たとえば、ICMP ですが host 単位では許可することが多いですが、broadcast には応答しないように設定するのが一般的ですね。
引用返信 編集キー/
■22315 / inTopicNo.5)  Re[4]: WindowsXPのFire-Wallについて
□投稿者/ Jitta (495回)-(2008/07/18(Fri) 09:58:27)
No22309 (ちゃっぴ さん) に返信
> ■No22307 (Jitta on the way さん) に返信
>>ブロードキャストを、255.255.255.255 で投げると落ちるのですが
>
> そんな、Internet 全体を検索するような凶悪な packet 投げても。。。
> まず、router では filter されますね。
>
> できてせいぜい同じ network segment 内だけです。
> 同じ network segment でも broadcast に応答してしまうと攻撃者の調査が楽になってしまうので、できるだけ broadcast には応答しないようにするという policy を採用していることもあります。
>

はい、それがまずいのでは?と思っていたのですが→ http://www.atmarkit.co.jp/fwin2k/win2ktips/833broadcast/broadcast.html
[blockquote]
これはすべてのbitが1となっているIPアドレスのことである。つまり255.255.255.255というIPアドレスがリミテッド・ブロードキャスト・アドレス(limited broadcast addres)となる。

 このアドレスに対してデータをブロードキャスト送信すると、実際には、そのネットワーク・セグメント(イーサネットなら、1つのイーサネット・セグメントのこと)に接続されているすべてのコンピュータに対してデータが送信される。ルータを介して接続されているほかのセグメントへは送信されない。ローカルのセグメント上のコンピュータだけが送信対象となる。
[/blockquote]
ということで、大丈夫のようです。少なくとも、プログラム(機能仕様)ではルータがブロックして同一セグメント上の機器だけが反応することを期待しています。


 パケットをキャプチャした方は、別の問題かもしれない。「探せないよ」といわれている現象の一つは、うちで作っているプログラムと、それを呼び出している上位のプログラムの I/F がらみの問題のようです。
なんか、複数の要因で同じ現象が発生しているのを勘違いが入り交じっている気がしてきた。。。
引用返信 編集キー/
■22316 / inTopicNo.6)  Re[4]: WindowsXPのFire-Wallについて
□投稿者/ シャノン (547回)-(2008/07/18(Fri) 09:58:39)
No22309 (ちゃっぴ さん) に返信
> ■No22307 (Jitta on the way さん) に返信
>>ブロードキャストを、255.255.255.255 で投げると落ちるのですが
>
> そんな、Internet 全体を検索するような凶悪な packet 投げても。。。
> まず、router では filter されますね。
>
> できてせいぜい同じ network segment 内だけです。
> 同じ network segment でも broadcast に応答してしまうと攻撃者の調査が楽になってしまうので、できるだけ broadcast には応答しないようにするという policy を採用していることもあります。
>
> たとえば、ICMP ですが host 単位では許可することが多いですが、broadcast には応答しないように設定するのが一般的ですね。

http://www.atmarkit.co.jp/fwin2k/win2ktips/833broadcast/broadcast.html

> リミテッド・ブロードキャスト・アドレス(オール1ブロードキャスト・アドレス)

というものらしいですよ。
ルータがセキュリティ上はじくから、じゃなくて、仕様的にそういうものなんじゃないんですかね?
引用返信 編集キー/
■22317 / inTopicNo.7)  Re[5]: WindowsXPのFire-Wallについて
□投稿者/ シャノン (548回)-(2008/07/18(Fri) 09:59:04)
No22316 (シャノン さん) に返信
> http://www.atmarkit.co.jp/fwin2k/win2ktips/833broadcast/broadcast.html

かぶったw
引用返信 編集キー/
■22364 / inTopicNo.8)  Re[5]: WindowsXPのFire-Wallについて
□投稿者/ ちゃっぴ (145回)-(2008/07/18(Fri) 21:35:18)
ちゃっぴ さんの Web サイト
255.255.255.255 ではなく、0.0.0.0 でしたね。
忘れてました。
引用返信 編集キー/
■22371 / inTopicNo.9)  Re[6]: WindowsXPのFire-Wallについて
□投稿者/ Jitta (497回)-(2008/07/19(Sat) 12:01:35)
目に見える現象が同じである2つの問題について、「同一の障害」と思いこんでいたため、情報が錯綜していました。
問題が2つあり、1つはこの問題。もう1つはプログラム上の不備であると判明しました。

とりあえず、こちらの問題は取説に「こういう場合がある」と記入することで対策とします。


現象を整理しておきます。

・Virtual Box (Sun Microsystems 社のバーチャル デスクトップ)をインストールしている。
・Virtual Box が、ネットワーク接続(XP で、「ネットワーク接続を表示する」で表示される画面)をインストールしている。
・このネットワーク接続が、ローカルエリア接続と同じネットワークカードを使用している。
・255.255.255.255 でブロードキャストする。
・Windows Firewall が有効(他の F/W は試していない)
以上の条件が整うと、UDP による返信を取れません。
ブロードキャストを、ネットワークを限定して行うと(192.168.1.255 など)、受信できます。(もう1つの方を混同している可能性あり)
また、Windows F/W を無効にしたり、アプリケーションを例外に登録しても、受信できます。



解決してないけど、対策したということで解決済みにしておきます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -