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

2.コマンド・モードによるMBSAの実行

デジタルアドバンテージ
2004/02/19

コマンド・モードでの実行(MBSA形式)

 すでに述べたとおり、GUIモード以外にも、MBSAにはコマンドラインでの実行モードも用意されている。MBSAをコマンドラインで実行する場合は、コマンド・プロンプトからmbsa.exeではなく、mbsacli.exeを実行する。

 コマンドライン・モードでのスキャンの形式には、新しいMBSA形式と、従来互換のHFNetChk形式の2種類がある。このうちデフォルトはMBSA形式である。HFNetChk互換形式で実行するには、mbsacli.exeに“/hf”オプションを付ける。

 基本的には、このコマンドライン・モードでも、前出のGUIモードとスキャン機能などは変わらない。スキャン結果はGUIモードと同じXMLファイルとして出力される。必要なら、コマンドライン・モードでスキャンを実行しておき、結果レポートはGUIモードで表示することも可能だ。WSHなどのスクリプトと組み合わせてスキャン処理は実行するが、結果の評価はGUIで見たいという場合は、このような使い方をするとよいだろう。

 指定可能なコマンドライン・パラメータは、MBSA形式のスキャンと、HFNetChk互換形式のスキャンで異なる。MBSAスキャンのパラメータを“/hf”パラメータと組み合わせることはできない。

■MBSA形式スキャン時のパラメータ
 MBSA形式のスキャンでは、次のパラメータを指定できる。

