セキュリティ ウォッチセキュリティの構成ウィザード

John Morello

このコラムには、Windows Server "Longhorn" のプレリリース情報が含まれています。この記事のプレリリース情報は変更される可能性があります。

サーバーを効率的かつ継続的にセキュリティで保護することは、多くの IT 組織の課題です。特に膨大な数のコンピュータが多くの地理的な境界や組織の境界にまたがって分散している組織には、このことが当てはまります。1 台のサーバーのセキュリティを強化することは、経験豊富な管理者にとっては比較的容易な作業ですが、強化するサーバーの数が 10 台、100 台、または 1,000 台にまでなってくると、まったく違った話になります。

長年の間、多くの組織は、サーバーのセキュリティを確保するために独自の内部チェックリストや基準を考案したり、マイクロソフト、米国標準技術局、その他の外部団体などから提供されたガイダンスに記載されている方法を取り入れたりしていました。このドキュメントは非常に重要になる可能性がありますが、単独では組織がネットワークに関するベスト プラクティスを実行に移すのに十分ではありません。このため、多くの組織は既定の設定をそのまま使用するか、システムを強化するためのスクリプトやポリシーを独自に作成するために膨大な時間と労力を費やすことを選びました。

マイクロソフトは、Windows Server® 2003 Service Pack 1 (SP1) にセキュリティの構成ウィザード (SCW) が組み込まれたことにより、役割に基づいてサーバーの強化とサーバーが攻撃を受ける確率の低減を実現するための、容易かつサポートされた方法を提供できるようになりました。SCW の利点と、展開と管理を一元的に行うことができるグループ ポリシーを組み合わせることで、大規模な IT 企業でも SCW を使用することができます。今月のコラムでは、IT 組織で SCW とグループ ポリシーを使用して安全かつ一貫した方法で組織のサーバーを管理し、展開コストと運用コストを削減する方法の概要を説明します。

SCW とは

SCW は、コントロール パネルの [Windows® コンポーネントの追加と削除] からインストールできるオプション コンポーネントであり、Windows Server 2003 R2 を含むすべての Windows Server 2003 SP1 ファミリで使用できます。管理者は、まず対象のサーバーに対して SCW を実行し、そのサーバーの役割を確認します。次に、最小特権の構成を使用して、コンピュータを強化するセキュリティ ポリシーを作成します。つまり、その役割として機能するために必要なサービス、アプリケーションの機能、およびポートのみを使用し、特に必要がないものは無効にすることができます。この方法により、対象のサーバーが攻撃を受ける確率を低減することができます。そのサーバーの役割に必要ないサービスを実行している場合、機能面での利点を得ることなく、サーバーに対するネットワーク リスクのみが増加します。これらのサービスを無効にすることで、このようなリスクが低下すると同時に、サーバーのパフォーマンスが向上する場合もあります。

Windows Server 2003 ではセキュリティが大幅に強化され、Windows Server の以前のバージョンに比べて攻撃を受ける確率が全体的に大きく低下しましたが、Windows Server 2003 は、Windows Vista™ や Windows Server の次期バージョンであるコードネーム "Longhorn" のように、高度にコンポーネント化されたコアをベースに構築されたオペレーティング システムではありません。このため、既定の Windows Server 2003 では、すべてのサーバーの役割の構成には必要ないサービスが有効化および実行されていることがあります。たとえば、印刷スプーラ サービスは既定で有効になっていますが、データベース専用サーバーとして実行されるコンピュータには必要ありません。

役割ベースのセキュリティを実現する

マイクロソフトは過去数年にわたって、セキュリティに重点を置いた大量のドキュメントを公開してきました。たとえば、管理者がサーバーの各役割に必要なサービスを理解するのに役立つドキュメントや、Web サーバーなどのよく知られた役割用の構築済みテンプレートを提供するドキュメントなどがあります。しかし、『Windows Server 2003 セキュリティ ガイド』などに記載されているガイドラインを大規模な環境で実装するのは困難です。特に、基本的な IIS や SQL Server よりも複雑なアプリケーションを環境で使用する場合、より実装は困難になります。さらに問題を複雑にしているのは、企業で無数のサードパーティ製のアプリケーションが使用されており、それらの多くが複数のサーバーの役割に依存し、アプリケーションやサービスの要件も厳密に定義されていない場合があることです。

