グループポリシー(GPO)設計入門|セキュリティ設定をADで一括管理する方法

Active Directory設計・運用

「パスワードの複雑性要件、各端末で設定してます」——100台のPCがある現場でこれを聞くと、背筋が凍ります。

GPOを使えばドメイン内の全端末に同じセキュリティ設定を一括で配布できます。にもかかわらず、ADを導入しているのにGPOをほとんど使っていない、使っていてもDefault Domain Policyに設定を詰め込んでいる——という現場は珍しくありません。

GPOは「使えば便利」ではなく「使わないとADを導入した意味が半減する」仕組みです。この記事では、GPOの動作の仕組みから実務で必ず設定すべき項目・よくある失敗パターンまでを解説します。

OU設計とGPOの関係については「ADのドメインとOU設計|組織構造をActive Directoryに落とし込む実務ガイド」で解説しています。GPO設計はOU設計の後に行う作業なので、先にOU構造を固めてからこの記事を読むことをおすすめします。

「端末ごとに設定している」現場が抱えるリスク

GPOを使わずに各端末を個別設定している場合、3つのリスクが常に存在します。

設定の一貫性が保証されない。 担当者によって設定値がバラバラになります。あるPCはパスワードの有効期限が90日、別のPCは設定なし——という状態が発生します。セキュリティポリシーを統一できない環境では、どこかに必ず穴が生まれます。

設定変更のコストが膨大になる。 セキュリティポリシーを変更するたびに全端末を個別に操作する必要があります。100台なら100回の作業です。GPOであれば1か所変更するだけで全端末に反映されます。

設定状態の把握ができない。 「本当に全端末に設定が入っているか」を確認する手段がありません。監査・コンプライアンス対応でも証跡を残しにくくなります。

参考:グループ ポリシーの概要 | Microsoft Learn

GPOとは何か——ADから設定を配布する仕組み

GPOが適用される流れ(OU→リンク→適用)

GPOの動作は3ステップで理解できます。

① GPOを作成する。 グループポリシー管理コンソール(GPMC)でGPOを作成し、適用したい設定(パスワードポリシーなど)を定義します。

② OUにリンクする。 作成したGPOを対象のOUにリンクします。このリンクによって「どのOUに所属するオブジェクトにこの設定を適用するか」が決まります。

③ クライアントが設定を取得する。 ドメイン参加しているPCまたはユーザーがログオン・起動時にDCからGPOを取得し、設定が適用されます。

GPMC(Group Policy Management Console) GPOの作成・編集・リンク・適用状況確認を行うWindows管理ツール。サーバーマネージャーまたはRSATからインストールして使用する。

RSAT(Remote Server Administration Tools) Windows 10/11などのクライアントPCから、ネットワーク経由でWindows Serverの役割や機能(Active Directory、DNS、DHCP、IISなど)をGUIやCLIで遠隔管理できるMicrosoftの無償ツール群。

コンピューター設定とユーザー設定の違い

GPOの設定は大きく2種類に分かれています。

コンピューター設定 PCの起動時に適用される設定。誰がログインするかに関わらず、そのPCに常に適用される。Windowsファイアウォール・USB制限・セキュリティオプションなど。

ユーザー設定 ユーザーのログオン時に適用される設定。どのPCにログインしても、そのユーザーに追従して適用される。デスクトップの設定・ソフトウェア配布・スクリプト実行など。

実務上の重要なポイントは「コンピューターOUのGPOにはコンピューター設定を、ユーザーOUのGPOにはユーザー設定を入れる」という原則です。混在させると意図しない動作の原因になります。

GPOの継承と優先順位——上書きされる仕組み

GPOはOU階層の上位から下位へ継承されます。これがGPO設計で最も混乱しやすいポイントです。

適用の優先順位は以下の順番です(後から適用されるほど優先されます)。

① ローカルポリシー(PC単体の設定)
② サイトにリンクされたGPO
③ ドメインにリンクされたGPO
④ 上位OUにリンクされたGPO
⑤ 下位OUにリンクされたGPO(最優先)

つまり下位OUのGPOが上位OUのGPOを上書きします。この仕組みを理解していないと「設定したはずなのに効いていない」という問題が発生します。

GPOの継承ブロック(Block Inheritance) 上位OUからのGPO継承を遮断する設定。特定のOUだけ別のポリシーを適用したいときに使うが、多用すると管理が複雑になるため最小限に抑える。

