Active Directoryを管理していると、新たに作成したはずの権限がないユーザーが、なぜかADUC上でオブジェクトを変更できてしまうケースに直面することがあります。こうした状況に気づくと、何か見落としや誤設定があるのではないかと不安になるでしょう。ここでは、その原因や確認すべきポイント、具体的な対策について詳しく解説します。
Active Directoryにおける権限構造の基本
Active Directory(以下、AD)では、ドメインコントローラー(DC)上のディレクトリサービスを通じてユーザーやコンピューター、グループなどのオブジェクトを統合管理しています。これらのオブジェクトにはセキュリティに関わるさまざまな属性が含まれ、通常は組織の管理者や運用担当者が厳密にアクセス制御を行います。
しかしながら、ADはデフォルトの状態でも多岐にわたる権限や継承設定があり、気づかないうちに特定のユーザーやグループに想定以上の編集権限が付与されている場合があります。特に新規に作成したユーザーがADオブジェクトを編集できてしまうという問題は、原因を特定できないと深刻なセキュリティリスクにつながる恐れがあります。
ADにおける権限の種類
ADの権限には大別すると以下のようなものがあります。
権限の種類 | 概要 |
---|---|
フルコントロール | オブジェクトの読み取り・書き込み・削除を含むすべての操作を許可 |
読み取り(Read) | オブジェクトの属性を閲覧できる |
書き込み(Write) | オブジェクトの属性を変更できる |
削除(Delete) | オブジェクトを削除できる |
権限の変更(Modify Permissions) | 所有者変更やACLの編集ができる |
上記のように、権限は細かく分割されていますが、多くの場合「フルコントロール」を与えるとすべての操作が可能になります。新規作成したユーザーが、何らかの継承やグループmembershipによって「フルコントロール」もしくは「書き込み」権限を得ていると、ADUC上でユーザー情報の編集やOUの編集が可能になってしまうのです。
新規ドメインユーザーが編集権限を持ってしまう原因
新しく作成したはずのドメインユーザーがADオブジェクトを編集できる原因には、さまざまな可能性があります。代表的な原因と、チェックすべきポイントを見ていきましょう。
1. 有効なアクセス権(Effective Access)の確認不足
ADUCのオブジェクト(ユーザーやOUなど)には、複数の権限設定が重複して適用される場合があります。そこで重要なのが「有効なアクセス権(Effective Access)」です。下記の手順で誰がどのような権限を持っているかを調べられます。
- ADUCを起動し、問題のあるオブジェクト(ユーザーまたはOUなど)を右クリックし、「プロパティ」を選択します。
- 「セキュリティ」タブを開き、「詳細設定」をクリックします。
- 「実効アクセス」または「有効なアクセス権」というタブ(またはボタン)を開き、対象のユーザー名またはグループを指定します。
この画面を確認することで、継承も含め、最終的にそのユーザーにどのような権限が割り当てられているかが分かります。想定外の権限が付いている場合は、どのグループ経由で継承されているのかを追跡し、不要な権限を解除または修正しましょう。
具体的なトラブルシューティング例
例えば、「実効アクセス」で確認した際に、新規ユーザーが「Domain Admins」グループのメンバーシップを持っているように見える場合、実際にはそのユーザーが別のグループ経由で「Domain Admins」に追加されている可能性があります。グループの入れ子構造が複雑になっていると、気付かないうちに管理者レベルの権限が付与されるケースもあります。
2. グループメンバーシップまたは誤った権限の割り当て
ADには既定で強い権限を持つグループが存在し、「Domain Admins」や「Enterprise Admins」、「Account Operators」などは代表的です。これらのグループに属しているユーザーは、ADオブジェクトの編集や管理を容易に行えます。したがって、新規ユーザーが以下のようなグループに誤って所属していないかチェックしましょう。
グループ名 | 主な権限 |
---|---|
Domain Admins | ドメイン全体に対するフルコントロール |
Enterprise Admins | フォレスト全体に対するフルコントロール |
Account Operators | ユーザーやグループの作成、管理など |
また、「Server Operators」や「Backup Operators」なども特定の管理権限を持つグループです。不要なメンバーシップがないか、ユーザーだけではなくグループの入れ子構造(ネスト)も合わせて確認するのが大切です。PowerShellを使うと効率的にグループメンバーシップを確認できます。たとえば、以下のコマンドでユーザーが所属するグループを表示できます。
Get-ADUser -Identity <ユーザーアカウント> -Properties memberOf | Select-Object -ExpandProperty memberOf
この出力をもとに、不要なグループへの所属があれば、メンバーシップを削除します。
3. 権限継承(インヘリタンス)による影響
ADでは組織単位(OU)やコンテナなどの上位階層で設定されたアクセス制御リスト(ACL)が、下位のオブジェクトに継承されることがあります。これを権限継承(インヘリタンス)と呼びます。たとえば、上位OUに「フルコントロール」を付与したユーザーやグループが設定されていると、下位のOUやユーザーオブジェクトにも同じ権限が継承されることになるのです。
ADUCの「セキュリティ」タブでは、継承を無効にすることができますが、既に不要な権限が継承されている場合は、これを解除または適切に再設定しなければなりません。
継承解除の具体的な手順
- ADUCで対象のOUを右クリックして「プロパティ」を開き、「セキュリティ」タブから「詳細設定」をクリックします。
- 「継承を有効にする」のチェックを外すか、「子オブジェクトへの継承をブロック」(バージョンによって文言が異なる)などのオプションを利用します。
- 継承をブロックする際に、既に継承されている権限を保持するかどうか選択できます。不要な権限は削除し、必要最小限の設定を残すのが望ましいです。
ただし、継承を安易に無効化すると複雑なACLの管理が発生する恐れがあります。運用ポリシーや管理負荷を考慮のうえで設定変更しましょう。
対策と解決策
ここからは、具体的な対策や解決策の手順を詳しく見ていきます。
1. 実効アクセスの定期的な点検
まずは、意図しない権限を防ぐために、定期的に実効アクセスを点検する習慣をつけましょう。特に重要OU(管理者アカウントやサーバー関連アカウントが格納されたOUなど)には定期的に目を光らせることが必要です。
また、権限を精査する際には以下のようなフローを踏むと効率的です。
- 重要OU(または重要アカウント)のセキュリティタブを開く
- 実効アクセスで想定外の権限がないかチェック
- 必要があれば元設定を辿り、不要な権限を解除
こうした作業を自動化するために、PowerShellスクリプトを用いてACLの情報をエクスポートしておく方法もあります。たとえば「Get-Acl」コマンドレットを利用して、OUやユーザーのACL設定をCSV形式で記録すると、履歴管理や比較が容易になります。
2. グループポリシーと紐づく設定の確認
グループポリシー(GPO)を使用して権限を委任している場合や、コンピュータ構成/ユーザー構成のセキュリティ設定が何らかの影響を与えている場合もあります。GPOには「ユーザー権利の割り当て」や「セキュリティオプション」など数多くの設定項目が存在します。ドメインに適用されるすべてのGPOを洗い出して、新規ユーザーが影響を受けるような設定がないか確認してみてください。
GPMC(グループ ポリシー管理コンソール)での確認例
- GPMCを起動してドメインを展開し、適用されているグループポリシーオブジェクトを一覧表示します。
- 問題が疑われるGPOを右クリックし、「編集」を選択します。
- 「コンピューターの構成」または「ユーザーの構成」内の「ポリシー」→「Windowsの設定」→「セキュリティ設定」→「ローカルポリシー」などを細かく確認します。
不要な権限委任やアカウント権利付与がされていないかを注意深くチェックしましょう。
3. 監査(Auditing)の有効化とログの分析
誰がいつ、どのオブジェクトに変更を加えたかを追跡するためには、ADの監査ログを有効化することが効果的です。Windows Serverの監査ポリシーで「ディレクトリサービスのアクセス」を監査対象に指定しておくと、イベントビューアーでオブジェクトへのアクセスや変更がログに記録されます。
監査を有効にすることで、不審な操作があった場合にも即座に気づくことができます。具体的には以下のような流れで設定します。
- グループポリシーまたはローカルポリシーで「ディレクトリサービスのアクセス監査」を有効化
- 監査したいOUやオブジェクトの「セキュリティ」→「詳細設定」→「監査」タブにて、特定ユーザーやグループ、もしくはEveryoneに対して書き込み・削除などの操作を監査するよう設定
- イベントビューアー(Windows ログ → セキュリティ)で実際の操作記録を確認
監査は細かく設定しすぎると膨大なログを生成し、運用が煩雑になる恐れがあります。自社のセキュリティポリシーや運用リソースを考慮し、重要度の高い操作のみを監査対象とするなど、バランスを取りながら実装することをおすすめします。
4. 不要な権限の削除・最低限の権限の付与
誤った権限設定が見つかった場合は、速やかに削除または修正し、業務に必要な最小限の権限だけを付与する「最小権限の原則(Principle of Least Privilege)」を徹底しましょう。通常業務においてユーザーがADオブジェクトを頻繁に編集する必要がない場合、読み取り権限のみで十分なはずです。
Delegation of Controlウィザードの活用
特定のユーザーやグループに部分的な管理権限を与える場合には、ADUCの「Delegation of Controlウィザード」を使うと便利です。ウィザードを通じて、例えば「このOU配下のユーザーに対してパスワードリセットのみを許可する」などのきめ細かい権限設定が可能です。ただし、ウィザードを安易に使うと、意図しない設定ミスを引き起こしやすいので、最後に必ず「セキュリティ」タブから実効アクセスを確認しましょう。
運用上のベストプラクティス
最後に、こうした問題を未然に防ぐためのベストプラクティスをまとめます。
1. OU構造の整理とドキュメント化
ADのOU構造が複雑すぎると、権限の継承経路が複雑化しがちです。OUを用途(部署別や役割別など)で合理的に区分し、定期的に構造を見直すことが重要です。また、権限設定の変更は必ずドキュメント化し、誰がいつ変更したかを把握できるようにしておきましょう。
2. グループの入れ子構造を適切に管理する
グループの入れ子(ネスト)が増えれば増えるほど、権限の追跡が難しくなります。不要な入れ子構造がないか定期的に確認し、見つかった場合は解消を検討しましょう。ドメイン管理者クラスのグループは特に慎重に運用し、追加・削除の申請フローを厳格にすることで誤設定を防止できます。
3. 権限レビューの定期実施
AD管理においては、一度設定した権限を放置してしまいがちですが、組織の変更や人事異動などで必要な権限も変化します。年に1回などの定期サイクルで権限レビューを実施し、不要権限の洗い出しと削除を行うことが大切です。
4. 強固なパスワードポリシーと多要素認証(MFA)
ユーザーが不必要に強い権限を持っていたとしても、そのアカウントが簡単に乗っ取られてしまうと攻撃者は自由にADを操作できてしまいます。パスワードポリシーの適切な設定や、多要素認証(MFA)の導入などによってアカウントのセキュリティを強化することも重要な対策です。
まとめ
新規に作成したドメインユーザーがActive Directoryのオブジェクトを編集できてしまう問題は、権限設定やグループメンバーシップ、継承設定など、複数の要因が絡み合って発生することが少なくありません。まずは「実効アクセス」のチェックや「グループメンバーシップ」の確認、そして権限の継承(インヘリタンス)の状況を把握し、問題となっている権限設定を特定することが第一歩です。
さらに、監査ログを有効化してログを分析することで、不要な操作や設定ミスがないかを継続的にモニタリングできます。加えて、「最小権限の原則」を徹底し、不要な権限を排除することで、セキュリティリスクを最小化することができます。最終的には、OU構造の見直しや権限レビューの定期実施などのベストプラクティスを取り入れ、AD管理をより安全かつ効率的に運用していくことが重要です。
コメント