Windows OSやマイクロソフト製アプリケーションのセキュリティパッチの適用状況を調査できる無償ツール「MBSA」。だがマイクロソフトのサイトに接続できない環境では、そのままだと最新パッチの適用状況がスキャンできない。そこで、更新すべきファイルを手動でスキャン対象PCに配布して、オフラインでスキャンする方法を解説。
対象OS:Windows 2000/Windows XP/Windows Server 2003
Windows OSやマイクロソフト製アプリケーション(OfficeやSQL Serverなど)のセキュリティパッチの適用状況を調べるには、Microsoft Baseline Security Analyzer(MBSA)というマイクロソフト提供の無償ツールが便利だ。簡単なインストールと操作で未適用のセキュリティパッチをリストアップできる。
MBSAはスキャン前に、デフォルトで最新パッチの適用状況をスキャンするのに必要なパッチ情報ファイル(カタログ・ファイル)や、スキャンに必要なコンポーネントの更新版などをマイクロソフトのサイトから自動的にダウンロードする。そのためインターネットに接続されていれば、これらのファイルやコンポーネントのバージョンを気にすることなく運用できる。
逆にいえば、インターネット接続が制限されていると、前述のMBSAの自動ダウンロード機能が使えないため、必要なファイルの更新ができない。そのため最新パッチの適用状況が調査できなかったり、あるいはスキャンそのものが正常に実行できなかったり、といった問題が生じる。
このような場合、更新の必要なファイルをインターネット接続可能な作業用コンピュータにて手動でダウンロードし、インターネット非接続のコンピュータに配布してからMBSAのスキャンを実行すればよい。本稿ではその手順を説明する。この方法であれば、まったくネットワーク接続のないコンピュータでも、USBメモリなどのリムーバブル・ストレージを使ってMBSAでスキャンが可能になる。
本TIPSでは、執筆時点で最新のMicrosoft Baseline Security Analyzer(MBSA) 2.1を取り上げる。また、スキャン対象コンピュータとは別に、インターネット接続の可能な作業用コンピュータを用意していただきたい。作業用コンピュータには一時的にMBSAをインストールするので、Windows 2000 Service Pack 3/Windows XP/Windows Server 2003/Windows Vista/Windows Server 2008のいずれかがインストールされている必要がある。
以下の手順は、いずれも管理者権限を持つユーザー・アカウントで実施する。
まずスキャン対象コンピュータに対し、MBSAを実行するのに必要なコンポーネントをインストールする。この作業は1回だけ実行すればよい。
■Windows Update Agent(WUA)3.0のインストール
MBSA 2.1でパッチ適用状況を調べるには、スキャン対象コンピュータにWindows Update Agent(WUA)3.0というコンポーネントをインストールする必要がある。Microsoft Updateや自動更新を利用しているコンピュータでは、WUAがバックグラウンドで自動的にインストールされる。逆にいえば、インターネット接続が制限されているとWUA 3.0がインストールされていない場合があるので、明示的にインストールした方がよい。
WUA 3.0をインストールするには、作業用コンピュータに、以下のWUA 3.0のインストール・パッケージをダウンロードする。
WindowsUpdateAgent30-x86.exeというファイルがダウンロードされるので、スキャン対象コンピュータにコピーして実行し、ウィザードに従ってインストールを完了させる。対話的操作なしにインストールするには、以下のコマンドラインで実行する。
WindowsUpdateAgent30-x86.exe /quiet
■Windows Installer 3.1のインストール
Windows 2000/Windows XP Service Pack 2以前/Windows Server 2003 Service Pack未適用において、Windows Installerのバージョンが3.1より古い(%SystemRoot%\system32\msi.dllのファイルバージョンが3.1.0.0より小さい)場合は、Windows Installerも更新した方がよい。
本稿執筆時点では、Windows Installer 3.1.4000.2435のインストール・パッケージであるWindowsInstaller-KB893803-v2-x86.exeがダウンロードできる。WUA 3.0と同じくスキャン対象コンピュータにコピーして実行し、デフォルト設定のままウィザードを進め、指示に従って再起動すればよい。対話的操作の不要なインストール用コマンドラインは以下のとおり。
WindowsInstaller-KB893803-v2-x86.exe /quiet
■Windows 2000ではkernel32.dllのバージョンを上げる
Windows 2000の場合、kernel32.dllのバージョンが古いとMBSA起動時に次のようなkernel32.dllのエラーが発生することがある。
筆者が試した限りでは、Windows 2000 SP4更新プログラム・ロールアップ1を適用してkernel32.dllを5.0.2195.7006に更新すると、このエラーは解消できた。
サイレント・インストールのためのコマンドラインは以下のとおり。
Windows2000-KB891861-v2-x86-JPN.EXE /quiet
パッチ適用状況をスキャンするだけならMBSAをインストールする必要はなく、必要最低限のファイルをスキャン対象コンピュータにコピーすればよい。それには作業用コンピュータにて、以下のマイクロソフトのWebページからMBSAのインストール・パッケージをダウンロードしてインストールし、必要なファイルを抽出する。この作業も1回だけ実行すればよい。
上記ページには複数の言語がリストアップされているので、日本語版すなわちMBSASetup-x86-JA.msiを選んでダウンロードし、デフォルト設定でインストールすればよい。
インストール完了後、インストール先フォルダ(%ProgramFiles%\Microsoft Baseline Security Analyzer 2)をWindowsエクスプローラで開き、次の2つのファイルをスキャン対象コンピュータの適当なフォルダにコピーしておく(同じフォルダに配置すること)。
以後、作業用コンピュータにインストールしたMBSAは不要である。
ここからの手順は、スキャンのたびに実施する必要がある。
まず作業用コンピュータにおいて、最新のパッチ情報を収録したカタログ・ファイルを以下のWebページからダウンロードする。キャビネット形式のファイルwsusscn2.cabがダウンロードできるはずだ。
ここでwsusscn2.cabに破損がないか確認する。それには、Windowsエクスプローラでwsusscn2.cabを右クリックして[プロパティ]を実行し、[デジタル署名]タブを選んで一覧から署名を選択後、[詳細]ボタンをクリックする。以下の画面のように「このデジタル署名は問題ありません」と表示されていれば、破損がなく、ファイルは正常である。
デジタル署名を確認したら、wsusscn2.cabをスキャン対象コンピュータの適当なフォルダにコピーする(キャビネット・ファイルは展開せず、そのままコピーすること)。前述のMBSAの実行ファイルと同じフォルダでもよい。
MBSAでスキャンを行うには、WUAのサービスを起動しておく必要がある。そこでスキャン対象コンピュータにおいて、[管理ツール]−[サービス]を実行して[Automatic Updates]または[自動更新]というサービスが停止していたら開始しておく。以下のコマンドラインを実行してもよい。
net start wuauserv
これでスキャンの準備は完了だ。あとはMBSAを以下のコマンドラインで実行する。
mbsacli.exe /xmlout /unicode /nd /nvc /catalog c:\MBSA\wsusscn2.cab > c:\MBSA\mbsareport.xml
スキャンが完了すると、その結果がXML形式で保存される。これはInternet Explorerでも閲覧できるが、関連記事のようなXMLビューア/エディタを利用した方が読みやすいだろう。なお、/Unicodeオプションを指定しないと、出力されるXMLファイルの文字コードがシフトJISとなり、XMLビューアなどでエラーが発生することがあるので注意すること。
スキャン完了までの時間が非常に長い、あるいはスキャン中のCPU負荷がずっと100%のまま、という症状が発生した場合は、Windows Installerの不具合が原因の可能性がある。関連記事を参照して、KB927891の修正プログラム適用をお勧めする。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.