参考:グループ ポリシーの処理と優先順位 | Microsoft Learn

セキュリティ上まず設定すべきGPO項目

パスワードポリシー(長さ・複雑性・有効期限)

パスワードポリシーはドメイン全体に適用する設定です。Default Domain Policyで設定するのが原則です。

実務での推奨値は以下の通りです。

設定項目 推奨値 理由
最小パスワード長 12文字以上 NISTガイドラインに基づく
複雑性の要件 有効 大文字・小文字・数字・記号の組み合わせ
パスワードの有効期限 無期限または365日 頻繁な変更は使い回しを誘発する
パスワードの履歴 24回 過去のパスワードへの戻り防止

パスワードの複雑性要件 大文字・小文字・数字・特殊文字のうち3種類以上を含むことを強制する設定。有効にするとシンプルすぎるパスワードを拒否できる。

NISTのガイドラインでは「定期的なパスワード変更の強制」は推奨されなくなっています。漏洩が確認された場合のみ変更を求める方針が現在の標準です。

参考:NIST SP 800-63B – Memorized Secret Authenticators

MFAと組み合わせることでパスワード単体の弱点を補えます。詳しくは「MFAとは?多要素認証の仕組みと実務での導入・運用ガイド」を参照してください。

アカウントロックアウトポリシー

アカウントロックアウトポリシー 一定回数のログイン失敗でアカウントをロックする設定。ブルートフォース攻撃・パスワードスプレー攻撃の抑止に有効。

推奨設定は以下の通りです。

設定項目 推奨値
ロックアウトのしきい値 5〜10回
ロックアウトの観察期間 15分
ロックアウト期間 15〜30分(または管理者解除)

しきい値を低く設定しすぎると正規ユーザーが誤入力でロックされ、ヘルプデスクへの問い合わせが増えます。5〜10回が現場での現実的なバランスです。

画面ロック・スクリーンセーバー

離席時の不正アクセスを防ぐための基本設定です。

設定項目 推奨値
スクリーンセーバーの待機時間 10〜15分
スクリーンセーバー再開時のパスワード要求 有効

コンピューター設定として全端末に適用することで、「この端末は設定したが別の端末は忘れた」という漏れを防げます。

USBストレージの制限

リムーバブルメディアへのアクセス制限 GPOでUSBメモリなどのリムーバブルデバイスへの読み書きを禁止する設定。情報漏洩・マルウェア感染の経路を遮断できる。

設定パス:コンピューターの構成 → 管理用テンプレート → システム → リムーバブル記憶域へのアクセス

業務上USBが必要な部門がある場合は、その部門のOUだけ制限を緩和するGPOをリンクする方法で対応します。全体禁止・例外OUのみ許可という設計が現実的です。

Windowsファイアウォールの強制有効化

エンドポイントレベルでのファイアウォールを強制的に有効化します。ユーザーが無効化できない状態にすることが目的です。

設定パス:コンピューターの構成 → Windowsの設定 → セキュリティの設定 → Windowsファイアウォール

参考:Windows Defender ファイアウォールの設計ガイド | Microsoft Learn

GPO設計の実務パターン

ドメイン全体に適用するGPO(Default Domain Policy)

Default Domain Policy ADインストール時に自動作成されるドメイン全体に適用されるGPO。パスワードポリシー・アカウントロックアウトポリシーの設定場所として使用する。

Default Domain Policyはパスワードポリシーとアカウントロックアウトポリシーの設定にのみ使うのが原則です。それ以外の設定を詰め込むと、後述する「何が適用されているかわからない」問題の原因になります。

OU単位で適用するGPO

OU単位のGPOは「そのOUにだけ適用したい設定」を入れます。GPOの名前は適用対象と目的が一目でわかるように命名します。

命名例:

GPO_Workstations_ScreenLock    ← 全端末への画面ロック設定
GPO_Users_USB_Restrict         ← 一般ユーザーへのUSB制限
GPO_Admin_PasswordPolicy       ← 管理者OUへの強化パスワード設定
GPO_Dev_USB_Allow              ← 開発部OUへのUSB許可(例外)

1つのGPOに1つの目的を原則にすることで、後から変更・削除が容易になります。

管理者OUとユーザーOUで分けて設計する

