0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Active Directory 】GPOの優先順位をAWS EC2上で検証してみた

Posted at

#目次
1.はじめに
2.検証結果_gpoの優先順位
3.検証準備_ec2の作成および日本語化
4.検証準備_adインストールおよびdc昇格
5.検証_gpoの優先順位
6.まとめ

#はじめに
Windows Serverの機能で、ユーザや機器の集中管理に利用できるActive Directoryですが、GPO(グループポリシーオブジェクト)の優先順位で時々混乱してしまうため、記事として整理しました。

GPOの優先順位で混乱することを減らすためには実際に手を動かすことが有効であると考え、実機を通した検証を行いました。尚、Active Directoryを使用するためにはWindows Serverが必要になってきますが、今回はAWSのEC2にてWindows Server2019を用意し、検証を実施しています。

#検証結果_gpoの優先順位

今回2つの検証を実施しますが先に結果をまとめておきます。
###検証内容
①「競合するGPO」
→競合するGPOが存在するときの優先順位はどうなるか?
②「強制」 VS 「継承のブロック」
→GPOの「強制」設定と「継承のブロック」設定はどちらが優先されるか?
###検証における構成
スクリーンショット (85).png
・「test」OUを作成する。また、「test」OUの配下に「test-admin」OUを作成する。
・「test-admin」OUにドメインユーザ「Administrator」を所属させる。
・コントロールパネルへのアクセスを拒否するGPO「Deny-Control」を作成し、「test」OUにリンクさせる。
・コントロールパネルへのアクセスを許可するGPO「Allow-Control」を作成し、「test-admin」OUにリンクさせる。
###検証の結果
①「競合するGPO」
→上記のような構成の場合、ユーザ「Administrator」はコントロールパネルへのアクセスが許可される。
→より近い階層のGPO(Allow-Control)が優先される!

②「強制」 VS 「継承のブロック」
→「Deny-Control」に「強制」の設定をし、「test-admin」OUに「継承のブロック」設定をした場合。
→ユーザ「Administrator」はコントロールパネルへのアクセスが拒否される。
「強制」の設定が優先される。

結果としては上記のようになりますが、実際に実機にて確認されたい場合は次章以降を参考として頂ければと思います。

#検証準備_ec2の作成および日本語化
まずはAWSにてEC2を作成していきます。また、今回利用するAMIが英語版のWindowsServerのため、利用言語設定にて日本語が使用できるようにします。

・AWSマネジメントコンソールにログイン後、EC2の画面より、「インスタンスを起動」を押下する。
スクリーンショット (5).png

・AMIの選択画面で「Microsoft Windows Server 2019 Base」の「選択」を押下する。
スクリーンショット (8).png

・インスタンスタイプの選択画面で、デフォルトの「t2.micro」のまま「次のステップ:インスタンスの詳細の設定」を押下する。
スクリーンショット (9).png

・インスタンスの詳細の設定画面で、「ネットワーク」、「サブネット」を今回はデフォルトのものを選択、「自動割り当てパブリックIP」を「有効」にして、「次のステップ:ストレージの追加」を押下する。
スクリーンショット (10).png

・デフォルトのストレージのまま、「次のステップ:タグの追加」を押下する。
スクリーンショット (11).png

・今回は「キー」に「Name」、「値」に「AD」と入力し、「次のステップ:セキュリティグループの設定」を押下する。
スクリーンショット (12).png

・「新しいセキュリティグループを作成する」を選択し、今回は「セキュリティグループ名」、「説明」を「Windows-SG」とする。「RDP」が許可されていることを確認し、「確認と作成」を押下する。
※一時的な検証用のため、ソースは「0.0.0.0/0」としておく。
※今回の検証自体には支障が起きないが、ADサーバとして本格運用する際はDNS等、いくつかのプロトコルを許可する必要がある。
スクリーンショット (13).png

・インスタンス作成の確認画面にて「起動」を押下する。
スクリーンショット (14).png

・新しいキーペアを作成しダウンロードするか、既存のキーペアがあれば選択し、「インスタンスの作成」を押下する。
スクリーンショット (15).png

・インスタンスが作成されたことを確認し、チェックを入れた上で、「接続」を押下する。
スクリーンショット (16).png

・「RDPクライアント」にて、「パスワードを取得」を押下する。
スクリーンショット (17).png

・「Browse」にてキーペアを選択し、内容がテキストボックスに表示されることを確認してから、「パスワードを復号化」を押下する。
スクリーンショット (18).png

・Administratorのパスワードが表示されたらコピーをしておく。
スクリーンショット (19).png

・リモートデスクトップ接続にて、今回作成したEC2インスタンスのパブリックIPアドレスを入力し、「接続」を押下する。
スクリーンショット (20).png

