セキュリティ ウォッチWindows Server 2008 で SCW を使用する

Jesper M. Johansson

この記事は、Windows Server 2008 のプレリリース版に基づいています。記載されている内容は変更されることがあります。

マイクロソフトは、2005 年に Windows Server 2003 SP1 をリリースしました。このサービス パックでは、Windows で初の役割ベースのセキュリティ管理ツールが導入されました。それがセキュリティの構成ウィザード (SCW) です。マイクロソフトは、何よりもまず攻撃面を削減することに重点を置いて SCW を設計しました。これは、コンピュータの実際の使用状況を分析し、

自動的に必要な役割をサポートするように構成し、使用されていない役割やサービスを無効にすることを目的としていました。

Windows Server® 2008 には、新しい役割と新しい Windows® ファイアウォールとの統合により更新された SCW が同梱されています。そして、これまでのように SCW が高度な管理ツールであることに変わりはありません。

Windows Server 2008 には、新しい役割に基づいたサーバー マネージャ ツールと、それに関連する役割の追加ウィザードと機能の追加ウィザードが用意されています。Windows Server 2008 では、コントロール パネルの旧式の Windows コンポーネントの追加と削除から個々のコンポーネントを追加するのではなく、役割管理ツールを使用してサーバーを構成します。これらのツールについては、Byron Hynes が今月号の TechNet Magazine の記事「サーバー マネージャを使用して役割を構成する」で説明しています。

役割の追加ウィザードと機能の追加ウィザードは、選択した役割のサポートに適切なコンポーネントを使用してサーバーを構成するように設計されています。また、これらのウィザードでは、選択した役割が正常に機能するように、組み込みのファイアウォールを構成します。このため、今もなお SCW が必要かどうかを疑問に思う人もいるでしょう。確かに、多くの管理者は SCW を必要としなくなります。ところが、2 つのグループのユーザーにとっては、SCW が非常に有益なツールになります。1 つ目のグループは、セキュリティに関して非常に神経質なユーザーです。つまり、SCW の一歩進んだセキュリティ機能を評価するユーザーです。

役割の追加ウィザードと機能の追加ウィザードは、既定のサーバーを使用して、必要な役割と機能が安全にサポートされるようにサーバーを構成するツールと考えることができます。これに対して、SCW は、必要な役割と機能だけをサポートするようにサーバーを構成するツールです。また、SCW は、サーバーの構成方法に関する理解を深めるのに役に立つという教育的な効果もあります。そのため、役割や機能を補完してサーバーを構成したら、SCW を実行することを強くお勧めします。

もう 1 つのグループは、さまざまなコンポーネントの関係を理解する必要があるユーザーです。SCW には、役割、機能、サービス、およびネットワーク ポート間の関係が記載された一連の XML ファイルが用意されています。さまざまなコンポーネントが必要としているものを理解するには、SCW はとても有益なツールです。

この記事では、SCW のしくみと、サーバーを保護するための SCW の有効な活用方法について説明します。また、SCW とサーバー マネージャ ツールの比較情報も提供します。なお、この記事は私の著書『Windows Server 2008 Security Resource Kit』(Microsoft Press®、2008 年) からの引用です。

セキュリティの構成ウィザードの概要

準備を万端にするために、Windows Server 2008 の攻撃面についての統計をいくつかご紹介します。必要な役割と機能を追加してサーバーを構成しなくても、Windows Server 2008 では比較的多くのサービスが使用されています。既定では、Windows Server 2008 には 105 個のサービスがあります。そのうち 42 個は自動的に開始するよう設定され、55 個のサービスは手動で開始するように設定され、8 個は無効に設定されています。これを Windows Server 2003 R2 SP2 と比べてみましょう。この製品では、既定で 86 個のサービスがインストールされ、そのうち 34 個が自動的に開始するよう設定され、32 個は手動で開始するように設定され、20 個は無効に設定されています。

