不足しているセキュリティパッチなどを簡単に知る方法はないか?

対象プラットフォーム

質問

最近、セキュリティ対策のため、新しいホットフィックスが出るたびに適用を行なっているのですが、多数のホットフィックスを適用しているため、抜けが発生しているのではないか不安です。Windows NT/2000で不足しているホットフィックスを簡単に知る方法はないでしょうか?

回答

最近MicrosoftからリリースされたHfNetChkを利用することで、不足しているホットフィックスの検出を簡単に行なうことが可能です。図1の説明にも見られるように、HfNetChkが対応しているプロダクトは、

となっています。Office や Exchange などは含まれませんが、これだけでも充分作業負荷の削減になるでしょう。

ダウンロードとインストール

HfNetChkはMicrosoftから無償で提供されているツールで、執筆時点での最新版は 3.32 となっています。ダウンロードは、HFNetChkのWebページ(http://www.microsoft.com/japan/technet/security/tools/hfnetchk.asp )(図1)から行なって下さい。特に日本語版のようなものはありません。


図1: HFNetChk の Web ページ

HFNetChk本体のダウンロードと合わせて、HFNetChkが利用するデータファイルになるstksecure.exeをダウンロードします。同じページの下の方にダウンロードへのリンクがあるのですが、図xx2のようにちょっとわかりにくくなっていますので注意して下さい。このファイルは日本語と英語版とで異なっています。


図2: stksecure.exe のダウンロード

なお、どちらもMicrosoft社から提供されているSecurity Tool KitのCD中に含まれています。後述するようにHfNetChkはCDで提供されているものを利用した方がよい場合もあるのですが、基本的にはWebから最新版を入手するようにして下さい。

ダウンロードが完了したらインストールを行ないます。どちらも自己解凍形式になっていますので、アイコンをクリックすることによりインストールが行なえます。なおHfNetChkはコマンドラインツールなので、コマンドプロンプトから操作しやすいような位置に展開した方がよいでしょう。ここでは図3のようにC:\TEMPに展開しています。


図3-1: HFNetChk のインストール


図3-2: stksecure のインストール

HfNetChkを使ってみる

それでは、HfNetChkを使ってみましょう。基本的な使い方は簡単です。管理者権限で

C:\temp> HfNetChk.exe -v -x stksecure.xml

のように、-xオプションでチェックに利用するXMLファイルを指定して実行するだけです。図4のように結果が画面上に表示されます。なお-xオプションをつけなかった場合、HfNetChkはInternet上から最新のXMLファイルをダウンロードしようとしますが、このファイルは英語版のファイルのため、正しくチェックが行なえません。日本語環境の場合、常にあらかじめXMLファイルをダウンロードした上で-xオプションで指定するという作業が必要になります。

また、-vは後述するように詳細情報を出力するオプションですが、何か理由がない限りはつけるようにすることをお勧めします。


図4: HFNetChk の実行例

このシステムは検証用にわざと特殊な構成にしてあります。

図4では、Windows 2000に関する「Warning(警告)」と「Note(注意)」が1つずつ、および「Patch Not Found」が2つあります。IIS 5.0とIE 5.5 SP2についてのホットフィックスはすべて適用されていると診断されています。なおこのマシンにはSQL Serverはインストールされていません。

警告や注意のものについて対処する必要があるかどうかはケースバイケースですので、参照されているKB(注1)を確認して判断して下さい。

注1: JP123456 という番号のKBは
http://www.microsoft.com/japan/support/kb/articles/JP123/4/56.asp
というURLで参照できます。

例えば、このシステムではTelnetサービスは起動していないため、MS01-031のTelnetサーバに関するセキュリティホールのホットフィックスは適用していません。

「Patch NOT Found」というメッセージは、セキュリティ確保に必須なホットフィックスが適用されていないということを意味します。このように警告された場合、原則としてそのホットフィックスは早急に適用する必要があります。HfNetChk自身は結果をレポートするだけですので、ホットフィックスの適用は手作業で行なってください。とはいえ、HfNetChkの出力を加工して必要なホットフィックスを適用するスクリプトを作成することもそれほど難しくないでしょう。

HfNetChkのオプション

HfNetChkには表1に示すようなさまざまなオプションがあります。

C:\temp>hfnetchk -?

と入力することで、オプションの一覧が表示されますので、適宜参照して下さい。大半は出力を整えたり、後述するリモートマシンの状態チェックに利用したりするためのものですが、単体マシンのチェックでも有用なオプションを幾つか紹介しましょう。