運用
Microsoft Baseline Security Analyzer 2.0日本語版(後編)

4.コマンドラインで使うMBSA 2.0

デジタルアドバンテージ 打越 浩幸
2005/09/16

ファイアウォールが有効な場合のレポート結果

Windows TIPS「Windowsファイアウォールのリモート管理を有効にする」

 Windows XP SP2やWindows Server 2003にはWindowsファイアウォール機能が組み込まれており、不必要な外部からの通信要求はすべてブロックされるようになっている。そのため、MBSAでリモートからスキャンするためには、ファイアウォールにいくつか例外ルールを設定しておかなければならない。このために必要な具体的なポート番号としては、「ファイルとプリンタ共有」や「リモート管理」といった標準的なポートだけである(ファイアウォールの使い方については関連記事を参照)。これはMBSA 1.2のときと同じである。具体的なポートについては前編を参照していただきたい。

 だがこれらのポートを空けていても、MBSA 2.0でWindows XP SP2やWindows Server 2003をスキャンすると次のようなエラーが表示されることがある。

ファイアウォールによるエラーの場合
スキャン対象のコンピュータにWindowsファイアウォールがインストールされ、有効になっていると、たとえ必要なポートを空けていても、このようなメッセージが出る場合がある。
  ファイアウォールによって通信がブロックされ、WUAに接続できなかった場合のメッセージ。ファイアウォールを無効にしたり、一部の通信を許可するなどの対策が必要。ただしこのメッセージが表示されていても、セキュリティ更新プログラム以外のスキャンは行える。

 このメッセージに対する対策は、「MBSA 2.0 よく寄せられる質問(FAQ)」というドキュメントにいくつか記述されている。

■方法1――COM+の修正アップデータをインストールする
 このドキュメントによると、COM+用の修正アップデータをインストールすればこのエラーが出なくなるとのことである。だがこの修正モジュールはまだ一般には公開されておらず、マイクロソフトのProduct Support Services に連絡して入手する必要がある、特別なモジュールである。残念ながらサポート契約を結んでいない場合には、簡単に入手することはできない(将来のService Packなどで提供される予定)。

■方法2――DCOM+用の静的なポートを設定する
 FAQドキュメントによると、DCOM+で静的なポートを使用するように設定し、ファイアウォールでそのポートを空けておく、という方法が紹介されている(管理ツールの[コンポーネント サービス]を利用する方法も、レジストリで設定する方法も、結果は同じ)。だが手元で試した限りでは、この方法ではエラーは解消されず、スキャンできなかった。

■方法3――dllhost.exeを通過するようにファイアウォールを設定する
 これはMicrosoftの公開ニュース・グループ(microsoft.public.security.baseline_analyzer)に投稿されている情報である。Windowsファイアウォールの[プログラムの追加]機能を使って、「dllhost.exe」というプログラム(デフォルトでは%WINDIR%\SYSTEM32\dllhost.exe)に対して例外ルールを設定する。

 dllhost.exeはシステムの基幹となるファイルであり、これに対してすべてのアクセスを許可するというのは少し乱暴かも知れないが、とりあえずこの方法を使えばリモートからスキャンできることは確認できた。ただしこれはマイクロソフトの公式な情報・見解ではないことを十分理解した上で参考にしていただきたい。

[注意]
この情報に基づいて運用した結果、何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねますので、ご了承ください。

■方法4――ファイアウォールを無効にする
 ファイアウォールを無効にすればこの問題は発生しない。だがその分システムが脆弱になるのは避けられないので、その意味をよく理解して実行していただきたい。

コマンドライン・モードでMBSAを実行する

 MBSAには、GUI版(mbsa.exe)のほかに、コマンドライン版のツール(mbsacli.exe)も用意されている。従来のものと比べると、同時に複数のインスタンスを起動して実行する機能とか(従来はGUIでもCUI版でも、どれか1つしか動かせなかった)、IPアドレス・リストを使ったスキャン機能、オフライン環境でのスキャン(あらかじめカタログ・ファイルをダウンローしておいて、オフラインでスキャンする)などが強化されている。以下にいくつかの例を示しておくが、詳細についてはヘルプ・ファイルや、「mbsacli /?」で表示されるヘルプ・メッセージ参考にしていただきたい。

