SUS の構築の実際

はじめに

本誌をお読みの方であれば、「Microsoft 社は、セキュリティ強化プログラムである STPP (Strategic Technology Protection Program) の一貫として、2002年6月24日に SUS (Microsoft Software Update Service) というプロダクトを無償でリリースしています。SUS は企業内 Windows Update サーバともいうべきもので、企業内の各クライアントに対するホットフィックスの配布とその管理を行ないます。」というような説明文(注 1)は、各所の Web サイトなどで嫌というほど読まされていると思いますので、いまさら繰り返すまでもないでしょう。
このように、一見聞こえのよいセリフの並んだ SUS ですが、本当に使えるプロダクトなのか大いに気になるところです。筆者も早速この SUS について検証などを行なってみましたので、以下その結果をふまえて SUS の実体について説明していきたいと思います。

注 1: このレベルの情報は山ほどありますが、とりあえず Microsoft 社からのプレスリリースのページ(http://www.microsoft.com/japan/presspass/releases/062402sus.asp)を紹介しておきます。

Windows Update の概要

SUS の説明を始める前に、SUS のベースとなった Windows Update について簡単に説明しておきましょう。
ご存知のように、Windows Update (http://windowsupdate.microsoft.com/)は、セキュリティ関連のホットフィックス (HotFix) や、Microsoft 社が重要だと考える製品のアップデートなどを、比較的簡単にインストールすることを可能にする Web サイトです。

といった懸案事項もありますが、今まで何かと繁雑で、とても一般の人に覚えてもらえるレベルではなかったホットフィックスなどのインストールという作業を、一般の人にも何とか覚えてもらえるレベルまで簡便に行なえるようにしたという点では、Windows Update の意義は大きいと思います。
また、Windows XP や、追加モジュールをインストールした (注 2) Windows 2000では、「Windowsの自動更新」という機能を利用することで、自動的に修正モジュールをダウンロードしてインストールすることも可能となっており、その手間は更に低減されています。

注 2: Windows Update から「Windows 自動更新 2002年6月(図 1)」を選択してインストールします。

図1: Windows 自動更新

しかし、図 2に示すように、Windows Update はどちらかというと個人ユーザをターゲットとしたサービスのため、企業内での利用を考えると以下に挙げるような問題点がありました。

問題1: マシンにインストールするホットフィックスなどの管理ができない

企業システムでは、管理上の手間を削減するために、各マシンの環境を同一にしている場合が多いと思いますが、Windows Update には、マシンにインストールするホットフィックスなどをシステム管理者が指定したものに限定する、あるいは指定したものについては強制的にインストールする、また各マシンにどのようなホットフィックスがインストールされているかをシステム管理者から簡単に参照できるようにするといった管理機能は全くありません。管理が行き届かないままに、各マシンで Windows Update からホットフィックスや Internet Explorer の最新版などをダウンロードしてインストールしてしまうと、最悪業務システムが動作しないなどの問題を引き起こしてしまうこともあります。

問題2: 通信量が増大する

Windows Update を利用してホットフィックスなどをインストールしようとすると、インターネット上の Windows Update サイトからファイルをダウンロードします。しかも、古いモジュールをインストールできないようにするという配慮のためか、キャッシュを無効にする設定が行なわれているため、途中にキャッシュサーバなどを配置していても、毎回インターネット上からファイルのダウンロードが行なわれてしまいます。ファイルには Internet Explorer など数十MBに達するものもありますので、マシンの台数が多いと、インターネット回線の通信量にも無視できない影響が発生してしまいます。

問題3: インターネット接続が大前提である

プロキシ (キャッシュ) サーバ経由でも構いませんが、とにかく HTTP プロトコルで Windows Update サイトに接続できる環境が必要ですので、完全にクローズドなシステムでは利用できません。

図 2: Windows Update の概念図

こうした理由のため、企業内では Windows Update を無効にする、もしくは利用を禁止せざるを得ないケースが多かったのではないかと思います。

SUS の概要

SUS は、Windows Update のこうした現状をふまえて、企業内での利用を前提としてデザインが行なわれています。

図 3: SUS の概念図

図 3のように、SUS を利用すると、各クライアントのマシンは、SUS サーバから修正プログラムをダウンロード、インストールすることが可能になります。SUS サーバ自身はインターネット上のW ndows Update サイトや、別の SUS サーバから修正プログラムをダウンロードします。インターネット上の Windows Update サイトと通信する必要がある SUS サーバは最低1台あればすみますので、インターネットとの通信量を最低限に押えることが可能となり、問題 2 や問題 3 が解決します。また、具体的な方法は後述しますが、SUS サーバ間の複製は、オフラインでのファイル受渡しで行なうことも可能ですので、物理的にインターネットと接続されていない完全にクローズドなネットワークでも、SUS の恩恵を受けることが可能です。
さらに、SUSサーバでは、Windows Update サイトからダウンロードした修正プログラムのうち、どれをクライアントからインストール可能にするかを個別に制御できますので、問題 1 で指摘した修正プログラムの管理の問題もある程度解消します。ただし、クライアント側にインストールされる「Windows の自動更新」も、指定した SUS サーバから修正プログラムをダウンロードすることや、Active Directory の GPO などを使って設定を一元的に制御することが可能となっている新しいものにバージョンアップすることが必要です。

・SUS と Windows Update や SMS

このように、SUS は、Windows Update の問題点の幾つかを解決することにより、企業内で Windows Update の機能を活用することが可能とするソリューションであるといえます。ただし、完全に Windows Update を置き換えることが可能なものではありません。以下に SUS ではできない Windows Update の機能を示します。

(1) サポートOS
SUS は Windows 2000/XP のみをサポートします。一方 Windows Update は Windows 98 以降の Windows 9x 系 OS と、Windows NT 4.0 で Internet Explorer 4.0 以上が動作する Windows NT 系 OS からアクセスできます。

(2) インストール可能な修正プログラム
SUS でインストールできるのは、

だけです。

編集者注: SUSを使用して、Windows のサービスパックの提供もできるようになりました。
詳細はマイクロソフト・SUS のページ(http://www.microsoft.com/japan/windows2000/windowsupdate/sus/default.asp)を確認してください。

また、従来からMicrosoft社が企業内でのファイル配布用途などに用いる製品として販売している SMS (Systems Management Server)と競合しないようにという意図があってか、前述した特定の修正プログラム以外の配布は行なえない仕様になっている他、スケジューリング機能や、配布状況の管理機能などが意図的に中途半端なものになっているという感じがします。

要点を表1に簡単にまとめましたので、参照してみてください。

表1: SUS/SMS/Windows Update の比較

Windows Update SUS SMS
配布可能なプログラム 一部の修正プログラム、SPなど 重要な修正プログラム(Windows Updateより限定されている) 任意のプログラム(ただし基本的には要カスタマイズ)
配布対象プログラムの管理 マシン毎に管理、プログラム単位で指定 中央で一元管理、プログラム単位で指定 中央で一元管理、様々な条件で指定できる
配布時間などの指定 手動、簡単なスケジューリング(厳密な制御ができない) 手動、簡単なスケジューリング(厳密な制御ができない), 手動、厳密なスケジューリング
配布状況の管理 マシン毎に管理、GUIで管理できる 中央で一元管理、ログファイルベース 中央で一元管理、GUIで管理できる
管理性 一般ユーザ向けのサービスであり容易 機能が限定されているため容易 非常に難解

SMS (またその他のファイル配布プロダクト) をすでに使って修正プログラムの配布を行なっているのであれば、あえて SUS を使う必要はないでしょう。 なお、管理性については特に説明していませんが、これについては以下具体的なインストールや設定方法について説明しますので、そちらを参照してください。機能が限定されていることもあって、設定や管理は非常にシンプルです。

SUS のインストール

それでは、以下具体的なインストール方法について説明していきましょう。といっても、SUS のインストールは非常に簡単ですので、迷うことはないと思います。

ただし、SUS サーバになれるのは、Internet Explorer 5.5 以上を搭載しており、IIS 5.0 がインストールされたWindows 2000 Server SP2 以降のみとなっています。しかも、FAQ のページ(注 3)に記載がありますが、ドメインコントローラは SUS サーバになることができませんので、SUS をインストールできるのは、メンバサーバかスタンドアロンサーバのいずれかに限定されます。また、インストール先のパーティション (やボリューム)は、NTFS でフォーマットされている必要があります。

※編集者注:SUS SP1 から Active Directory ドメイン コントローラーにインストールすることができるようになりました。

ただしFAQのページにある

x86 または互換 P700 レベル プロセッサ、512 メガバイト (MB) の RAM、および 6 ギガバイト (GB) のディスク空き容量が必要です。

という最低限必要なハードウェアについての記述については、あまり気にする必要はないようです。実際筆者の手元では、

「Celeron 566/256MB/空き容量5GB(インストール時)」
というマシンで問題なく検証などが行なえています。

注 3: http://www.microsoft.com/japan/windows2000/windowsupdate/sus/susfaq.asp


・バイナリの取得とインストールの開始

まずは、SUS のバイナリをダウンロードしてください。MSI 形式のバイナリがSUSのホームページ(注 4)から取得できます。ファイルの容量が 47MB ありますので、回線が細い場合には注意してください。

注 4: http://www.microsoft.com/japan/windows2000/windowsupdate/sus/default.asp

ダウンロードが完了したら、インストールを行なう前に「インターネットインフォメーションサービス」から、動作中の IIS の Web サイト(注 5)をすべて停止しておくことをお勧めします。

注 5: この「Webサイト」は、IIS用語のWebサイトを意味します。

SUS の実体は、大きく分けると各種の管理を行なったり利用する Web アプリケーション、クライアントに修正プログラムを配布するための Web サイト、および Software Update Service というサービスから成りたっています。Web アプリケーションの部分は、デフォルトで「既定の Web サイト」にインストールされますが、その際、Web サイトのディレクトリ直下に幾つかのファイルをおいたりしてしまうので別の Web サイトとして分離するに越したことはないでしょう。動作している IIS のサイトがなければ、インストール過程で SUS という Web サイトが自動的に生成され、SUS を構成するファイルもそこに置かれます。

IIS の設定を終えたら、早速アイコンをクリックしてインストールを開始しましょう。

ウィザードに従って、インストールを行なっていくとセットアップの種類として「標準」と「カスタム」を指定する画面が現れます。ここで「標準」を選択した場合、以下で説明する設定がデフォルトの値に設定されます。設定自体は後で変更できますが、SUS の Web サイトを構成するファイルの位置を後から変更するのは面倒ですので、「カスタム」でのインストールをお勧めします。以下「カスタム」を選択した場合を例にとって説明します。

・カスタム」インストールの設定

「カスタム」を選択すると、次に図 4の「ファイルの場所の選択」画面が現れますので、適切なフォルダを選択してください。特に「更新の保管場所」で、「更新を次のローカル フォルダに保存する」を指定すると、そのフォルダ以下にダウンロードしてきた修正プログラムが格納されます。初期ダウンロードで 150MB 程度(注 6)の容量が必要とありますが、その後ホットフィックスなどがリリースされる度にどんどん増加していくことを考えると、数GB の容量を確保しておいた方がよいでしょう。

図 4: 「ファイルの場所の選択」画面


注 6: これは 1 言語の場合で、全ての言語の場合は 600MB 程度必要とドキュメントにあります。なお、筆者の環境では、日本語のみ (PC-98xx シリーズ用の日本語 NEC は含めません) の初期ダウンロード状態で 120MB 程度でした。

その次の「言語の設定」では、Windows Update サイトからダウンロードする修正プログラムの言語を指定します。大半の方は「日本語のみ」でよいのではないかと思いますので、そのように変更しておきましょう。その次の「以前に許可された更新の新しいバージョンの処理」は、デフォルトのままで構いません。最終的に「インストールの準備完了」という確認画面が現れますので、「インストール」ボタンを押すとインストールが始まります。なお NECのPC-98xx シリーズ用の修正プログラムが必要な場合は、「特定の言語」ボタンを押して、明示的に「日本語 NEC」を選択する必要がありますので注意してください。

図 5: 言語の設定



・IIS Lockdownの実行

インストールの過程で図 6のように IIS Lockdown が実行されます。これは強制的に実行され、回避することはできません。IIS Lockdown が実行されると、表 2のように ASP 以外の動的コンテンツが禁止され、サンプルや管理サイトなどが削除されますので、ある意味セキュアにはなります。しかし IIS を他の用途にも使っている場合や試験用サーバなどの場合は、勝手に設定を変更されてしまい迷惑でもあります。Microsoft が推奨するように、専用サーバにしてしまえばよいのでしょうが、小規模なサイトではそうもいかないのが現実だと思いますので、この仕様は筆者としてはちょっと乱暴過ぎるように思います。セキュリティ強化を促す意味で、IIS Lockdown が自動起動されるところまではよいと思うのですが。

図 6: IIS Lockdownの実行(強制的に実行されます)


表 2: IIS Lockdownにより行なわれる設定の変更
スクリプト マッピングの削除 : ASP .ASP ファイルの有効化
スクリプト マッピングの削除 : IDQ 無効化
スクリプト マッピングの削除 : SHTML, SHTM, STM 無効化
スクリプト マッピングの削除 : IDC 無効化
スクリプト マッピングの削除 : printer 無効化
スクリプト マッピングの削除 : HTR 無効化
サンプル Web ファイルの削除 ファイルの削除
スクリプト仮想ディレクトリの削除 ディレクトリの削除
MSDAC 仮想ディレクトリの削除 ディレクトリの削除
WebDAV の無効化 WebDAV の無効化
IIS 匿名ユーザーによるシステム ユーティリティの実行阻止 阻止
IIS 匿名ユーザー アカウントによる Web コンテンツの書き込み阻止 阻止
詳細は、「Microsoft Software Update Services の展開
(http://www.microsoft.com/japan/windows2000/windowsupdate/sus/susdeployment.asp)」の「付録 A: Software Update Services Setup を理解する」を参照してください。

・IISサイトの生成

最終的にインストールが完了すると、図 7のように SUS という Web サイトが作成されます(注 7)。SUS 関連のファイルやフォルダについては図 8のように ACL が設定され、基本的には Administrators ローカルグループのアカウント以外が利用できないように設定されています。逆にいえば、Administrators グループのアカウントであれば、別マシンから管理することも可能です。

注 7: 前述したように、デフォルトの状態でインストールを行なった場合は、「既定の Web サイト」に対してファイルが追加されます。

図 7: SUSサイト

content という仮想ディレクトリや、SUSAdmin というディレクトリなどが確認できます。

図 8: SUSAdmin ディレクトリのセキュリティ

Administrators と SYSTEM はフルコントロールですが、それ以外の 2 つのアカウントには書き込み拒否という特殊なアクセス権のみが設定されていますので、基本的にはまったくアクセス権はありません。また、Everyone など、ACL のないアカウントについても、当然アクセス権はありません。

SUS クライアントのインストール

SUS を利用するには、クライアント側にも SUS に対応した「Windows 自動更新」をインストールする必要があります(注 8)。ドキュメントなどには明記されていませんが、これは Windows Update などからインストール可能な「Windows 自動更新 2002年6月」と同じものですので、既にこれをインストールしている場合は、改めてインストールする必要はありません。新規にインストールする場合は、Windows Update から行なっても構いませんし、SUS のホームページ(注 9)の下の方にあるリンクから行なっても構いません。インストール時には特にオプションなどはありません。

注 8: Windows 2000 SP3やWindows XP SP1からはSUS対応のWindows自動更新がデフォルトでインストールされます。

注 9: http://www.microsoft.com/japan/windows2000/windowsupdate/sus/default.asp

このファイルは MSI 形式のファイルになっていますので、Active Directory の GPO を利用するなどして一括して自動的にインストールすることも可能です。

SUS の初期設定

インストールが完了すると、「http://localhost/SUSAdmin/」にアクセスすることで、図 9のような SUS の管理画面が表示されます。SUS の設定や管理や、すべてここから行ないます。

図 9: SUSの管理画面

実環境で設定を行なう上では、予め運用のポリシーを決めておく必要がありますが、まずは機能説明を兼ねて、一通り各メニューを紹介しておきます。 最初に行なうことは、「オプションの設定」から SUS サーバの設定を確認することです。「オプションの設定」メニューを表示すると、右側のペインに現れる設定項目を図 に示します。みての通り、設定項目はたったこれだけです。

図 10: 「オプションの設定」メニュー

以下個々の項目について説明します。

(1) プロキシ サーバーの構成を選択します
 Windows Update サイトへの接続にプロキシサーバを経由する必要がある場合は、ここで設定を行ないます。

(2) この更新サーバーを見つけるためにクライアントが使用する名前を指定してください
 文字通り、クライアントマシンが SUS サーバにアクセスする際に使う名前を指定します。

(3) コンテンツを同期するサーバーを選択します
 修正プログラムのダウンロード元を指定します。
SUS サーバを選択した場合に、「許可された項目の一覧を同期する(置換モード)」のチェックボックスをチェックすると、クライアントにどの修正プログラムを配布するかという「許可された項目」情報も、ダウンロード元の SUS サーバから取得するようになります。この場合、このサーバ上では情報を変更できません。

(4) 以前に許可された更新の新しいバージョンを処理する方法を選択してください
 一度「許可された項目」に追加した修正プログラムが更新された時に、自動的に「許可された項目」に追加するかどうかを決定します。デフォルトでは追加しません。

(5) 更新を保管する場所を選択します
 修正プログラムをローカルに保管するかどうか、また保管する場合にどの言語のものを保管するかを設定します。  ここで「Microsoft Windows Updates サーバーで更新を維持する」を選択した場合は、クライアントマシンは SUS サーバからではなく、Windows Updateサイトから修正プログラムをダウンロードしますが、クライアントマシンは「許可された項目」の情報を SUS サーバから取得します。
 この設定は、クライアントマシンに適用する修正プログラムは管理したいが、修正プログラム自体は SUS サーバから配布したくないという状況で使いますが、通常この設定にする必要はないと思いますので、本記事でもこれ以上は触れません。保管する言語については、インストール時に行なった設定が反映されている筈です。


このうち、設定を変更する必要があるのは、(1)と(2)だけでしょう。(4)、(5)の設定は、インストール後で変更することはあまりないと思います。(3)については後で説明しますが、1台目の SUS サーバの場合は設定を変更する必要はありません。

設定が一通りすんだら、図 11の「サーバの同期」メニューから「今すぐ同期」を選択してください。しばらく時間がかかりますが、Windows Update サイトから修正プログラムが一式ダウンロードされます。定常運用にはいったら「同期スケジュール」から設定を行なって、夜間などにダウンロードを行なうようにするとよいでしょう。

図 11: 「サーバの同期」メニュー

ダウンロードが完了したら、図 12のような「更新の許可」メニューを開いてください。このように SUS サーバにダウンロードされたクライアントに配布可能な修正プログラムが一覧になって表示されていますので、実際に配布を行ないたいものにチェックボックスをつけ、「許可」ボタンを押してください。配布可能となったものは、通常は図 13のように、各修正プログラムの右に「(許可済み)」という表示が行なわれています。なお、一括で許可という機能はありませんが、右側のペインのスクロールバーで囲まれた「利用可能な更新」にフォーカスを合わせれば、後はTABキーで移動しながらスペースを押してチェックボックスをチェックしていくことで、比較的素早く多数の修正プログラムを「許可」することが可能です。

図 12: 「更新の許可」メニュー(初期状態)


図 13: 「更新の許可」メニュー(許可の設定後)

これで、SUSサーバについては、初期設定が完了です。

なお、ここで説明した以外のメニューのうち「関連項目」にある各種メニューは、みての通りドキュメントや外部の Web サイトへのリンクです。「ログの表示」と「サーバーの管理」については、SUS サーバの管理に利用するものですので、後で説明します。


コラム1: ローカルポリシーによる「Windows 自動更新」の設定

とりあえず手軽に設定する方法として、ローカルポリシーによる設定方法について説明しておきましょう。 まずは、「スタート」メニューの「ファイル名を指定して実行」から gpedit.msc を実行して、ローカルコンピュータポリシーの MMC スナップインを起動します。ついで図 14のように「管理用テンプレートのコンテキストメニューから「テンプレートの追加と削除」を選択して、本文でも説明した wuau.adm を追加します。
これで、「管理用テンプレート」-「Windows コンポーネント」の下に「Windows Update」というフォルダが現れ、中にポリシーが2つ現れますので、適宜設定して下さい。設定項目自体は、本文で説明したレジストリと同じです。

図 14: 「テンプレートの追加と削除」メニューの選択

・SUSクライアントの設定

SUSでは、冒頭で説明したように各クライアントマシンが SUS サーバ(や Windows Update サイト)から修正プログラムを取得するというプル型のモデルですので、クライアント側でもSUSサーバを利用するため、先ほどインストールした「Windows 自動更新」の設定が必要になります。
設定は基本的にレジストリを修正することで行ないます。もちろんローカルポリシー、GPO やシステムポリシーを使ったり、スタートアップスクリプトで REG ファイルを自動的に読み込ませるなどの方法で自動的に設定することが可能です。ローカルポリシーや GPO を利用する場合のポリシーテンプレートとしてwuau.admというファイルが予め用意されています。なお各方式の具体的な方法は SUS とは外れますのでここでは説明しません。以下、レジストリとその意味について説明します。

HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
  REG_DWORD: NoAutoUpdate
    0 = 自動更新を行ないます
    1 = 自動更新を行ないません

  REG_DWORD: UseWUServer
    0 = WUServerで指定されたSUSサーバを使いません
    1 = WUServerで指定されたSUSサーバを使います

  REG_DWORD: AUOption
    2 = 更新をダウンロードする前、およびインストールする前に通知する
    3 = 更新を自動的にダウンロードし、インストールの準備ができたら通知します
    4 = 更新を自動的にダウンロードし、ScheduledInstallDayとScheduledInstallTime
        で指定されたスケジュールでインストールします

  REG_DWORD: ScheduledInstallDay
    0 = 毎日
    1〜7 = 日曜日(1) から土曜日 (7) の曜日
    AUOption = 4の時に、自動インストールが行なわれる曜日を指定します。

  REG_DWORD: ScheduledInstallTime
    0〜23 = 24時間形式の時刻。AUOption = 4 の時に、自動インストールが行なわれる
    時刻を指定します。
HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\
 REG_SZ: WUServer
  SUSサーバのURLを指定します。例えばSUSサーバがSHIORIという名前で参照可能な
  場合、「http://shiori」のように指定します。
  なお、値が設定されていない場合は、Windows Updateサイトから修正プログラムの
  ダウンロードが行なわれます。

 REG_SZ: WUStatusServer
  後述するステータスサーバのURLを指定します。良くわからない場合はSUSサーバと
  同じ値を設定して下さい。

通常は、自動更新を有効にするには、NoAutpUpdate=0, UseWUServer=1 に設定して、WUServer と WUStatusServer に SUS サーバの URL を指定した上で、ポリシーに応じて AUOption を3か4に設定することになるでしょう。いずれにしても、上記レジストリを設定すると、各マシンの GUI による設定画面は図 15のようにグレーアウトして設定できなくなります。

図 15: グレーアウトした「自動更新」の設定画面

自動更新が有効になっている各マシンは、1日に1回定期的に SUS サーバに接続して、SUS サーバが「許可された更新」に含めた修正プログラムをダウンロードし (AUOption=2 の時は、ダウンロードをしてよいか通知します)、ダウンロード完了後に、ユーザに通知、もしくは指定された時刻に自動的にインストールを行ないます。なお、SUS サーバに接続する時間は制御することができませんので、厳密なトラヒック管理ができません。この辺りも、SMS を意識して故意に機能を落しているような感じがします。
インストール後再起動が必要な修正プログラムを自動でインストールすると、インストール完了後に自動で再起動が行なわれますので、自動でインストールする (AUOption=4) 場合は、自動的な再起動で編集中のファイルが破棄されるなどの問題が発生しないように運用に注意する必要があります。また、SMS とは違い、SUS では一度クライアントがインストールした修正プログラムをアンインストールする機能は提供されていません。どうしてもアンインストールが必要になった場合は、SUS 以外の方法で行なう必要があります。

SUS の管理

一度インストールして運用を開始してしまえば、これ以降行なうことは、新規修正プログラムがダウンロードされる度にそれを「許可された更新」に含めるかどうかを判断して設定すること以外、基本的にログの監視になります。
SUSサーバのログ監視は、基本的に前述した図 9の SUS の管理画面にある図 16のような「同期ログの表示」と図 17のような「許可ログの表示」画面から行ないます。なおこれらのファイルは SUS の Web サイト以下の \AUtoupdate\Administration フォルダ以下に、各々history-sync.xmlとhistory-approve.xmlという名前の XML 形式のファイルとして保管されていますので、スクリプトなどでログの解析を行なうことも可能です。

図 16: 「同期ログの表示」メニュー Windows Updateサイトや別のSUSサーバとの同期に関するログになります


図 17: 「許可ログの表示」メニュー 「許可された更新」の操作に関するログになります。

また、図 18の「サーバーの監視」では、 メモリ中に格納されている最新の修正プログラムに関する情報を参照することが可能です。

図 18: 「サーバーの監視」

実際にトラブルが発生した場合の対応方法や、発生しそうなトラブルの一覧については、「Microsoft Software Update Services の展開」の「トラブルシューティング(P.64)」などに詳細な情報がありますので、そちらを参照してください。

・ステータスサーバによるクライアントの状態の管理

SUS を管理していく上で、各クライアントへの修正プログラムの配布状況などは把握しておきたいことでしょう。SUS ではちょっとトリッキーな方法で IIS のログファイルを活用することで、こうした情報を収集しています。
SUS のクライアントは、何らかのアクションを行なうと、ステータスを示す様々な引数を指定してステータスサーバとして指定されたサーバ上の /wutrack.bin というダミーのファイルを GET します。これにより、IIS のログに /wutrack.bin ファイルへのアクセスという形で記録が行なわれ、ログファイルを解析することで SUS クライアントの状態を把握できるようになっています(注 10)。ここまでやるなら、ログファイルを解析する画面(やツール)もつけてくれても良さそうなところですが、SMS との競合を避けるためか、そうしたツールはついていません。

注 10: SUS クライアントの設定にあるステータスサーバとは、この目的で接続するサーバを指定する設定項目です。

SUS クライアントが記録するログの例を図 19に示します。

図 19: SUSクライアントが記録したログの例
2002-08-03 10:55:44 192.168.10.107 - 192.168.10.107 80 GET /wutrack.bin U=71f2dcb0975a1c4087f346cf28faaf69&C=iu&A=n&I=&D=&P=5.0.893.2.110.3.0&L=ja-JP&S=s&E=00000000&M=&X=020803105544673 200 Industry+Update+Control
(*) 上記は、デフォルトのW3C 拡張ログファイル形式になっています。

/wutrack.bin を GET する際に、様々な変数が指定されていますが、これが SUS クライアントのステータスを意味するものになります。変数部分を模式化すると

/wutrack.bin?U=<ping_ID>&C=<client>&A=< activity>&I=<item>&D=<device>&P=<platform> &L=<language>&S=<status>&E=<error>&M=< message>&X=<proxy>

のようになります。各々の意味は表 3の通りです。

表 3: SUSクライアントのログの意味
ping_ID 各クライアントマシンに一意に割り当てられる固有の識別子を示します。
client 以下のいずれかの値をとります。
AU: ダウンロードやインストール
IU: 初期化
IU_<サイト名>: ユーザがWindows Update サイトに接続する場合
activity 動作に関する情報を示します。
n: 初期化
s: セルフアップデート
d: 検出
w: ダウンロード。成功および失敗、また該当する場合は取り消しと拒否が記録されます。
i: インストール。再起動のない失敗と成功、および再起動を伴う成功、および該当する場合は拒否が記録されます。
item activity で指定された処理が行なわれるコンポーネント(もしあれば)を示します。
device 処理対象のデバイス ID(もしあれば)を示します。
platform クライアントマシンのシステムに関する情報を示します。
このフィールドには、「.」区切りで OS 関連の情報が記録されています。
<maj_os_ver>.<min_os_ver>.<build_num>.<plat_id>.<suite_mask>.<prod_type>.<processor_arch>
plat_id システムの系列を示します
1: Windows 9x系OS(Windows 95/98/Me)
2: Windows NT系OS(Windows NT/2000/XP)
suite_mask インストールされている製品に関する情報を示します。
このフィールドはビットマスクになっていますが、以下よく使われるであろうビットのみ記載します(注 11)。
2: Windows 2000 Advanced Server か Windows .NET Enterprise Server がインストールされている
4: Microsoft BackOffice コンポーネントがインストールされている
10: Terminal Services がインストールされている
100: Terminal Services の単一ユーザバージョンがインストールされている
200: Windows XP Home Edition がインストールされている
例えば、図 19の110という値は、0x10+0x100で、ターミナルサーバがインストールされていることを示します。
prod_type システムに関する情報を示します。
1: ワークステーション (Windows NT 4.0 Workstation/Windows 2000 Professional/Windows XP Home Edition/Windows XP Professional)
2: ドメイン コントローラ
3: サーバー(ドメインコントローラ以外のサーバOS)
processor_arch プロセッサアーキテクチャを示しますが、32ビットマシンの場合、この値は0です。
language ja-JP(日本語/日本)といったISO形式でクライアントOSの言語/地域を示します。
status 処理のステータスを示します。以下値を示します。
s: 成功: 処理は、完全かつ無事に実行されました。
r: 成功 (再起動が必要): ここまでの処理の実行は成功しました。再起動して続行する必要があります。
f: 失敗: ユーザによる取り消し以外の理由で、処理の実行が失敗しました。
c: 取り消し: ユーザによって、実行中に処理が取り消されました。
d: 拒否: ユーザによって、処理が拒否されました。
n: 項目なし: 処理を実行できる更新項目がありません。
p: 保留: (おそらく)想定されていない状態です(注 12)。
error 処理の結果を8桁の16信数で示します(注 13)。使用されない場合、値は0になります。
message 発生したエラーの説明が含まれます。
proxy 状態メッセージのタイムスタンプを格納します。タイムスタンプの形式は、YYMMDDHHMMSSmmmです。


注 11、13: 詳細は、「Microsoft Software Update Services の展開」を参照してください。

注 11: マニュアルをみると、「返される情報はすべて、開発者および顧客の問題を解決するサポートによって使用されます。」と記述されています。

実際に運用を行なう際には何らかの解析ツールを作成して統計情報を収集した方がよいでしょう。

・SUS クライアントの動作ログファイル

そもそも SUS クライアントからサーバへの接続自体が行なわれていないといったトラブル時に参照できるログとして、SUS クライアント (Windows 自動更新) の自体のログが %WinDir%\Windows Update.log というファイルに自動的に出力されています。SUS クライアント自体の動作に問題が発生した時は、このログを参照するようにしましょう。ログの一部を図 20に示します。
ここでは、3行目で、iuident.capファイルのダウンロードに失敗したことや、8行目で更新すべき修正プログラムの有無をSUSサーバに問い合わせたことなどが確認できます。

図 20: Windows Update.logの内容(一部)
1: 2002-08-04 18:01:25 09:01:25 Success IUCTL Starting
2: 2002-08-04 18:01:27 09:01:27 Error IUCTL Library download error. Will retry. (Error 0x801901F7)
3: 2002-08-04 18:01:27 09:01:27 Error IUCTL Failed to download iuident.cab from http://shiori to H:\Program Files\WindowsUpdate\V4 (Error 0x801901F7)
4: 2002-08-04 18:01:27 09:01:27 Success IUCTL Ignore above error, use local copy of iuident.cab from H:\Program Files\WindowsUpdate\V4
5: 2002-08-04 18:01:27 09:01:27 Success IUCTL Checking to see if new version of Windows Update software available
6: 2002-08-04 18:01:27 09:01:27 Success IUENGINE Starting
7: 2002-08-04 18:01:28 09:01:28 Success IUENGINE Determining machine configuration
8: 2002-08-04 18:01:30 09:01:30 Success IUENGINE Querying software update catalog from http://shiori/autoupdate/getmanifest.asp
9: 2002-08-04 18:01:32 09:01:32 Success IUENGINE Shutting down
10: 2002-08-04 18:01:32 09:01:32 Success IUCTL Shutting down

SUSの展開と運用

ここまで、SUSサーバおよびクライアントの設定方法について説明してきました。以下では、実際に導入を検討する上での考慮点などについて説明していきましょう。

・そもそもSUSを導入する必要があるか?

当たり前ですが、メリットもないのにやみくもに導入してもしょうがありません。
冒頭で説明したように、SUSの恩恵を受けられるのはWindows 2000/XPのみですので、これ以外のクライアントしかないのであれば、導入するメリットはありません。またSUSが配布できるのは、セキュリティ修正モジュールなどを中心とした修正プログラムに限られますので、既にこうした修正プログラムを配布する体制が整っているのであれば、やはりSUS導入のメリットはないでしょう。逆に考えると

ような状態であれば、管理コストが非常に低いSUSは導入の価値があるといえるでしょう。

・各クライアントへの「Windows の自動更新」の配布

導入を決定したら、対象となる各クライアントに対して更新された「Windows の自動更新」を配布する必要があります。
自動的に行なうには、様々な方法が考えられます。Active Directory を導入していれば簡単ですが、導入していない場合でも、クライアントマシンの管理者権限があれば、タスクを配布してその中でインストールを実行するなど幾つか方法が考えられます。

・SUS サーバの配置と構成

最後にSUS サーバ自身をどこにどのように配置するかを考える必要があります。考慮する上でのポイントとしては、大きく以下のポイントが挙げられます。

(1) SUS サーバの台数と場所
Microsoft のドキュメントによると、最小ハードウェア(注 14)の構成でも15000台のクライアントをサポートできるとありますので、SUS サーバのパフォーマンス面が問題となることはないでしょう。後は WAN 越しの各サイトに SUS サーバを配置するかどうかを、ネットワークトラヒックとサーバ導入コスト的な観点から決定することになります。

注 14: 前掲しましたが、CPUがP3-700/メモリ512MB/ディスクの空き6GBです。

(2) 「許可された更新」の設定を行なう場所
組織のポリシーにもよりますが、大半の組織では、中央の SUS サーバで行なった設定を各 SUS サーバ(もしあれば)に配布するのが管理の一元化の観点でよいでしょう。

(3) SUS サーバ間の修正プログラムの複製方法 これは、組織のネットワーク構成やポリシーに依存します。主にトラヒックの観点からいうと、各拠点間がインターネット経由で結ばれているのであれば、各拠点の SUS サーバが独自に Windows Update サイトから取得する設定にした方がよいでしょうが、インターネット接続が1箇所の場合や、「許可された更新」の設定を一元管理したい場合は、マスタの SUS サーバが Windows Update サイトから取得した修正プログラムを更に組織内の別の SUS サーバが取得する設定にした方がよいでしょう。
なお、通常 SUS サーバ間の複製は、直接 HTTP で通信することによって行ないますが、物理的な接続が許可されないようなクローズドなネットワークの場合でも、オフラインでのファイル(および設定)の複製により、SUS サーバの構築が可能です。

(4) 各クライアントの「Windows の自動更新」の設定
考慮のポイントは、AUOption を3(インストール前に通知)にするか、4(自動インストール)にするかだと思います。各ユーザに管理者権限を与えず、全クライアントを一元管理しているような組織であれば、4の選択もあると思いますが(注 15)、各クライアントの管理はクライアントマシンの利用者に任せているような環境では、勝手に再起動しては困る場合もあると思いますので、3が無難ではないかと思います。

注 15: ただ、こうした厳格な管理を行なっている組織では、既に何らかのファイル配布の仕組みを構築している場合が多いようですので、そもそもSUSを導入する必要がないように思います。

これらを考慮した、典型的と思われる導入形態を幾つか示します。

(1)SOHO や小規模な組織
事務所が1箇所の場合は、図 のように単純に SUS サーバも1台、冗長化とバックアップを考慮しても2台配置しておけばよいでしょう。
SUS サーバは Windows Update サイトから修正プログラムをダウンロードし、サーバ内に蓄積します。これにより、クライアントの Windows Update のトラヒックがインターネットに流れることを防ぎます。クライアント側を厳密に管理していないのであれば、「許可された更新」では、すべての修正プログラムを許可して、どれをインストールするかはクライアント側にまかせてしまえばよいでしょう。クライアント側では、AUOption=3に設定して、各クライアントマシンの管理者が必要な時に必要な修正プログラムをインストールできるようにしておきます。

図 21: SOHOや小規模な組織の導入例


(2)WANで複数サイトに分割されている組織
事務所が複数あって、間が WAN で接続されている場合は、WAN の帯域と各拠点のクライアントマシンの台数にもよりますが、ある程度以上の規模であれば図 22 のような多段構成を検討するとよいと思います。この場合、クライアントに配布する修正プログラムは、本社側のサーバで一元管理できるように、支社側のサーバでは、コンテンツを同期するサーバとして、本社のSUSサーバを指定するとともに、「許可された項目の一覧を同期する(置換モード)」のチェックボックスをチェックしておきましょう。

図 22: 複数サイトがある組織の導入例


(3)完全にクローズドなネットワークな組織
この場合は、Windows Update サイトから修正プログラムをダウンロードして蓄積するインターネットに接続した環境にある SUS サーバと、手動による複製を行ない、クローズドなネットワーク内で SUS サーバとして機能させる内部 SUS サーバの最低2台の SUS サーバが必要となります。具体的な複製の方法は、コラムを参照してください。クローズドなネットワーク内の各クライアントは、内部 SUS サーバから、自動的に修正プログラムをダウンロードして、インストールすることが可能となります。

図 23: 完全にクローズドなネットワーク環境への導入例

コラム: オフラインでの複製

高度なセキュリティを保つために、を完全に切り離されているネットワーク間でも、以下のようにすることでSUSサーバの情報を複製することができます。 複製先のサーバは、IIS 5.0が稼働していることが必要です。複製は、ファイルを手動で複製することで行ないます。

(1) 配布元サーバの/(トップディレクトリ)直下にある以下の3つのファイルを複製先WebサーバのSUS用Webサイトのトップディレクトリに複製します。
(2) 配布元サーバの/Content/cabs以下にあるすべてのファイルおよびフォルダを任意のフォルダ(例えばc:\SUS\content\cabs)に複製します。

(3) (2)で複製したフォルダに対して、/contentでアクセスが可能なように、仮想フォルダを設定します。

複製自体に必要な設定はこれだけです。
要は、上記ファイルについて、複製元のSUSサーバと同じURLで同じ設定でアクセスできるようにすればOKということです。この機能により、リムーバブルメディアなどを使った複製によるSUSサーバ間の複製が実現しますので、物理的に切り離されているネットワーク間でも複製を行なうことが可能になります。

とりあえずの評価

ここまで、SUS について一通り説明しました。筆者自身、まだ使い込むというところまではいっていないので、今後予想外の問題点が出てくるかも知れませんが、とりあえずの評価としては「可もあり不可もあり」といったところでしょうか。
操作性に関しては、非常にシンプルで評価できます。今まで Windows Update に頼ってきた組織にとっては、ネットワークトラヒックの低減という点だけでも導入する価値があるのではないでしょうか? 一方各クライアントを厳格に管理して運営しているような組織にとっては、スケジューリング機能の低さがネックになって、今一つ導入しづらいと思います。特に SUS クライアントがいつ SUS サーバに接続できるかを制御できない点は、問題となるケースも多いと思います。こうした点から考えると、SUS は主にあまり厳格な管理の必要でない、OA 系ネットワークに Windows Update の代替として導入するのが一番似合っているように思います。ネットワークトラヒックが制御できない点を除けば、ある程度厳格な管理もできますが、他のプロダクトとの連携機能がないなど、厳格な管理を行なうにははがゆい点が多いので、導入は注意深く行なうことが必要でしょう。
もっとも、ある程度機能や目的を限定しているからこそ、最近の多機能指向の Microsoft 社製品の中にあって非常にシンプルな操作性が実現されているわけです。SUS だけですべてが解決できるわけではないですが、SUS をうまく既存のシステムに取り込めば、役立ってくれるのも確かでしょう。こうしたツールをどう使うか、生かすも殺すも後はわれわれ管理者の腕にかかっているといったところでしょうか。
最後になりましたが、SUS の導入にあたっては、事前に SUS のホームページ(注 16)から参照、ダウンロードできる各種ドキュメント、中でも特に本文中でも何度か紹介した「Microsoft Software Update Services の展開(注 17)」に目を通しておくことを強く推奨します。90ページ以上あるのでちょっと読みこなすのは骨ですが、これを読み通せば SUS の設定、運用を行なう上で充分な知識が身につくと思います。

注 16: http://www.microsoft.com/japan/windows2000/windowsupdate/sus/default.asp

注 17: http://www.microsoft.com/japan/windows2000/windowsupdate/sus/susdeployment.asp

編集者・追加情報

・WSSR:Microsoft,企業内セキュリティ・パッチ適用ツールSUS新版でサービス・パックを適用可能に
http://wssr.nikkeibp.co.jp/news/030922/4.shtml

>  Microsoftは米国時間の9月19日,同社が無償提供するセキュリティ・パッ
> チ適用ツール「Software Update Services(SUS)」をバージョンアップし
> た(該当サイト)。新版「Software Update Services with Service Pack 1
> 」では従来サポートされていた重要なセキュリティ・パッチに加えて,通常
> のセキュリティ・パッチやロールアップ・パッケージ(累積パッチ),サー
> ビス・パックの適用が可能になっている。

・@IT: Microsoft Software Update Servicesの実力を探る
http://www.atmarkit.co.jp/fwin2k/operation/sus1/sus1_01.html

・@IT:HotFix管理を始めよう
http://www.atmarkit.co.jp/fwin2k/operation/hotfixman/hotfixman_01.html

・Windows 2000 Server セキュリティ運用ガイド
http://www.microsoft.com/japan/technet/treeview/default.asp?url=/japan/technet/security/prodtech/windows/windows2000/staysecure/default.asp

・『Windows 2000 Server セキュリティ運用ガイド』日経BP (ISBN 4-89100-334-0)
http://store.nikkeibp.co.jp/item/main/148910033400.html

・ZDNet:セキュリティ対策のポイントは自社なりの深刻性評価とパッチ適用前のテスト
http://www.zdnet.co.jp/enterprise/0305/17/epn01.html

・ZDNet:管理者を悩ませるパッチ適用作業を支援する「SUS」と「SMS」
http://www.zdnet.co.jp/enterprise/0302/14/epn15.html

・WSSR:パッチ管理の悪夢を解決するMicrosoft Updateが2004年初めに登場
http://wssr.nikkeibp.co.jp/news/030703/2.shtml

・MSKB:[HOWTO] Windows XP、Windows 2000、または Windows Server 2003 で自動更新をスケジュールする方法
http://support.microsoft.com/default.aspx?scid=kb;ja;327838

・MS:Microsoft Software Update Services についてよく寄せられる質問 (FAQ)(http://www.microsoft.com/japan/windows2000/windowsupdate/sus/susfaq.asp)


Copyright (C) 1998-2009 TAKAHASHI, Motonobu
Last update: 2003-10-27 00:32:40 JST
webmaster@monyo.com