セキュリティに関するご質問 ‐ 2001 年 10 月 15 日

Steve Riley

セキュリティ テンプレートを使って Windows 2000 コンピュータを保護する

コンピュータのセキュリティを構成するには何が必要でしょうか? まず、コンピュータでどのような処理を行うかを考える必要があります。コンピュータの役割を正しく把握しておかないと、どこから着手すればいいのかさえわからなくなります。そのうえで、コンピュータの役割上、重要な意味を持つセキュリティ設定を判別し、組織のセキュリティ ポリシーを反映させます (セキュリティ ポリシーはありますか?)。一般に、このような設定には、以下のカテゴリがあります。

  • アカウント ポリシー - パスワード、ロックアウト、Kerberos
  • ローカル/ドメイン ポリシー - 監査、ユーザー権利、各種セキュリティ オプション
  • イベント ログの設定
  • 制限されたグループ (特定のセキュリティ設定をバイパスできるグループ) のメンバシップ
  • システム サービスに対するアクセス許可
  • レジストリ キーに対するアクセス許可と監査
  • ファイル システム アクセス許可

考えるべきことはたくさんありますが、1 ~ 2 台のコンピュータを構成するだけなら、思いのほか簡単な作業で済むはずです。しかし、構成対象のコンピュータが 10 台、100 台、1000 台と増えていくと、どうでしょう? 一貫性、予測可能性、繰り返しの容易さ、エラーの発生しにくさという条件をクリアしながら、多数のコンピュータを構成するには、どうすればよいでしょうか? また、コンピュータの台数の問題以外にも、どのセキュリティ変更が重要かを判断し、提案された設定を現在の構成と比較するには、どうすればよいでしょうか? Windows 2000 に用意されているテンプレート ベースのセキュリティ構成/分析ツールが、その答えになります。

トピック

最初に行うこと 最初に行うこと

コンピュータを分析して構成する コンピュータを分析して構成する

グループ ポリシーを使って構成を配布する グループ ポリシーを使って構成を配布する

ステップ バイ ステップ : コンピュータのセキュリティ設定をすばやく適用する方法 ステップ バイ ステップ : コンピュータのセキュリティ設定をすばやく適用する方法

最初に行うこと

ここでは、簡単な実習形式で、セキュリティ テンプレートと分析について学びます。まず最初に、ジョブに応じた MMC コンソールを作成します。MMC.Exe を起動し、以下のスナップインをロードしてください。

  • セキュリティ テンプレート
  • セキュリティの構成と分析

このコンソールを "セキュリティ設定" という名前で管理ツールフォルダに保存します。こうすることで、[スタート] メニューの [管理ツール] の下に、このコンソールが表示されるようになります。

ここで学ぶ作業の大部分は、Windows 2000 に付属しているコマンド ライン ツール SECEDIT.EXE を使って実行することも可能です。ここでは、このツールの使い方についても学びます。ただし、この文書で示しているのは、あくまで GUI での作業に対応する SECEDIT の使用手順です。SECEDIT の詳細については、「オンライン ヘルプ」を参照してください。

用意されているテンプレートを調べる

[セキュリティ テンプレート] スナップインには、コンピュータにインストールされているすべてのテンプレートの一覧が表示されます。既定の設定で一覧に含まれるのは、%WINDIR%¥Security¥Templates フォルダ (このスナップインを展開したときにツリー内に示されるフォルダ) に格納されている .inf ファイルです。パスをクリックすると、テンプレートとその説明が MMC の右ペインに表示されます。Windows 2000 には、以下の項目に対応するテンプレートが付属しています。

  • ワークステーション - 互換、基本、セキュリティで保護された、高度なセキュリティで保護された
  • サーバー - 基本、セキュリティで保護された、高度なセキュリティで保護された
  • ドメイン コントローラ - 基本、セキュリティで保護された、高度なセキュリティで保護された
  • ワークステーションおよびサーバー用の省略可能なファイル コンポーネント セキュリティ
  • 既定のセキュリティ設定
  • インターネットおよびイントラネット上の Web サーバー (Windows 2000 リソース キットがインストールされている場合)

