自宅LANで Windows7 のメインPCから Windows Server 2008 のファイルサーバの共有フォルダへのSMBアクセスができないっていう状況が発生してます。
で、FW(ESET Smart Security4)を切るとアクセスできます。
どうやら ESET Smart Security4 のファイアウォールが原因っぽいです。
ESET のルール/ゾーンを見直しましたが特におかしなルールは見当たりません。
ping も通らなくなるので、ファイルサーバへの通信すべてが遮断されてるっぽいです。
とりあえずパケットキャプチャ(Wireshark)でレスポンスパケットが来てないかどうか確認してみることにしました。
wireshark-win32-1.2.2.exe をインストールをインストールするとき "Install WinPcap?" で WinPcap を一緒に入れようとしたんですが、Windows7 には対応してないと怒られます。
ググると、絶対無糖: Windows 7 RC 64-bit で Wireshark をインストールしてみたで、WinPcap を別でインストールし、その時に互換モードで Windows Vista にするといけるとあったので、その方法に従って WinPcap → WireShark をインストール。
エクスプローラでアドレスバーに "¥¥サーバ名" でファイルサーバにアクセスしたときのパケットですが、IPv6のLLMR→IPv4でのLLMR→NBNSという順序で名前解決を試みてるようです。
で、サーバからの応答パケットは全然返ってきてません。
pingの応答パケットも同じです。
どうやら、ファイルサーバからのパケットをパケットをことごとく破棄してるようです。
ESET Smart Security4 のログを見てみたら下記のようになってました。
どうやら LLMNR によるパケット応答がポートスキャン攻撃とみなされているようです。
(LLMNRについてはクライアントコンピュータの名前解決構成を参照)
確か大抵のパーソナルファイアウォールは攻撃あったホストは一定期間アクセスを拒否するみたいな機能があったと思うので ESET にもそれがないか調べてみると、ビンゴでした。
"IDSと詳細オプション" の所に "攻撃を検出したら安全ではないアドレスを遮断" ってのがあります。
それから、"UDPポートスキャン攻撃を検出" ってのもあります。
これから察するに、ファイルサーバからの LLMNR 応答パケットをポートスキャン攻撃と判断。→ファイルサーバのアドレスを攻撃ホストとして登録され、ファイルサーバからのパケットを一切捨てる。
みたいな動きになってたんだと思います。
ただこの "攻撃を検出したら安全ではないアドレスを遮断" は再起動すると攻撃元ホストのリストもリセットされるっぽいですね。
問題なのは何かのタイミングで LLMNR がポートスキャンと勘違いされることですよね。
とりあえず、"UDPポートスキャン攻撃を検出" のチェックを外すことで対応しておきました。
ポートスキャンされたところで実害はないですからね。
しかし ESET には Firefox のアドオンインストールでもやられましたし、利用者のスキルを試すセキュリティソフトですね。