管理者アカウントには一般ユーザーより強いポリシーを適用します。

対象 設定例
管理者OU より長いパスワード要件・ログオン時間制限・特定端末からのみログオン許可
一般ユーザーOU 標準パスワードポリシー・画面ロック・USB制限
サーバOU ファイアウォール設定・監査ポリシー・不要サービスの無効化

最小権限の観点でのアカウント設計については「最小権限の原則とは?実務での考え方と設計例」を参照してください。

GPO運用でよくある失敗パターン

① Default Domain Policyに何でも詰め込む

最も多い失敗です。画面ロック・USB制限・ソフトウェア配布など、あらゆる設定をDefault Domain Policyに入れてしまうケースです。

問題は「特定のOUだけ設定を変えたい」ときに対応が困難になることです。Default Domain Policyはドメイン全体に適用されるため、一部だけ例外を作ろうとすると複雑な継承ブロックが必要になります。Default Domain Policyはパスワードポリシーとロックアウトポリシーのみという原則を守ってください。

② GPOが多すぎて何が適用されているかわからない

場当たり的にGPOを作り続けた結果、「どのGPOが何を設定しているか誰もわからない」状態になります。GPOの数が増えるほど適用順序の把握が困難になり、トラブルシューティングに膨大な時間がかかります。

GPOは定期的に棚卸しを行い、使われていないGPOを削除することが重要です。

③ テストせずに本番適用して障害が発生する

新しいGPOを本番環境に直接適用して、業務システムが動かなくなるケースがあります。特にファイアウォール設定・ソフトウェア制限ポリシーは影響範囲が大きく注意が必要です。

必ずテスト用OUで動作確認してから本番OUに適用する手順を徹底してください。

④ 適用結果を確認する手段を知らない(gpresult)

GPOを設定したあと「本当に適用されているか」の確認方法を知らないまま運用しているケースがあります。

gpresult コマンドを使うことで、特定のユーザー・コンピューターに適用されているGPOの一覧と設定内容を確認できます。

gpresult /r              ← 現在のユーザー・コンピューターへの適用結果を表示
gpresult /h report.html  ← HTML形式で詳細レポートを出力

gpresult 特定のユーザーまたはコンピューターに適用されているGPOの一覧と設定内容を確認するコマンド。GPOのトラブルシューティングに必須のツール。

設定が意図通りに適用されているかの確認を必ず行う習慣をつけてください。

参考:Gpresult | Microsoft Learn

GPO設計チェックリスト

設計面

  • Default Domain Policyはパスワード・ロックアウトポリシーのみか
  • GPOの名前から適用対象と目的が一目でわかるか
  • 1つのGPOに1つの目的で作成しているか
  • コンピューター設定とユーザー設定を適切なOUに分けているか
  • 管理者OUに強化ポリシーを適用しているか

必須設定

  • パスワードポリシー(12文字以上・複雑性有効)が設定されているか
  • アカウントロックアウトポリシーが設定されているか
  • 画面ロック・スクリーンセーバーが設定されているか
  • USBストレージの制限が設定されているか
  • Windowsファイアウォールの強制有効化が設定されているか

運用面

  • 本番適用前にテスト用OUで動作確認しているか
  • gpresult で適用結果を確認しているか
  • 不要なGPOの棚卸しルールが定められているか
  • GPOの変更履歴を記録しているか

まとめ——GPOはOU設計とセットで考える

GPOはADの中で「設定を守る仕組み」として機能します。パスワードポリシー・画面ロック・USB制限——これらを個別設定に頼らずGPOで一元管理することで、セキュリティポリシーの一貫性を保証できます。

ただしGPOはOU設計なしには正しく機能しません。「どのOUにどのGPOをリンクするか」の設計がGPOの効果を左右します。OU設計を固めてからGPO設計に入るという順序を守ってください。

次のステップはユーザーとグループ管理の設計です。GPOで設定を配布しても、アカウントとグループの設計が甘ければ権限管理が崩れます。「ADのユーザーとグループ管理|最小権限を実現する設計パターン」で詳しく解説します。

GPOを実際に設定して動作確認したい方は、
AD演習編 Vol.1|VirtualBoxでAD環境をゼロから構築する」でVirtualBox上に
で検証環境を構築してから試してみてください。

 

あわせてご覧ください

コメント

タイトルとURLをコピーしました