・ユーザ名:Administrator、パスワード:先ほどコピーしたパスワードを貼り付け、「OK」を押下する。
スクリーンショット (21).png

・EC2インスタンスにログイン後、スタートメニューから「Settings」を押下する。
スクリーンショット (22).png

・「Time & Language」を押下する。
スクリーンショット (23).png

・「Language」を押下する。
スクリーンショット (24).png

・「Add a language」を押下する。
スクリーンショット (25).png

・「日本語」を選択し、「Next」を押下する。
スクリーンショット (26).png

・「Install」を押下する。
スクリーンショット (27).png

・インストールが開始されるので、完了まで数分待つ。
スクリーンショット (28).png

・「Will be display language after next sign-in」と表示されてから、「Sign out」をする。
スクリーンショット (29).png

・再度EC2インスタンスにAdministratorでリモート接続し、スタートメニューの表示が日本語となっていることを確認。「コンピュータの管理」を押下する。
スクリーンショット (30).png

・「ローカルユーザーとグループ」→「ユーザー」内、現在サインインしているローカルアカウント「Administrator」が存在することを確認する。
スクリーンショット (31).png

#検証準備_adインストールおよびdc昇格
次に、作成および日本語化したEC2インスタンスに対し、Active Directoryのインストール、ドメインコントローラーへの昇格を実施します。

・スタートメニューから「サーバーマネージャー」を押下する。
スクリーンショット (32).png

・「役割と機能の追加」を押下する。
スクリーンショット (33).png

・「次へ」を押下する。
スクリーンショット (34).png

・「役割ベースまたは機能ベースのインストール」が選択されていることを確認し、「次へ」を押下する。
スクリーンショット (35).png

・今回作成したサーバーが表示されるので、「次へ」を押下する。
スクリーンショット (36).png

・「Active Directory Domain Service」にチェックを入れる。
スクリーンショット (37).png

・ポップアップが表示されるので、「機能の追加」を押下する。
スクリーンショット (38).png

・「Active Directory Domain Service」にチェックが入ったことを確認し、「次へ」を押下する。
スクリーンショット (39).png

・機能の選択でデフォルトのまま、「次へ」を押下する。
スクリーンショット (40).png

・「次へ」を押下する。
スクリーンショット (41).png

・「インストール」を押下する。
スクリーンショット (42).png

・インストールが開始されるので数分待つ。
スクリーンショット (43).png

・サーバーマネージャーのフラグより、機能のインストール完了が確認できたら、「このサーバーをドメインコントローラーに昇格する」を押下する。
スクリーンショット (44).png

・「新しいフォレストを追加する」を選択し、ドメイン名を入力後(今回はtest.localとした)、「次へ」を押下する。
スクリーンショット (45).png

・ディレクトリサービス復元モードのパスワードを設定し、「次へ」を押下する。
スクリーンショット (46).png

・デフォルトのまま、「次へ」を押下する。
スクリーンショット (47).png

・「NetBIOSドメイン名」が自動入力されることを確認し、「次へ」を押下する。
スクリーンショット (48).png

・デフォルトのパス指定のまま、「次へ」を押下する。
スクリーンショット (49).png

・「次へ」を押下する。
スクリーンショット (50).png

・「インストール」を押下する。
スクリーンショット (51).png

・インストールが開始され、しばらくすると自動的にOS再起動が実施され、リモートデスクトップ接続のセッションが切断される。
スクリーンショット (52).png

・「ドメイン名¥Administrator」にて再度、リモートデスクトップ接続を実施する。
パスワードはローカルのAdministratorで使用していたものと同一
スクリーンショット (53).png

・ドメインのAdministratorでログイン後、「コンピュータの管理」を開き、「ローカルユーザーとグループ」の項目が存在しなくなったことを確認する。
※ドメインコントローラーに昇格後、ローカルユーザーはドメインユーザーに移行される。
スクリーンショット (54).png

・「サーバーマネージャー」から「Active Directory ユーザーとコンピューター」を押下する。
スクリーンショット (55).png

・「Users」コンテナー内、現在ログインしているドメインのAdministratorが存在することを確認する。
スクリーンショット (56).png

・「ドメイン名を右クリック」→「新規作成」→「組織単位(OU)」を押下する。
スクリーンショット (57).png

・OU名を入力し(今回はtest)、「OK」を押下する。
スクリーンショット (58).png

・「作成されたOUを右クリック」→「新規作成」→「組織単位(OU)」を押下する。
※「test」OU配下に別のOUを作成する。
スクリーンショット (59).png

・OU名を入力し(今回はtest-admin)、「OK」を押下する。
スクリーンショット (60).png

・「test」OU、「test-admin」OUが作成されたことを確認し、「Users」コンテナー内、「Administratorを右クリック」→「移動」を押下する。
スクリーンショット (61).png