役割のメタファとサポートされている役割の削減にもかかわらず、Windows Server 2008 では、サービスの数が多く、サーバーのセキュリティを強化する際には十分注意する必要があります。SCW を使用してウィザードの指示に従うと、特定のサーバーに特化したカスタム セキュリティ構成を作成できます。

SCW では、既存のツールとは完全に異なる方法でサーバーを強化します。役割のメタファと連動して、役割とその他必要なものをサポートするようにシステムを構成します。SCW は、役割の追加ウィザードと機能の追加ウィザードと同様に、ファイアウォールを構成するのに役立ちますが、SCW では、不要なサービスを無効にして追加のセキュリティ設定を構成することができます。また、役割の追加ウィザードと機能の追加ウィザードでインストールして構成できる役割は、Windows に組み込まれているものに限られますが、SCW は拡張可能です。開発者や管理者は、カスタムの役割や機能の構成ファイルを作成して、作成した役割や機能の構成ファイルの構成に SCW を使用できます。

SCW は、サーバーに必要なすべての役割と機能をインストールした後に使用するように設計されています。また、サーバーでサードパーティ製のアプリケーションが必要な場合は、SCW を実行する前に、これらもインストールしておく必要があります。

この動作を説明するために、3 つの役割 (アプリケーション サーバー、DNS サーバー、Web サーバー) と、2 つの機能 (Microsoft® .NET Framework 3.0 の機能と Windows プロセス アクティブ化サービス) を使用してサーバーを構成しました。これは、特に論理的な役割と機能の組み合わせではありませんが、ここでは良い例になります。

SCW を開始するには、[管理ツール] メニューから実行します。図 1 のようなダイアログ ボックスが表示されます。

図 1 SCW では、最初に実行する操作を選択します

図 1** SCW では、最初に実行する操作を選択します **(画像を拡大するには、ここをクリックします)

まず、新しいセキュリティ ポリシーを作成するのか、既存のポリシーを編集または適用するのか、またはポリシーをロールバックしてシステムの設定を元に戻すのかを選択します。選択肢は比較的わかりやすいものです。

新しいセキュリティ ポリシーを作成する操作を選択した場合、SCW ではポリシーでサポートする必要があるものを特定するために、テンプレートとしていくつかのコンピュータを使用して新しいポリシーを作成します。また、コンピュータを分析してサポートしている機能と役割を特定し、このような機能と役割が正常に動作し、多くの不要な機能が有効にならないようにします。

SCW はプロトタイプ モデルで動作します。SCW は、インストールされているファイルや構成されているサービスなど、役割と機能の構成状態を特定するのに XML ファイルを使用するので、作成したポリシーの作成に使用するコンピュータには、すべてのものがインストールされている必要があります。インストール時に SCW 定義をインストールするサードパーティ製のプログラムは、SCW とシームレスに統合されます。ただし、SCW 定義をインストールしないサードパーティ製のプログラムは手動で構成する必要があります。

ご覧のとおり、1 つのシステム用にポリシーを作成して、そのポリシーを多くのシステムに適用することができます。多くのシステムを含むネットワークを構築する場合は、まず、すべて個別に構成したホスト クラスを定義する必要があります。次に、そのうちの 1 つをプロトタイプとして使用したポリシーを作成し、ほとんどまたはまったく修正することなく、他のすべてのシステムにポリシーを簡単に適用することができます。

[次へ] をクリックすると (図 1 参照)、ウィザードでは、新しいポリシーはどのコンピュータを基準 (つまりプロトタイプ) として使用するかを選択するように求められます。通常はローカル コンピュータを選択しますが、リモート コンピュータをプロトタイプとして使用することもできます。

使用するシステムを指定すると、分析フェーズに入ります。ここのプロセスでは、SCW によって、インストール済みの役割と機能が列挙され、役割と機能のデータベースに照合されます。このデータベースには、各役割と機能で使用されるサービス、各役割と機能で必要なネットワーク ポート、その他の重要な構成情報などが格納されています。分析が完了したら、[構成データベースの表示] をクリックして、セキュリティの構成ウィザードによる分析結果を確認できます。この分析結果はコンピュータの構成についての総合的な情報を示す、読み取り専用ビューであることに注意してください。使用しているコンピュータにインストールされているものを細かく理解する必要がある場合は、多くの時間を費やしてこの情報を調査できます。