SCW は、上記のようなガイドに記載されている、依存関係に関する情報やベスト プラクティスを、管理者主導のウィザードにすべてカプセル化することで、これらの問題に対処します。たとえば、SQL Server™ と IIS の両方が必要な基幹業務 (LOB) アプリケーションを展開している場合、管理者がセキュリティ ガイドをくまなく調べて、環境の依存関係の一覧を独自に作成する必要はなくなります。その代わりとして、管理者はサーバーにアプリケーションをインストールし、SCW を起動することができます。SCW は現在実行されているサービスを検出し、そのサーバー用に選択する必要がある役割の一覧を管理者に提供します。SCW は、管理者の選択内容に応じて、選択された役割が依存していないすべてのサービスを無効にするポリシーを生成します。また、レジストリのセキュリティ強化、不要なネットワーク通信のブロック、および効果的な監査ポリシーの適用を行うためのオプションを提供します。SCW の実行後、管理者は SCW ポリシーを XML ファイルとして保存し、同じ LOB アプリケーションを実行している他のすべてのサーバーに適用できます。

つまり SCW を実行することにより、手作業が多い従来の Windows Server のセキュリティ保護の方法に比べて、3 つの大きな利点が得られます。1 つ目は、管理者が頻繁に製品ドキュメントを調べて、特定の作業に必要なサービスや設定を確認する必要性が (なくなるわけではありませんが) 大幅に低下することです。この情報は SCW に組み込まれているため、管理者は質問に基づいたインターフェイスを使用して、容易に必要な情報を提供できます。2 つ目は、サービスの強化、ネットワーク攻撃を受ける確率の低減、LDAP サービスと SMB サービスの強化、IIS のロックダウンなど、多くの分野のガイダンスが SCW に統合されることです。以前は、これらの構成作業を行うために、インターフェイスも方法も異なる別々のユーティリティを使用する必要がありました。3 つ目は、SCW は設定を XML ポリシー ファイルに出力するので、"一度作成して何回も適用する" というシナリオに使用できることです。特定の LOB アプリケーションをサポートするために展開するサーバーの数が 1 台でも 100 台でも、同じ SCW ポリシーを容易にすべてのサーバーに適用できます。これにより、セキュリティ設定の一貫性が高まり、運用コストが削減されます。また、SCW ポリシーのロールバックも容易になります。

SCW コンポーネント

SCW は多くの機能や利点を提供しますが、実際は 3 つの主要な部分から構成される非常に単純なツールです。この主要な部分とは、ウィザード インターフェイス、コマンド ライン インターフェイス、およびセキュリティの構成データベース (SCD) です。小規模または中規模の企業の管理者が使用する必要があるのは、おそらくウィザード インターフェイスのみです。大規模またはさらに複雑な環境の管理者は、コマンド ライン インターフェイスを使用して、SCW ポリシーをグループ ポリシー オブジェクト (GPO) に変換するタスクなどの SCW タスクを自動化できます。通常は、独自の SCW の役割を作成する上級管理者のみが、SCD を変更します。

管理者は、図 1 のようなウィザード インターフェイスを使用して、セキュリティ設定の作成、編集、適用、およびロールバックを対象のサーバーに対して行うことができます。管理者は、選択肢が提供される一貫したワークフローの中で、サービスと設定、ネットワーク接続、セキュリティ監査ポリシー、および IIS の設定を順に検討することができます。

図 1 SCW のインターフェイス

図 1** SCW のインターフェイス **(画像を拡大するには、ここをクリックします)

SCW コマンド ライン インターフェイスでは、3 つの基本的な機能が提供されます。1 つ目に、管理者は複数のサーバー (ローカルまたはリモート) の分析と構成、およびポリシーのロールバックを行うことができます。2 つ目に、XML ベースの SCW ポリシーを GPO に変換して、グループ ポリシー管理コンソールなどの標準的な GPO 管理ツールでネイティブに使用できます。そして 3 つ目に、図 2 のような SCW コマンド ライン ツールを使用して、拡張した新しいセキュリティの構成データベースを登録できます。

図 2 SCW コマンド ライン ツール

図 2** SCW コマンド ライン ツール **(画像を拡大するには、ここをクリックします)