パスを展開するとテンプレート ファイルが表示され、各テンプレートを展開すると設定が表示されます。これらの設定がこの文書で最初に示したカテゴリによく一致していることに注目してください。各テンプレートの設定をつぶさに調べると、そのテンプレートを適用したときの結果について理解できます。また、変更したい設定がある場合は、設定をダブルクリックすると編集できます。設定を変更した場合は、テンプレートを右クリックし、説明を書き直して、新しいファイルとして保存します。このようにすることにより、オリジナルのテンプレートが必要になったときに、オリジナルのテンプレートを再使用できます。

"setup security" という名前のテンプレートは、特に重要です。このテンプレートを使うと、Windows 2000 の既定のセキュリティ設定に戻ることができます。ソフトウェアを一切実行できないレベルまでサーバーをロックダウンしたい場合は、このテンプレートが役立ちます。

セキュリティのレベルに応じたテンプレートが用意されています。たとえば、サーバー用としては、基本、セキュリティで保護された、高度なセキュリティで保護されたテンプレートがあります。レベルの高いテンプレートは、低レベルのテンプレートのスーパーセットであり、低レベルの設定がすべて含まれています。サーバー用の高度なセキュリティで保護されたテンプレートには、セキュリティで保護されたテンプレートと基本テンプレートの設定が含まれているので、このレベルのセキュリティが必要な場合は、3 つのテンプレートをすべて適用するのではなく、高度なセキュリティで保護されたテンプレートだけを適用してください。Microsoft Press 刊行の『Microsoft Windows 2000 テクニカルリファレンス セキュリティガイド』(http://ec.nikkeibp.co.jp/item/books/561500.html) の付録 B には、既定テンプレートの設定の一覧が記載されています。

 

コンピュータを分析して構成する

テンプレートを使うと、コンピュータのセキュリティ設定を分析して、テンプレートに保存されている設定とコンピュータの現在の構成を比較することができます。この作業を行う理由としては、次の 2 つがあります。

  • コンピュータの現在の構成が必要なレベルを下回っている可能性がある場合は、分析を通じて、実際の構成が適切かどうかを正確に調べることができます。
  • テンプレートを適用する前にコンピュータを分析すると、そのテンプレートによって、どのような変更が生じるかを確認できます。

分析結果はデータベースに保存でき、その後、データベースからローカル コンピュータに直接適用できます。このようにして、コンピュータの設定をテンプレートに一致させることができます。また、データベースを新しいテンプレートにエクスポートし、グループ ポリシーを通じて、複数のコンピュータに適用することもできます。データベースの設定は、テンプレートにエクスポートする前に変更できます。

データベースを作成してコンピュータを分析する

分析は、データベースを基準として行われます。分析と構成を実行する前に、少なくとも 1 つのテンプレートをデータベースに読み込む必要があります。

  1. [セキュリティの構成と分析] を右クリックします。
  2. [データベースを開く] を選択し、データベースに名前を付けます。
  3. テンプレートを選択するように促すダイアログ ボックスが表示されたら、分析対象のサーバーに適したテンプレートを選択します。
  4. 分析に複数のテンプレートを使用する場合は、[セキュリティの構成と分析] をもう一度右クリックし、[テンプレートのインポート] を選択して、目的のテンプレートを選択します。なお、[インポートする前にこのデータベースをクリアする] を選択すると、データベースに含まれているテンプレートをすべてクリアすることができます。テンプレートを選び間違えた場合に役立ちます。また、新しいデータベースを作成することもできます。使用する複数のテンプレートの間で設定に食い違いがある場合は、最後に追加したテンプレートの設定が優先的に適用されます。
  5. 以上で、分析の準備が整いました。[セキュリティの構成と分析] をもう一度右クリックし、[コンピュータの分析] を選択します。
  6. エラー ログ ファイルの保存場所を指定するように促すダイアログ ボックスが表示されますが、既定の設定のまま進んでかまいません。

以上の手順で、分析が実行されます。左ペインに 6 つのカテゴリが表示されます。これらのカテゴリを参照して、データベースの設定とコンピュータの現在の設定を比較します。赤い X マークは相違を示し、緑のチェック マークは一致を示します。

SECEDIT.EXE の使用 コマンド プロンプトから分析を実行するには、次のコマンドを使用します。

SECEDIT /ANALYZE /DB database-filename /CFG template-filename

作成するデータベースのパスとファイル名を必ず指定します。.INF セキュリティ テンプレート ファイルをデータベースにインポートする場合は、そのファイルのファイル名とパスも指定します。SECEDIT では、既定の場所にログ ファイルが作成されます。詳細なログを作成するには、/VERBOSE コマンド スイッチを付加します。また、情報を画面に表示せず、ログを生成せずに分析を実行するには、/QUIET スイッチを付加します。

database-filename に指定したデータベースが存在しなければ、分析を開始する前に、template-filename の設定に基づいて新しいデータベースが作成されます。database-filename が存在する場合は、分析を開始する前に、テンプレートの設定が結合されます。template-filename を省略すると、データベースに既に格納されている設定に基づいて分析が実行されます。

基準設定を変更する

特定の設定を変更した方がよいと思われる場合は、分析に使用するテンプレートを変更するか、データベース自体の設定を変更するかのいずれかの方法で対処できます。テンプレートを変更する場合は、今後、そのテンプレートを使用して行った分析や、そのテンプレートに依存しているグループ ポリシーに変更が反映されることになります。データベースを変更する場合は、データベースを適用したローカル コンピュータに変更が反映されることになります。既定テンプレートは標準構成のままにしておくのが最善なので、テンプレートを変更せずにデータベースを変更する方が無難でしょう。設定をダブルクリックして、必要な変更を加えます。

テンプレートではなくデータベースを変更した方がよいのには、もう 1 つ理由があります。分析対象として選択したテンプレートですべての設定項目が指定されているとは限りません。選択したどの基準テンプレートでも指定されていない設定項目には、赤い X マークも緑のチェック マークも付いていません。このような設定を構成するには、項目をダブルクリックし、[このポリシーをデータベースに定義する] を選択します。

構成を適用する

テンプレートを選択し、コンピュータを分析して特定の設定を変更したら、以下の手順で新しい構成を適用できます。

  1. [セキュリティの構成と分析] を右クリックします。
  2. [コンピュータの構成] を選択します。

エラー ログ ファイルの保存場所を指定するように促すダイアログ ボックスが表示されますが、既定の設定のまま進んでかまいません。セキュリティ設定をコンピュータに適用する処理の進行状況がダイアログ ボックスに表示されます。データベース内の設定の数によっては、完了までに数分を要することがあります。

次に、新しいポリシーをテンプレート ファイルにエクスポートします。

  1. [セキュリティの構成と分析] を右クリックします。
  2. [テンプレートのエクスポート] を選択します。
  3. テンプレートを適切な名前のファイルに保存します。

メモ ポリシーをテンプレートにエクスポートする理由には、この後すぐに述べる理由と、次の節で述べる理由の 2 つがあります。

変更は、いつでも元に戻すことができます。新しいデータベースを開いて、"setup security" テンプレートをインポートするのが、その方法の 1 つです。コンピュータを構成し (分析手順は省略可能)、すべてのセキュリティ設定を Windows 2000 の既定値に戻します。ただし、この方法では、設定を既定値に戻すことしかできません。独自の構成を適用した後で別の構成を適用した結果、問題があることがわかった場合、どうすれば変更を元に戻すことができるでしょうか?

この場合は、2 通りの方法があります。

  • 以前の構成から作成したデータベース ファイルが保存されているのであれば、そのファイルを開いてコンピュータを構成するだけで、以前の設定を復元できます。
  • ポリシーを別のテンプレートに保存しておいた場合は、そのテンプレートを使って設定を復元できます。新しい構成の適用時にポリシーを別のテンプレートに保存しておくと、後で別の構成を適用した結果、問題があることがわかったときに、そのテンプレートから新しいデータベースを作成して、その設定を適用するだけで、以前の構成を復元することができます。

SECEDIT.EXE の使用 データベースに保存されている構成を適用するには、次のコマンドを使用します。

SECEDIT /CONFIGURE /DB database-filename

以前に作成したデータベース ファイルを指定します。ネットワーク アクセスの可能な共有にデータベースが置かれている場合は、この方法で、同じ設定を複数のコンピュータにすばやく適用できます。

分析を省略して、即座に構成を適用するには、次のコマンドを使用します。

SECEDIT /CONFIGURE /DB database-filename /CFG template-filename

database-filename に指定したデータベースが存在しなければ、template-filename の設定に基づいて新しいデータベースが作成された後、構成が適用されます。database-filename が存在する場合は、設定がデータベース内に結合された後、データベース内の新しい (結合された) 構成が適用されます。template-filename を省略すると、データベースに既に格納されている設定に基づいて構成が適用されます。/OVERWRITE スイッチを指定すると、最初にデータベースを空にすることができます。異なるデータベース ファイル名を指定する方法もあります。

/ANALYZE スイッチを使用する場合と同様に、/VERBOSE スイッチまたは /QUIET コマンド スイッチを必要に応じて指定できます。

コマンド行からポリシーを適用するときは、GUI の場合よりも、やや詳細な制御が可能です。/AREAS スイッチを使うと、データベースのどの部分を適用するかを指定できます。詳細については、「オンライン ヘルプ」を参照してください。

現在の構成を新しい .INF セキュリティ テンプレート ファイルに保存するには、次のコマンドを使用します。

SECEDIT /EXPORT /DB database-filename /CFG template-filename

database-filename には、テンプレートにエクスポートするデータベースを指定します。データベース ファイル名は省略可能です。省略すると、システムの現在の構成が使用されます。template-filename には、設定を保存するテンプレートを必ず指定します。/AREAS、/VERBOSE、および /QUIET の各スイッチも必要に応じて指定できます。

ほかから入手したテンプレートの妥当性を検査するには、次のコマンドを使用します。

SECEDIT /VALIDATE template-filename

 

グループ ポリシーを使って構成を配布する

Web サーバー用の理想的なポリシーを作成した後、そのポリシーを組織内のすべての Web サーバーに適用するには、どうすればよいでしょうか? このようなニーズを満たしてくれるのがグループ ポリシーです。グループ ポリシーは、サイト、ドメイン、組織単位の各レベルで適用できます。コンピュータの役割に応じた組織単位を作成しておくと、特定の役割を持つコンピュータのグループ全体に対して簡単にテンプレートを適用できます。

ここでは、すべての Web サーバーが Web サーバー組織単位に属しているものとします。この組織単位にリンクされたグループ ポリシー オブジェクトがまだ存在しない場合は、新しいグループ ポリシー オブジェクトを作成しておきます。以下の手順でグループ ポリシー オブジェクトを編集します。

  1. [グループ ポリシー] ウィンドウで、[コンピュータの構成] から [Windows の設定] を展開します。
  2. [セキュリティの設定] を右クリックし、[ポリシーのインポート] を選択します。
  3. 理想的な Web サーバー ポリシーの作成時に保存したテンプレート ファイルを選択します。

以上の手順で、テンプレート内に指定されているセキュリティ設定が組織単位内のすべてのコンピュータに適用されます。

 

ステップ バイ ステップ : コンピュータのセキュリティ設定をすばやく適用する方法

セキュリティの分析と構成には、いくつかの段階とオプションがあります。作業が簡単になるように、以下の順序に従ってください。

  1. カスタムの [セキュリティ設定] MMC を作成します。
  2. 新しいデータベースを開き、1 つまたは複数のテンプレートをインポートします。
  3. コンピュータを分析します。
  4. ニーズとセキュリティ ポリシーに応じてデータベースに変更を加えます。なお、新しいデータベースを作成するときは、既定のテンプレートが適用されます。
  5. データベースを新しいテンプレートにエクスポートします。
  6. 構成をコンピュータに適用します。
  7. 関連するアプリケーションとサービスをテストします。
  8. すべての動作に問題がないことを確認できるまで手順 4. ~ 7. を繰り返します。
  9. 作業対象のコンピュータの種類 (役割) に応じたコンテナにリンクされているグループ ポリシー オブジェクトのセキュリティ設定に、正しく構成したテンプレートをインポートします。
  10. ほかのコンピュータの種類 (役割) についても、手順 1. 以降を繰り返します。

セキュリティ テンプレートと分析/構成ツールの使い方を習得すれば、組織のセキュリティ管理の自動化や合理化にこれらを応用する方法がいろいろ思い浮かぶことでしょう。コンピュータの役割と種類を適切な組織単位にグループ化すれば、グループ ポリシーを使ってカスタム テンプレートを適用できます。一貫性を確保し、エラーをなくすには、これが最も確実な方法です。