IPアドレス・リストを使ったスキャンの例

 スキャンする対象コンピュータのIPアドレスをテキスト・ファイルとして用意しておき、それをパラメータとして与えると、自動的にスキャンを行わせることができる。従来はIPアドレスの範囲やリストをパラメータとして渡す必要があった。ただし複数指定しても、マルチスレッドで動作するわけではなく、1台ずつ順番に処理される。並行処理したければ、同時に複数のツールのインスタンスを起動するなどの処理を行えばよい。

C:\>type targets.txt …スキャンするターゲットのIPアドレス
10.10.1.119
192.168.1.120

C:\>"C:\Program Files\Microsoft Baseline Security Analyzer 2\mbsacli.exe" /listfile targets.txt /qt …実行
Microsoft Baseline Security Analyzer
Version 2.0 (2.0.5029.2)
(C) Copyright 2002-2005 Microsoft Corporation. All rights reserved.

スキャンしています... …順にスキャンされる
1 / 2 台のコンピュータのスキャンが完了しました。
2 / 2 台のコンピュータのスキャンが完了しました。

スキャンは完了しました。


コンピュータ名, IP アドレス, 評価結果, レポート名 …スキャン結果
-------------------------------------------
MBSA192\MBSASCANNER, 192.168.1.120, リスク大, MBSA192 - MBSASCANNER (2005-07-12 12-12)
MBSA10\MBSATARGET, 10.10.1.119, リスク大, MBSA10 - MBSATARGET (2005-07-12 12-12)

コマンドラインからの簡易スキャン

 コマンドライン・オプション「/xmlout」を使用すると、MBSAがインストールされていなくても、mbsacli.exeとwusscan.dllだけがあれば、ローカル・スキャンができる。結果は標準出力にXML形式で出力されるので、リダイレクトして利用すればよい。MBSA 1.2ではXML形式ではなく、再利用しづらいテキスト形式で出力されていた。ただし出力書式は完全なMBSAレポート・ファイルの形式とは異なるので、MBSAとは別に処理する必要がある。またすべてのスキャンができるわけではなく、いくらか制限がある(詳細は省略)。

C:\work\MBSA\standalone>dir
ドライブ C のボリューム ラベルは Sys Boot です
ボリューム シリアル番号は C431-37C3 です

C:\work\MBSA\standalone のディレクトリ

2005/07/12  13:21    <DIR>          .
2005/07/12  13:21    <DIR>          ..
2005/06/29  15:36           133,120 mbsacli.exe …スキャンに必要なファイル
2005/07/12  12:39         2,860,074 wsusscan.cab
2005/06/29  15:36            93,696 wusscan.dll
               3 個のファイル           3,086,890 バイト
               2 個のディレクトリ   9,676,636,160 バイトの空き領域


C:\work\MBSA\standalone>mbsacli /xmlout /catalog wsusscan.cab /nd /nvc > results.xml …スキャンの実行
Microsoft Baseline Security Analyzer
Version 2.0 (2.0.5029.2)
(C) Copyright 2002-2005 Microsoft Corporation. All rights reserved.


C:\work\MBSA\standalone>type results.xml …結果の表示
<XMLOut>
<Check ID="500" Grade="5" Type="5" Cat="1" Rank="1" Name="Office のセキュリティ更新プログラム" URL1="Help/Check5311.html" URL2="Help/Check5311fix.html" GroupID="477b856e-65c4-4473-b621-a8b230bb70d9" GroupName="Office"><Advice>適用されていないセキュリティ更新プログラムはありません。</Advice>
…(以下省略)…

ユーザ名とパスワードを指定してのスキャン

 MBSA 2.0のmbsacli.exeでは、スキャン時に使用するユーザー・アカウントとパスワードを指定することができるようになった。「mbsacli /u ユーザー名 /p パスワード」と指定する。自ドメインに属していないリモート・コンピュータなどをスキャンする場合に有用であろう。


 INDEX
  [運用]
  Microsoft Baseline Security Analyzer 2.0日本語版(前編)
    1.MBSA 2.0の主要な機能強化点
  Microsoft Baseline Security Analyzer 2.0日本語版(後編)
    1.MBSA 2.0のインストール
    2.MBSA 2.0の基本的な操作方法
    3.レポートの表示
  4.コマンドラインで使うMBSA 2.0
    5.VisioとMBSA 2.0の連携
  
 運用


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間