オプション 機能
■スキャン対象の指定
オプション無指定 ローカル・コンピュータをスキャンする
/c <ドメイン名>\<コンピュータ名> 指定したコンピュータをスキャンする[例]mbsacli /c testdomain\pc01
/i xxx.xxx.xxx.xxx 指定したIPの(単一の)コンピュータをスキャンする[例]mbsacli /i 192.168.0.1
/r xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx 指定したIPアドレス範囲のコンピュータをスキャンする[例]mbsacli /r 192.168.0.1-192.168.0.100
/d <ドメイン名> 指定のドメインに含まれるすべてのコンピュータをスキャンする[例]mbsacli /d testdomain
■スキャンしない項目の指定*1
/n IIS IIS関連のスキャンを省略する
/n OS Windows OS関連のスキャンを省略する。このオプションを指定すると、IEやOutlookのゾーンの検査、Officeマクロのセキュリティ検査も省略される
/n Password パスワード関連の検査を省略する
/n SQL SQL関連の検索を省略する
/n Updates セキュリティ更新の検索を省略する
■セキュリティ更新のスキャン・オプション
/sus <SUSサーバ | SUSファイル名> SUSサーバのURLまたはSUSサーバ上のApprovedItems.txtファイルのURLを指定する(例:「http://susserver」「http://susserver/ApprovedItems.txt」など)。ApprovedItems.txtファイルには、承認されたセキュリティ更新の一覧が記録されており、これらのセキュリティ情報のみをスキャンする。もしURLまたはパスが指定されなかった場合は、レジストリに格納している値がデフォルト値として使用される(管理者がグループ・ポリシーを使ってレジストリを設定している場合)
/s 1 セキュリティ更新のスキャンで、「注意」レベルの項目は無視する(「/s」と「1」の間にはスペースが必要)
/s 2 セキュリティ更新のスキャンで「注意」と「警告」レベルの項目は無視する(「/s」と「2」の間にはスペースが必要)
/nosum セキュリティ更新のスキャンで、ファイルのチェックサムの検査を実行しない
/baseline ベースライン・セキュリティの更新のみをチェックする
/nvc MBSA(プログラム本体)の新バージョンのチェックを実行しない
■出力ファイル名テンプレートの指定
/o <ファイル名> スキャン結果を出力するファイルのファイル名の形式を指定する。デフォルトの形式は「%D% - %C% (%T%)」で、「%D%」にはドメイン名が、「%C%」にはコンピュータ名が、「%T%」には日付と時刻がそれぞれ指定される。なおこれ以外にも「%IP%」でスキャン対象コンピュータのIPアドレスを指定することも可能[例]TESTDOMAIN - TESTPC01 (2004-02-17 13:45).xml(ドメイン名「TESTDOMAIN」のコンピュータ名「TESTPC01」を2004年2月17日午後1時45分にスキャンした場合)
■レポート・オプション*2
/e スキャン時に発生した最新のエラー情報を一覧表示する
/l 利用可能なすべてのスキャン・レポートを一覧表示する。デフォルトでは、%USERPROFILE%\SecurityScansフォルダのファイルを一覧する
/ls 最新のスキャン・レポート(一番最近に実行したスキャン・レポート)の情報を表示する
/lr <レポート名> レポート・ファイルを指定し、その概要をレポート表示する
/ld <レポート名> レポート・ファイルを指定し、詳細レポートを表示する
/v セキュリティ更新の理由コードを表示する
■そのほかのオプション
/? ヘルプを表示する
/qp 進行状況を表示しない
/qe エラー一覧を表示しない
/qr レポート一覧を表示しない
/q 「進行状況」「エラー一覧」「レポート一覧」のいずれも表示しない
/f <ファイル名> 実行時の表示出力をファイルにリダイレクトする
/unicode unicode形式で出力する
mbsacliのMBSAスキャン・モード時オプション
*1:複数のオプションを指定する場合は、“+”で連結できる。[例]/n OS+IIS+Updates など。
*2:レポート・オプションは、あくまで過去のスキャン結果のファイル(%USERPROFILE%\SecurityScansフォルダのファイル)から情報を表示するだけなので、上記「セキュリティ更新のスキャン・オプション」の各オプションと組み合わせることはできない。つまり、スキャン時のオプションで情報出力を抑制した場合は、レポート・オプションで表示を指示しても表示はできない。

コマンド・モードでの実行(HFNetChk互換モード)

 従来から提供されていたコマンドライン・ベースのホットフィックス管理ツール、HFNetChkの互換モードでスキャンを実行するには、mbsacliに「/hf」オプションを指定して実行する。この場合、WindowsシステムやIISの弱点チェックなどは実施されず、従来のHFNetChkと同じく、コンピュータにインストールされていないホットフィックスがチェックされ、スキャン結果がコマンド・ウィンドウに表示される。XMLファイルへの出力は行われない。従ってHFNetChk互換モードでの検査結果をGUIモードでレポート表示させることはできない。

 またHFNetChkスキャン・モードでは、Office関連のホットフィックスのチェックは行われない。Office関連のホットフィックスの適用状況をチェックしたければ、MBSA形式のスキャン(GUIモード/コマンドライン・モード)を実行する必要がある。

 HFNetChkスキャン・モードのオプションを以下にまとめる。これらは「/hf」オプション以後に指定可能である。

オプション 機能
/hf HFNetChkスキャン・モードで実行する。以下のオプションは、必ずこのオプション以後に指定する必要がある
-? HFNetChkスキャン・モード実行時のヘルプを表示する[例]mbsacli /hf -?
■スキャン対象の指定
-h <コンピュータ名> 指定したコンピュータをスキャンする。-hオプションを指定しない場合はローカル・コンピュータがスキャンされる。コンピュータ名をカンマで区切って並べることで、複数のコンピュータをスキャンできる
-fh <ファイル名> コンピュータ名を列挙したテキスト・ファイルを指定し、内部に列挙されているコンピュータを順次スキャンする。テキスト・ファイルには、各行に1つずつコンピュータ名を指定する(最大256個まで指定可能)
-i xxx.xxx.xxx.xxx 指定のIPアドレスをスキャンする。各エントリをカンマで区切って並べることで、複数のIPアドレスをスキャンできる
-fip <ファイル名> IPアドレスを列挙したテキスト・ファイルを指定し、内部に列挙されているIPアドレスに対応するコンピュータを順次スキャンする。テキスト・ファイルには、各行に1つずつIPアドレスを指定する(最大256個まで指定可能)
-r xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx 指定したIPアドレス範囲のコンピュータをスキャンする
-d <ドメイン名> 指定のドメインに含まれるすべてのコンピュータをスキャンする
-n LAN上のすべてのコンピュータをスキャンする。複数のドメインが存在する場合には、全ドメインの全コンピュータがスキャンされる
■セキュリティ更新のスキャン・オプション
-sus <SUS サーバ | SUS ファイル名> SUSサーバのURLまたはSUSサーバ上のApprovedItems.txtファイルのURLを指定する(例:「http://susserver」「http://susserver/ApprovedItems.txt」など)。ApprovedItems.txtファイルには、承認されたセキュリティ更新の一覧が記録されており、これらのセキュリティ情報のみをスキャンする。もしURLまたはパスが指定されなかった場合は、レジストリに格納している値がデフォルト値として使用される(管理者がグループ・ポリシーを使ってレジストリを設定している場合)
-b ベースライン・セキュリティの更新のみをチェックする
-fq <ファイル名> 出力対象外とするサポート技術情報の文書番号を記載したテキスト・ファイルの名前を指定する。テキスト・ファイルでは、1行につき1つの文書番号を指定する。これにより、特定の情報表示を禁止できる。ただし表示が行われないだけで、スキャン自体は実行されている
-s 1 セキュリティ更新のスキャンで、「注意」レベルの項目は無視する(「/s」と「1」の間にはスペースが必要)
-s 2 セキュリティ更新のスキャンで「注意」と「警告」レベルの項目は無視する(「/s」と「2」の間にはスペースが必要)
-nosum セキュリティ更新のスキャンで、ファイルのチェックサムの検査を実行しない
-sum 英語以外の言語のシステムをスキャンする際に、チェックサム・スキャンを強制する。ただしこのスイッチを利用するには、当該言語に対応したチェックサム情報を含むカスタムXMLファイルが必要
-z レジストリ・チェックを実行せず、ファイルのチェックのみを行う。-vオプションと組み合わせることで、修正プログラムがインストールされているにもかかわらず、レジストリに情報が記録されていない項目をチェックできる
-history n 明示的にインストールされた更新(累積的な修正プログラムなどでなく、個別に適用された更新。n=1)、明示的にはインストールされていない更新(n=2)、事実上インストールされた更新(n=3)を表示する。表示したい更新に対応する番号(n)を指定する
-v テストに失敗した原因を右端で折り返す形式で表示する
-nvc MBSA(プログラム本体)の新バージョンのチェックを実行しない
■出力形式とファイル名の指定
-o <TAB | wrap> 出力形式を指定する。タブ区切りで出力する場合は「tab」を、右端で折り返す形式で出力する場合は「wrap」を指定する
-f <ファイル名> スキャン結果を保存するファイルの名前を指定する
-unicode unicode形式で出力する
■そのほかのオプション
-t スキャンの実行に使用するスレッド数を指定する(デフォルトは64)。多数のスレッドを割り当てることで、スキャンを高速に実行することが可能になる
-u <ユーザー名> スキャンに使用するユーザー名を指定する。このオプションを指定したときには、次の「-p」オプションも指定する
-p <パスワード> 「-u」で指定したユーザーのパスワードを指定する。安全のため、パスワードはチャレンジ&レスポンス認証で保護される
-x <ソース> セキュリティの更新情報を含むXMLデータ・ソースを指定する。「ソース」の部分には、XMLファイル名、圧縮されたXML .cabファイル、URLを指定可能。デフォルトはマイクロソフトのWebサイトにあるMssecure.cabファイルになっている

MBSA 1.2とSUSとの連携

 これまで述べたとおり、標準状態では、MBSA 1.2は、スキャンのたびにインターネット上のマイクロソフトのサイトからホットフィックス情報データベース(mssecure.cabファイル)をダウンロードし、この内容に従ってコンピュータのホットフィックス適用状況を検査する。

 しかしSUS(Software Update Services)を利用している企業ユーザーなら、これらとMBSA 1.2を連携させることができる。

 すでにご紹介したとおり、スキャン・オプション画面の「SUSサーバーを使用する」を選択し、SUSサーバのURLを指定すれば、インターネット上のサーバからではなく、社内に設置されたSUSサーバからホットフィックス情報データベースをダウロードすることが可能だ。これにより、SUSサーバで管理者が承認したホットフィックだけをスキャン対象にすることができる。具体的には、社内のコンピュータへの適用を承認したホットフィックスは検査対象に入れ、すでにインターネットで公開はされているが、テスト結果待ちなどで社内への展開を保留しているホットフィックスについては検査対象から除外するなどだ。SUSは無償公開されており、だれでもダウンロードして使うことができる。詳細は以下のマイクロソフトのWebページなどを参照されたい。

煩雑なホットフィックス管理作業工数を軽減

 以上、MBSA 1.2の概要をまとめた。MBSA 1.2で実行できるのは、あくまでシステムの弱点の調査と、ホットフィックスの適用状況調査までで、仮に未適用のホットフィックスが発見されたとしても、MBSA 1.2でリモートから適用するというわけにはいかない。これには、対象となるコンピュータに出向いてWindows Updateを実施するか、マニュアルでホットフィックスをダウンロードして適用作業を実行する必要がある。

 とはいえ、ネットワーク内に存在する複数のコンピュータに対し、ホットフィックスの適用状態を一括してリモート調査し、結果を見やすいGUIでレポート表示させることができるのは便利だ。スキャン結果はXML形式のファイルなので、その気になれば独自のレポート・ツールを作成することも可能だろう。管理者は例外なく忙しい。従って自分が管理するネットワークにどのようなリスクがあるのかを手軽に素早く知ることができるのは重要だ。

 ホットフィックス管理は頭の痛い問題だが、煩雑な作業を軽減してくれる無償ツールとしてMBSA 1.2は十分役立つはずだ。まだ試していない方は、さっそくダウンロードして試用してみていただきたい。End of Article

 

 INDEX
  [運用]
  Microsoft Baseline Security Analyzer 1.2日本語版(前編)
    1.MBSA 1.2の入手方法と必要環境
    2.MBSA 1.2の動作原理と動作モード
  Microsoft Baseline Security Analyzer 1.2日本語版(後編)
    1.GUIモードによるMBSAの実行
  2.コマンド・モードによるMBSAの実行
 
 運用


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

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間