SCD は、SCW の各役割に必要な特定のサービスや設定が記述された XML ファイルの集合です。これらのファイルは %windir%\security\msscw\kbs にあります。既定の SCW には、多くの主要な Windows Server の役割だけでなく、BizTalk®、Commerce Server、Exchange Server、Host Integration Server、Internet Security and Acceleration Server、Microsoft Identity Integration Server、Microsoft Operations Manager、Small Business Server、SharePoint® Portal Server、SharePoint Team Services、SQL Server、および Systems Management Server という 12 種類の定義済みのアプリケーションの役割が付属しています。役割ごとに別々の XML ファイルが使用されます (図 3 を参照)。新しい役割の定義が作成されるたびに、対応する XML ファイルがこのディレクトリに格納されます。これらのファイルは標準の XML であるため、テキスト ビューアや、XML をサポートするその他のアプリケーションで読み取ることができます (図 4 を参照)。

図 3 定義済みの役割

図 3** 定義済みの役割 **(画像を拡大するには、ここをクリックします)

図 4 役割の構成ファイル

図 4** 役割の構成ファイル **(画像を拡大するには、ここをクリックします)

SCW とグループ ポリシーを組み合わせる

SCW は、それだけでもすばらしいツールですが、その真の力はグループ ポリシーと組み合わせたときに初めて明らかになります。Windows® 2000 のリリース以来、Windows サーバーをセキュリティで保護する方法としてマイクロソフトが重点的に推奨してきたのは、グループ ポリシーを使用して、一貫性および永続性のある、一元管理されたポリシー アプリケーションを使用することでした。管理者は、役割に基づいてサーバーを組織単位 (OU) に分類することにより、個々のコンピュータ レベルではなく、企業全体に標準のセキュリティ構成を展開できます。組織は、標準のグループ ポリシーの累計および適用ロジックをベースにしてサーバーの役割を構築することによって、少数のマスタ ポリシーを使用して 100 台または 1,000 台のサーバーをセキュリティで保護できる、階層化されたサーバーの役割を設計できます。特徴的な役割を持つサーバーに、マスタ ポリシーに変更を加えたポリシーを適用する必要がある場合、それらのサーバーにより近い OU 階層用に、役割に焦点を合わせた項目の少ない差分ポリシーを作成できます。これにより、マスタ ポリシー全体を複製することなく、少ない変更で役割固有の機能を有効にすることができます。つまり、一元管理されたポリシーの利点が提供されるだけでなく、必要に応じた個別の適用にも対応できる柔軟性が提供されます。

この方法の真の課題は、実装段階にあります。さまざまなアプリケーションやサーバーの役割を保有する大規模な組織の場合、適切なポリシーの作成は困難で時間がかかります。しかしそれは SCW が開発されるまでの話です。SCW を使用してポリシーを生成してから、それらのポリシーを適切な OU に適用することにより、既存の作業と今後導入する作業の両方に対して、ディレクトリによってホストされた、役割ベースのセキュリティを展開する時間を大幅に短縮できます。組織でこの作業を行う方法をわかりやすく説明するために、大規模な企業で SCW と役割ベースの GPO を実装する方法について順を追って説明します。

企業内での SCW

この例では、架空の Contoso ネットワークを使用します。Contoso は、大規模かつ複雑な、地理的に分散した IT 企業です。Contoso は運用コストの削減とサーバーのセキュリティの強化を目指し、マイクロソフトのガイダンスに従って、作業に基づいてサーバーを分類および整理する、役割ベースの OU 階層を作成します。これらの OU に適用するポリシーは、SCW を使用して作成します。

SCW は既定ではインストールされていないため、Contoso で使用している無人インストール イメージの SCW コンポーネントを有効にする必要があります。これを行うには、Unattend.txt の [Components] セクションに SCW=On という新しい行を追加します。その後、このイメージを使用して構築されるすべての新しいシステムには、セットアップ中に SCW コンポーネントがインストールされます。ただし、SCW をインストールするように構成しただけでは、コンピュータの構築中にポリシーが適用されないことに注意してください。

セットアップ処理中に既定のポリシーを適用するには、イメージ内の cmdlines.txt ファイルの [Commands] セクションを編集して、scwcmd に次のオプションを指定して呼び出します。

scwcmd configure /p:ContosoBaselinePolicy.xml 

テキスト ファイルと XML ファイルは、どちらもイメージの $OEM$ ディレクトリに格納されている必要があります。サーバーの構築時に、Contoso はなぜディレクトリの最上位の OU に適用されたポリシーに依存せず、ベースライン ポリシーを適用するのでしょうか。これは、サーバーの構築時にポリシーを適用することにより、そのサーバーが Active Directory® に参加するかどうかにかかわらず、一貫したベースラインを保証できるためです。たとえば、サーバーをテスト目的で構築する場合、構築処理中にベースライン ポリシーを適用すると、そのサーバーを運用環境の Active Directory に参加させなくても、組織の標準セキュリティ ポリシーは必ず適用されます。このサーバーが後から Active Directory に参加した場合、グループ ポリシーの適用および優先順位のアルゴリズムに従って、ローカルの設定がドメインまたは OU レベルの設定よりも優先されます (ポリシーは、ローカル、サイト、ドメイン、OU という優先順位に基づいて適用されます)。