SCW を使用してサーバーを構成する

[次へ] をクリックすると、SCW の 4 つのセクションの最初のセクション、[役割に基づくサービスの構成] が表示されます。お気付きかもしれませんが、SCW に表示される役割 (図 2 参照) は、役割の追加ウィザードで表示される役割と同じではありません。SCW では、役割の追加ウィザードで利用可能な役割のほとんどが利用できますが、役割の追加ウィザードにはない役割も使用できます。たとえば、既に選択しているアプリケーション サーバーの役割は表示されません。これは SCW では、役割に若干異なるメタファを使用するからです。これについては、この後すぐに詳しく説明します。

図 2 SCW を使用してサーバーでサポートする役割を選択します

図 2** SCW を使用してサーバーでサポートする役割を選択します **(画像を拡大するには、ここをクリックします)

多くの場合、このダイアログ ボックスでは既に適切な役割が選択されています。ですから、ここでは分析結果が正しいかどうかだけを確認します。問題がある場合は、その役割がインストールされていることを確認し、インストールされていない場合は役割をインストールしてから、SCW を再実行します。何か間違えても、この世の終わりというわけではありません。SCW のロールバック機能を使用すると、ポリシーの変更を取り消して、最初の状態に戻すことができます。

このセクションの入力事項は、後続のネットワーク セクションで表示されるものに影響するので非常に重要です。さいわい、検出ロジックは非常に優れているので、通常適切な役割が選択されます。

また、既定では、[インストールされている役割] というエントリが表示されています。これは、サーバーのディスク上の空き容量でサポートできる役割です。チェック ボックスがオンになっている役割は現在サポートしている役割です。データベース内のすべての役割を表示することもできます。それには、ドロップダウン リストから [すべての役割] を選択します。これは主に、必要な全役割をまだインストールしていない、プロトタイプ サーバーを使用してポリシーを作成する必要がある場合に役立ちます。

役割を構成したら、サポートするクライアントの機能を選択します。WCS で提供される機能は機能の追加ウィザードと似ていますが、同一ではなく機能の追加ウィザードより少なくなります。また、メタファが完全には同じではなく、SCW は拡張可能なので、表示される機能は機能の追加ウィザードとは異なります。

SCW の [クライアントの機能] ページで [次へ] をクリックすると、[管理オプションとその他のオプションの選択] ダイアログ ボックス (図 3 参照) が表示されます。SCW のオプションは、役割や機能のどちらかに適合するものではなく、管理上のサポートを提供したり、対話型サービス検出のような単なる単一のサービスであったりします。ここでも、必要なオプションの大半を選択する必要があります。ですから、ドロップダウン メニューについてもご説明しましょう。このリストには、1 つ前のページで選択した役割と機能に関連するオプションが表示され、表示されるオプションはコンピュータによって異なります。

図 3 SCW で他のサービスと機能を選択する

図 3** SCW で他のサービスと機能を選択する **(画像を拡大するには、ここをクリックします)

その次は [追加のサービスの選択] ダイアログ ボックスです。SCW には、非常に大きなサービスのデータベースが同梱されていますが、ここにすべてのサービスの情報が格納されているわけではありません。SCW がコンピュータで検出した、データベースにないサービスは、[追加のサービスの選択] ページに表示されます。すべての組み込みのサービスの情報はデータベースに格納されているので、サードパーティ製のサービスがインストールされていなければこのダイアログ ボックスは表示されません。

次に、まだ構成していないサービスの対処方法を選択します。このオプションは、作成したポリシーを別のコンピュータに適用するためのものです。ポリシーを適用するコンピュータに、ポリシーを作成したコンピュータと異なるサービスがインストールされている場合、SCW では、そのサービスへの対処方法を把握している必要があります。まず、そのまま何もしないというオプションがあります (これが既定のオプションです)。また、そのようなサービスを無効にするというオプションもあります。このオプションでは、コンピュータのセキュリティを強化できますが、問題が発生する場合があります。ただし、ポリシーをポリシーの作成に使用したサーバーとまったく同じサーバーにのみ適用する、というアドバイスに従う場合は、このページでどちらのオプションを選択するかは重要ではありません。