・移動先として、「test-admin」OUを選択し、「OK」を押下する。
スクリーンショット (62).png

・「test-admin」OU内にAdministratorが移動されたことを確認する。
スクリーンショット (63).png

#検証_gpoの優先順位

ここから先はGPOを作成し、2つの検証を実施していきます。まずはGPOの作成からです。

・「サーバーマネージャー」から「グループポリシーの管理」を押下する。
スクリーンショット (64).png

・「グループポリシーオブジェクト」を右クリックし、「新規」を押下する。
スクリーンショット (65).png

・GPOの名前(今回はDeny-Control)を入力し、「OK」」を押下する。
スクリーンショット (66).png

・「Deny-Control」GPOが作成されることを確認する。
スクリーンショット (67).png

・「test」OUを右クリック→「既存のGPOのリンク」を押下する。
スクリーンショット (68).png

・「Deny-Control」を選択し、「OK」を押下する。
スクリーンショット (69).png

・「test」OUに「Deny-Control」がリンクされること、また「test-admin」OUにもグループポリシーの継承より、「Deny-Control」が適用されることを確認する。
スクリーンショット (70).png

・「Deny-Control」→「編集」を押下する。
スクリーンショット (71).png

・「ユーザーの構成」→「ポリシー」→「管理用テンプレート」→コントロールパネル」→「コントロールパネルとPC設定へのアクセスを禁止する」を右クリック→「編集」を押下する。
スクリーンショット (72).png

・「有効」を選択し、「OK」を押下する。
スクリーンショット (73).png

・「Deny-Control」の設定を適用させるため、一度、サインアウトした後、再度ドメインのAdministratorでサインインする。

・「Windows+R」キー→「control」と入力→「OK」を押下する。
スクリーンショット (74).png

・「Deny-Control」の設定により、コントロールパネルが開けないことを確認する。
スクリーンショット (75).png

ここで1つ目の検証を実施します。
##①競合するGPOの優先度
「test-admin」OUに対し、「Allow-Control」GPO(コントロールパネルへのアクセスを許可する)をリンクさせた場合、Administratorによるコントロールパネルへのアクセスがどうなるか。

・「Allow-Control」のGPOを作成する。
スクリーンショット (76).png

・「Allow-Control」を右クリック→「編集」を押下する。
スクリーンショット (77).png

・「ユーザーの構成」→「ポリシー」→「管理用テンプレート」→コントロールパネル」→「コントロールパネルとPC設定へのアクセスを禁止する」を「無効」に設定する。
スクリーンショット (78).png

・「test-admin」OUに「Allow-Control」をリンクさせ、「グループポリシーの継承」にて、優先順位が最も高くなっていることを確認する。
スクリーンショット (79).png

・GPOの設定を適用させるため、一度、サインアウトした後、再度ドメインのAdministratorでサインインする。

・「Windows+R」キー→「control」と入力→「OK」を押下し、コントロールパネルが開けることを確認する。
スクリーンショット (80).png

###検証「競合するGPO」の結果

→オブジェクト(今回の場合、ユーザ「Administrator」)に近い階層のGPOが優先される!

##②「強制」 VS 「継承のブロック」
検証①ではAdministratorが「Deny-Control」よりも、「Allow-Control」に近い階層であるため、コントロールパネルを開けることを確認しました。

そこで、「Deny-Control」に対し、「強制」の設定を適用してみます。

・「Deny-Control」を右クリック→「強制」を押下
スクリーンショット (81).png

・Administratorが所属する「test-admin」OUの「グループポリシーの継承」から、「Deny-Control」が強制となり、最も優先度が高くなっていることを確認します。
スクリーンショット (82).png

・この状態で、サインアウトし、再度Administratorでログインした際、コントロールパネルは開けなくなっています。そこで、次に「継承のブロック」を設定してみます。

・「test-admin」OUを右クリック→「継承のブロック」を押下する。
スクリーンショット (83).png

・「Default Domain Policy」は継承のブロックにより、適用されなくなったが、「Deny-Control」は依然として強制となり、優先順位が最も高いことを確認する。
スクリーンショット (84).png

・この状態で、サインアウトし、再度Administratorでログインしても、コントロールパネルは開けなくなっていることを確認する。
スクリーンショット (75).png

###検証「「強制」 VS 「継承のブロック」」の結果

→「強制」が優先して適用される。

#まとめ
今回、Active DirectoryにおけるGPOの優先順位を検証してみました。実際に手を動かすことで理解度も上がり、より知識の定着ができたと感じます。また、このようにチョコっと検証を行う上で、クラウドサービス(今回はAWS)は非常に便利だと実感しました。

以上、最後まで読んで頂きありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?