SCW をインストールしたら、ベースライン ポリシーの作成を開始することができます。ベースライン ポリシーは、役割ベースのセキュリティ OU 階層の最上位に展開され、通常は階層内で最も制限が厳しいポリシーである必要があります。つまり、既定のポリシーのセキュリティをできるだけ高く設定してから、個々の作業に対して、サーバーの役割に必要なサービスやポートを使用できるようにしていくということです。このため、ベースライン ポリシーを作成するには、何も変更を加えずに新しく構築されたサーバーを用意し、Contoso の標準管理ツールおよびユーティリティを追加した後、そのサーバーに対して SCW を実行します。たとえば、基本的な Windows のインストールが完了した後、標準のウイルス対策ツール、バックアップ ツール、管理ツール、および監視ツールを (手動または cmdlines.txt ファイルを使用して) サーバーにインストールします。各ツールによって独自の Windows サービスが作成される可能性があるため、これらのサービスがサーバーに作成されてからベースライン ポリシーを作成することにより、サービスをロックダウンするフェーズで SCW がそれらを認識できます。

サーバーが構築されたら、そのサーバーに対して SCW を実行します。SCW は、ローカルまたはリモートで実行できますが、SCW を実行するユーザーは、コンピュータのローカル管理者グループのメンバである必要があります。SCW をリモートで実行する場合、リモート ホストのどのユーザー アカウントを使用して実行するかを指定するためのオプションが提供されます。ローカルで実行する場合は、runas.exe を使用して同じ操作を行うことができます。SCW で最初に行う作業は、ローカル コンピュータで実行されているサービスを評価し、現在インストールされている役割を表示することです (図 5 を参照)。

図 5 サーバーの役割の選択と表示

図 5** サーバーの役割の選択と表示 **(画像を拡大するには、ここをクリックします)

Contoso のベースライン サーバーの制限は最も厳しくするという設計になっているため、このサーバーではどの役割も選択しません。サーバーが担う役割を選択したら、次は必要なクライアント機能を確認し、自動更新、Active Directory、FTP クライアントなどの機能を有効にします。ほとんどの組織では、SCW の既定の設定 (図 6 を参照) をそのまま使用することで、重要な機能 (ドメインに参加する機能など) が提供され、重要度の低い機能 (FTP クライアントなど) は提供されません。

図 6 インストールされる機能

図 6** インストールされる機能 **(画像を拡大するには、ここをクリックします)

SCW の次のページでは、有効にする管理ツールと既定以外のサービスを選択できます。Contoso の標準サーバー管理ツールおよびユーティリティをインストールしてから SCW を実行する理由は、このページでそれらを選択できるようにするためです。ウイルス対策、バックアップ、および関連アプリケーションをインストールすると、それらのサービスが SCW によって認識されるため、生成するポリシーの設定にそれらのサービスが含まれます。

サービス強化セクションの最後の質問は、特定できないサービスの処理方法です。これらのサービスは、SCW ポリシーが作成されたコンピュータでは実行されていませんが、このポリシーが適用される他のコンピュータで実行されている可能性があります。たとえば、新しいサードパーティ製のアプリケーションがインストールされた新しいサーバーにベースライン ポリシーを適用する場合、そのアプリケーションによってインストールされたすべてのサービスは、ここで管理者が選択した内容に応じて処理されます。管理者は SCW を使用すると、サービスのスタートアップ モードを変更しないか、サービスを無効にすることができます。[無効] が最も安全なオプションですが、明示的に実行を許可されていないサービスがすべて実行できなくなるため、注意して使用する必要があります。このため、このオプションは、高いセキュリティが確保されている、管理の行き届いた環境に最も適しています。組織の他の環境では、スタートアップ モードを変更しないことを選択するようお勧めします。このため、Contoso の例では、このオプションを選択します。SCW は、サービスのセキュリティ強化関連の作業を完了する前に、変更されるサービスに関するレポートを管理者に提供します。

SCW は、サービスの強化を完了した後、受信ネットワークのアクセスを制限するためのオプションを提供します。特定の役割に必要なサービスの一覧と同様、特定の作業に必要なポートの一覧が SCW の XML データベースに含まれます。