これで役割の構成は完了したので、SCW により設定事項が適用されます。図 4 に示されるように、このウィザードのすべてのページで既定値を使用した場合も、コンピュータの攻撃面には大きな影響があります。たとえば、このコンピュータはプリント サーバーではなく、プリンタがインストールされていないので、印刷スプーラ サービスを実行する理由はありません。SCW では不要なすべてのサービスを無効にします。テスト サーバーでは、SCW は自動的に開始するように設定されていた 17 個のサービスを無効にし、手動で開始するように設定されていた 42 個のサービスも無効にしました。もちろん、サーバーの構成により結果は異なりますが、SCW を使用すると、ご使用中のサーバー固有のポリシーを簡単に調整して、攻撃面が大幅に縮小されたことを実感できます。

図 4 SCW では変更の概要が表示されます

図 4** SCW では変更の概要が表示されます **(画像を拡大するには、ここをクリックします)

次のセクションは、ネットワークです。これは間違いなく SCW の最も重要なセクションです。最初の [ようこそ] ページの後、[ネットワーク セキュリティの規則] ダイアログ ボックス (図 5 参照) が表示されます。このダイアログ ボックスでは、前のセクションで選択した役割のサポートに基づいて、SCW が提供するすべてのファイアウォールの規則の一覧が表示されます。

図 5 SCW では必要と判断したすべての規則が表示されます

図 5** SCW では必要と判断したすべての規則が表示されます **(画像を拡大するには、ここをクリックします)

ネットワーク セクションで、追加の構成を行わない場合は、ネットワーク インターフェイスをロックダウンして、選択した役割と機能のみがサポートされ、かつユーザーが役割と機能にアクセスできるようにするファイアウォールの規則が作成されます。ただし、サーバーのセキュリティを適度なレベルで最適化するには、サーバーの分離戦略を立てるうえで、SCW の使用は不可欠です。サーバーの分離 (これと密接な関係のあるドメインの分離) の詳細については、technet.microsoft.com/network/bb545651 を参照してください。

Windows Server 2008 セキュリティ リソース キットには、サーバーとドメインの分離によるネットワーク保護に関する章があります。この章では、ネットワーク脅威のモデル化を使用してネットワークを分析して、サーバーの分離を簡略化するのに役立てる方法についても説明しています。SCW は、このプロセスにおいて貴重なツールです。

規則を選択し、[編集] をクリックして、提示された規則に制限を設定することができます。この操作によって、図 6 のようなダイアログ ボックスが表示されます。これはすべてネットワークの規則に詳細な制限を設定できる 4 ページのうちの 1 ページです。たとえば、IPsec 認証を求めることができます。これを設定する際には、特定のエンドポイントだけをポートと関連付けることもできます。たとえば、特定のホストからのみリモート管理を許可するように構成することができます。ご覧のとおり、これは役割の追加ウィザードと機能の追加ウィザードにない、SCW の主なメリットです。

図 6 SCW を使用するとファイアウォールと IPsec の規則を作成できます

図 6** SCW を使用するとファイアウォールと IPsec の規則を作成できます **(画像を拡大するには、ここをクリックします)

この選択した役割に基づいて接続のセキュリティ規則を作成できるという機能は、2 つの重要な役割を果たします。まず、サーバーの機能を理解する絶好の学習の機会になります。サーバーを構築する必要はなく、ウィザードを実行して、異なるオプションを選択するだけで、後続のページのオプションがどのように変化するかを確認できます。もう 1 つは、ポートの非常に抽象的な概念を論理的なサービスの概念に関連付けて、システムの実際の機能に基づいてネットワークの制限を構成できることです。

適切な設定を行うことで、サーバーの強固な構成を実現できます。SCW のネットワーク セクションは、間違いなくサーバーのセキュリティ ポリシーを作成する場合に、その時間のほとんどを費やすべきセクションです。

SCW の残りセクションでは、監査といくつかのレジストリの設定を構成できます。これらのパラメータの既定の設定は、ほとんどの組織にとって適切なので、特別な要件がない限り、このセクションで必要な作業はほとんどありません。

ポリシーを作成したら、保存して、使用中のコンピュータに適用できます。また、他のコンピュータに適用することもできます。さらには、scwcmd.exe /transform コマンドを使用して、作成したポリシーをグループ ポリシー オブジェクト (GPO) に変換することもできます。

ただし、ポリシーにコンピュータ固有の設定がある場合、変換できないか、予期しない結果になることがあります。たとえば、ネットワーク セクションでローカル アダプタを含むエンドポイントの制約を作成した場合、ポリシーがコンピュータ固有のものだと見なされ、変換に失敗します。これは、ローカル アダプタが GUID を使用して指定しなければならないことが原因で発生する問題です。ある特定のコンピュータのローカル アダプタの GUID は、他のコンピュータでは意味がありません。

そのため、多くの場合、SCW はサーバーごとに使用したり、学習ツールとして使用されたります。大きなサーバー ファームでは、コンピュータに関する情報を収集して、基本的なポリシーを作成する手段として SCW を使用することができます。その後、グループ ポリシーや企業管理システム (たとえば、Microsoft Systems Center) など、サーバーの構成に使用している任意のツールを使用して、作成したポリシーを環境に展開できるように再作成できます。

SCW とサーバー マネージャ

役割と機能に使用されるメタファが異なることについては、既に説明しました。SCW では、機能はコンピュータがクライアントとして動作するために行うことで、役割はコンピュータがサーバーとして機能するために行うこととして捉えられます。

これは、役割がサービスと機能のコレクションの 1 つの単位として考えられ、機能が役割をサポートするものとして捉えられている、サーバー マネージャ ツールで使用されているメタファとは異なります。つまり、サーバー マネージャでは、役割は、サーバー購入の目的であると考えられます。機能は重要ですが、サーバーの購入目的ではありません。この 2 つのメタファと同じ用語を 2 つの異なる用途に使用することは、確実に混乱を招きます。ツールを変更する場合は、その前に、立ち止まってよく考えることが必要です。

また、サーバー マネージャ ツールは拡張不可能で、これは、Windows に同梱されているコンポーネントのみを管理するように設計されています。これに対し、SCW を使用した場合、インストールしたサードパーティ製のプログラムでは、SCW に役割や機能を追加することができます。また、独自の役割と機能を作成することもできます。詳細については、ホワイト ペーパー「セキュリティの構成ウィザードを拡張する」(go.microsoft.com/fwlink/?LinkId=107397) を参照してください。

SCW では、必要のないコンポーネントを無効にしますが、サーバー マネージャ ツールでは、単に要求したコンポーネントを展開するだけで、コンピュータ上にある他のものには一切変更を加えません。必要がないコンポーネントを判断するのにサポートが必要な場合は、SCW が役立ちます。

さらに、サーバー マネージャ ツールと SCW は、どちらもネットワークを構成しますが、この点においては、SCW の方がはるかに強力な機能を備えています。サーバーの分離戦略を立てる際には、SCW を使用すると多くの情報を得られ、展開の一番の味方となるでしょう。これは間違いなく高度なセキュリティ管理のトピックですが、SCW は高度なセキュリティ ツールです。

また、SCW では、サーバー マネージャ ツールでは構成されない、いくつかの追加のセキュリティ設定も構成します。ただし、このような設定の大半は、Windows Server 2008 のより効率的なコントロールに取って変わられます (または、既定で設定されるようになります)。

Jesper M. Johansson は、ソフトウェアのセキュリティ問題に取り組むセキュリティ エンジニアで、TechNet Magazine の編集にも携わっています。MIS の博士号を持ち、セキュリティの分野で 20 年以上の経験があります。

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