管理者は、図 7 のように、必要に応じて追加のポートを構成したり、サービスごとのポートの規則を作成したりできます。Contoso のベースライン サーバーの場合は、リモート デスクトップなどの最も基本的なサービスのみを許可する必要があります。他のすべての例外は、下位の OU 階層に適用する、役割ベースのポリシーで構成します。

図 7 ポートの表示と許可

図 7** ポートの表示と許可 **(画像を拡大するには、ここをクリックします)

その後、管理者はファイル トラフィックと印刷トラフィックの署名などのレジストリ オプションを選択できます。ベースラインの構成の場合、ここでも最も安全な既定値を選択することがベスト プラクティスとして推奨されます。

次のページで選択するのは、システム監査ポリシーです。ほとんどのシステムでは、[成功のアクティビティを監査する] を選択することが最も適切です。すべてのアクティビティを監査した場合、プロセッサの使用率が高くなり、監査ログに大量のデータが記録されます。攻撃を受けている可能性があり、より詳細な分析が必要な場合は、特定のコンピュータで失敗の監査を有効にすることができます。

最後に、IIS を強化するためのオプションが管理者に提供されます。これらのオプションは IIS Lockdown ツールで使用できるオプションに似ており、今回 SCW ポリシーに直接統合されました。

すべてのステップが完了したら、XML ファイルを保存するための画面が表示されます。保存されたファイルは、その後グループ ポリシーがネイティブで認識できる形式に変換されます。保存された XML ファイルを GPO に変換するには、scwcmd.exe を使用します。入力するコマンドは次のとおりです。

scwcmd transform /p:ContosoPolicy.xml /g:ContosoBaselineSecurityPolicy 

このポリシーは Active Directory に自動的に作成されるため、Contoso が役割ベースの強化に使用する OU 階層の最上位に適用できます。

このポリシーが階層の最上位に適用された後、その OU 階層に追加されたコンピュータはすべてその設定を継承します。Contoso の管理者は、このポリシーの変更を必要とするコンピュータ (W3SVC サービスを実行する必要がある IIS サーバーなど) を追加するとき、その新しいサーバーの役割用に SCW を再実行し、生成された新しいポリシーを GPO に変換して、そのサーバーが含まれた新しいサブ OU に適用します。サーバーに最も近い GPO が優先的に適用されるため、最終的には、その OU のサーバーが担う役割の機能を有効化するために変更する設定を除き、ベースラインの設定が適用されます (図 8 を参照)。

図 8 Contoso でのポリシーの適用

図 8** Contoso でのポリシーの適用 **(画像を拡大するには、ここをクリックします)

この方法の真の力は、大規模な組織や、多くのサーバーの展開時に明らかになります。最初の SCW ポリシーを作成して OU に適用したら、それ以降のサーバーは単にその OU に追加するだけで、適切なセキュリティ ポリシーを自動的に継承します。このため、最初にポリシーを作成して Active Directory に追加した後は、新しいサーバーの展開や既存のサーバーの置換を容易かつ迅速に行うことができます。

今後の見通し

マイクロソフトは、次の Windows Server リリースの "Longhorn" で、オペレーティング システムを大幅にコンポーネント化し、攻撃を受ける確率の低減を既定で実現します。管理者は、最小の既定値を制限することに重点を置くのではなく、サーバー マネージャ ツールを使用して、各サーバーに必要な役割と作業を追加します。サーバー マネージャの動作は SCW に似ており、依存関係の内部データベースを使用して、役割に必要なサービスをインストーラが提供するための機能のみを追加できるようにします。また、GPO によって制御される機能が大幅に拡張されたことにより、この記事で説明した、グループ ポリシーを使用して一元管理される役割ベースのセキュリティも大きく強化されます。つまり Windows Server "Longhorn" は、向上した柔軟性と、さらに強化された既定のセキュリティの状態により、SCW の考え方を次の段階に進めます。

SCW の関連情報

SCW の使用を開始する際に役立つ Web ページを次に示します。

John Morelloは、LSU を卒業し、これまでにマイクロソフトで 6 年間さまざまな任務を果たしてきました。シニア コンサルタントとして、フォーチュン 100 企業や、連邦政府の民生向けおよび国防向けのセキュリティ ソリューションの設計に携わってきました。現在は、Windows Server グループのシニア プログラム マネージャとして、セキュリティおよびリモート アクセス テクノロジに取り組んでいます。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.