ウェブサイト検索

避けるべき13のActive Directoryのミス


アクティブディレクトリ(AD)は、ユーザーとリソースを管理するために重要ですが、誤りはセキュリティリスクや非効率につながる可能性があります。使用されていないアカウントから誤って設定された権限まで、一般的な誤った設定は、業務やコンプライアンスに影響を与える可能性があります。この記事では、避けるべき最も一般的なADの誤りと私の推奨事項について説明します。

この記事では

  1. 特権グループ(ドメイン管理者)にユーザーを過剰に追加すること
  2. 日常業務に特権アカウントを使用すること
  3. 複数のパスワードポリシーの設定
  4. すべてのADオブジェクトに対する命名規則はありません
  5. 説明欄を使用していません
  6. フラットOUデザイン
  7. 制約のない委任が有効です
  8. Kerberosの前認証が無効になっています
  9. 古いアカウントを掃除しないこと
  10. DNSの誤設定
  11. システム状態のバックアップなし
  12. デフォルトドメインポリシーの過剰使用
  13. 監査が無効です

特権グループ(ドメイン管理者)にユーザーを過剰に追加すること

特権グループ、例えばドメイン管理者の過剰使用は、これらのグループにユーザーが多く追加されると発生します。ドメイン管理者グループはActive Directoryに対して完全な制御を持ち、そのメンバーはデータのアクセス、アカウントの削除、パスワードのリセット、権限の変更などの操作を行うことができます。これらのグループ内のアカウントは、攻撃者にとっての primeターゲットであり、企業の機密データへの簡単なアクセスを提供します。ドメイン管理者の使用を最小限に抑えることはリスクを軽減し、最小権限の原則を遵守し、アカウントが侵害された場合の完全なドメイン侵害を防ぐのに役立ちます。

Active Directoryの他のいくつかの組み込み特権グループは、ドメイン管理者と同じガイドラインに従うべきです。

✅解決策

  • ドメイン管理者およびその他の特権グループのメンバーをレビューします。
  • これらのグループのメンバーを行政スタッフのみに制限してください。一般のユーザーはこれらのグループのメンバーであってはなりません。
  • 最小特権の原則に従い、管理者は日常業務と特権操作のために別のアカウントを持つべきです。

日常業務に特権アカウントを使用すること

特権アカウントでコンピュータにログインし、メールの確認、インターネットの閲覧、機密データへのアクセス、アプリケーションの使用などの日常的な作業をしないでください。

✅解決策

日常業務に必要な最小限の権限を持つ別のアカウントを持つべきです。

特権アカウントは、ユーザーの作成、グループメンバーシップの更新、グループポリシーの管理などの管理作業にのみ使用してください。

詳細については、最小特権モデルの実装に関するMicrosoftの記事をご覧ください。

複数のパスワードポリシーの設定

複数のパスワードポリシーを持つことは問題ありませんが、正しい設定方法と間違った設定方法があります。私はよく、組織が間違った方法で設定し、その後なぜ機能しないのかと尋ねるのを見かけます。

グループポリシーでは、ドメインユーザーに対して1つのパスワードポリシーしか設定できません。これは通常、デフォルトのドメインポリシーGPOで構成されます。

間違った方向

パスワードポリシー設定が定義された複数のGPOを作成し、それをOUまたはルートドメインにリンクします。

✅解決策(正しい方法)

複数のパスワードポリシーが必要な場合、正しい方法は細かいパスワードポリシーを使用することです。パスワードポリシーが設定されたグループポリシーは1つだけです。他のポリシーは無視されます。グループポリシーのパスワードポリシーをデフォルトのドメインポリシーGPOに設定することをお勧めします。

すべてのADオブジェクトに対する命名規則はありません

アクティブディレクトリオブジェクト(ユーザー、コンピュータ、グループなど)に対する標準化された命名規則は不可欠であり、管理を簡素化します。明確な命名規則がないと、ADオブジェクトは混乱する可能性があり、その目的の特定に時間が無駄になることがあります。これは不正な権限、重複アカウント、セキュリティ上の脆弱性を引き起こす可能性もあります。アクティブディレクトリ管理者として、アカウントの目的を名前で迅速に特定することが重要だと感じています。一貫した命名規則により、オブジェクトが均一に作成され、AD管理がより効率的で安全になります。

✅解決策

  • Active Directoryオブジェクト(ユーザー、コンピュータ、グループ、OU、グループポリシー、サービスアカウント)に対する名前の規約を実施してください。できるだけ説明的にすることが重要です。オブジェクトを見て何に使われているのか、どこで使われているのかを迅速に把握できるのが役立ちます。

例

これは単なる例ですので、自分自身の命名規則を考え出すことができます。

  • ユーザー名: FirstName.LastName (robert.allen)
  • サービスアカウント: SVCのようなプレフィックスを使用します(SVC_lansweeper)
  • グループ

    • プレフィックス、部門または位置、目的、範囲
    • 例、SG-SA-フォルダーアクセス-D
  • コンピューター

    • タイプ、部門/所在地、ID
    • 例:W-IT-001
  • グループポリシー

    • 例:コンピュータ - LAPSすべて

説明フィールドを使用しない

Active Directoryのユーザー、グループ、コンピュータ、および組織単位には、説明フィールドが利用可能です。

しかし…それはしばしば使われていません。

優れた命名規則があっても、特定のオブジェクトに説明を追加することは良いアイデアです。通常のアカウントには説明は必要ないかもしれませんが、特別なアカウント、サービスアカウント、およびグループには強くお勧めします。

✅解決策

特別アカウント、サービスアカウント、およびグループ(すべてのグループ)に説明を追加してください。オブジェクトが何に使用されるかを誰でも理解できるように、オブジェクトに簡単な説明を付けてください。

説明のあるグループ

説明付きのサービスアカウント

GPOにはコメントボックスがあることをご存知でしたか?残念ながら、それを見るにはGPOを開いて編集する必要があります。しかし、GPOを管理する管理者には依然として役立ちます。

フラットOUデザイン

Active DirectoryにおけるフラットOUデザインとは、オブジェクト(ユーザー、コンピュータ、グループ)がほとんどまたは全く階層を持たずに単一のOUに配置されることです。

例えば、あなたには200人のユーザーと300台のコンピューターがあり、それらはすべて単一のOUに配置されています。フラットなOU設計は、GPOを適用し、詳細な権限を委任することを困難にし、混乱を引き起こす可能性があります。

✅解決策

階層的なOUデザインを実装します。

階層的なOUデザインは、組織構造(例:部門、位置、または機能)を反映するためにネストされたOUを使用し、細かなGPOの適用と委任を可能にします。例えば:

  • OU: ADPro ユーザー

    • OU: 会計
    • OU: 法的
    • OU: 管理
  • OU:ADProグループ

    • OU: 会計
    • OU: 法的
    • OU: 管理
  • OU: ADPro コンピュータ

    • OU: 会計
    • OU: 法的
    • OU: 管理

これは私のテストラボからのスクリーンショットです。ユーザー、グループ、コンピュータをそれぞれのOUに配置し、その後、各部署や機能のためにネストされたOUを追加したのを見ることができます。

制約のない委任が有効

制約のない委任が有効になっているとは、コンピュータオブジェクトが「このコンピュータを任意のサービス(Kerberosのみ)への委任を信頼する」にチェックが入っている状態を指します。

制約のない委任は重大なセキュリティリスクです。なぜなら、侵害されたコンピュータがドメイン全体へのアクセスを得ることを可能にするからです。これは、サーバーに認証された任意のユーザーになりすますことによって行われ、ドメイン管理者のような特権アカウントも含まれる可能性があります。

✅解決策:

「このコンピュータをどのサービスにも委任するために信頼する(Kerberosのみ)」が有効になっているコンピュータアカウントを確認してください。PowerShellやAD Pro Toolkitを使えば、これらのアカウントを簡単に見つけることができます。

PowerShell

Get-ADComputer -Filter {TrustedForDelegation -eq $true}

ADプロツールキット

レポート > コンピューターレポート > 委任のために信頼されているコンピュータをクリックします

Kerberosの前認証が無効になっています

Kerberosの事前認証が無効になっているのは、Active Directoryのユーザーアカウントに「Kerberos事前認証を必要としない」が有効になっている場合です。

この設定は、最初に認証を行うことなくパスワードを解読できるようにするため、アカウントのセキュリティを弱めます。

Kerberos事前認証とは何ですか?

Kerberosのプレ認証が有効な場合、ユーザーはパスワードハッシュを使用して暗号化されたタイムスタンプを含む認証サーバー要求(AS-REQ)をドメインコントローラー(DC)に送信します。DCはタイムスタンプを復号化してパスワードを検証し、成功した場合にはチケットを発行するためのチケットグラントチケット(TGT)を含む認証サーバー応答(AS-REP)で応答します。AS-REPの一部はセキュリティのためにユーザーのパスワードハッシュで署名されています。

Kerberos事前認証が無効になっているとはどういう意味ですか?

事前認証が無効になっている場合(ユーザーアカウントで「Kerberos事前認証を要求しない」を有効にすることによって)、Kerberos鍵配布センター(KDC)は、パスワードが不正確であっても、認証要求に対して暗号化されたTGTで応答します。これにより、そのアカウントは脆弱であり、パスワードを解読するためのブルートフォース攻撃に対して弱くなります。

✅解決策

AD Pro Toolkitを使用して、Kerberosプレ認証が無効になっているアカウントをレビューします。

レポート > セキュリティレポート > Kerberosの事前認証を必要としないをクリックします。

古いアカウントを掃除しないこと

Active Directory内の古いアカウントは、90日などの一定期間使用されていないユーザーまたはコンピュータアカウントです。これらのアカウントはもはや必要ないかもしれず、検討して無効化するべきです。古いアカウントはセキュリティリスクとなり、ネットワークやデータへのアクセスに利用される可能性があります。セキュリティリスクに加えて、古いアカウントはADを混雑させ、環境の管理、報告、監査を難しくする可能性があります。

✅解決策

  • 定期的に(30日ごとに)AD環境の古いアカウントを監査してください。lastLogonTimestamp属性を確認することで、古いアカウントを特定できます。
  • 削除する前に、90日間古いアカウントを一時的に無効にします。

古いユーザーアカウントを見つけるためのPowerShellコマンドの例

Get-ADUser -Filter {Enabled -eq $true} -Properties lastLogonTimestamp | Where-Object { $_.lastLogonTimestamp -lt (Get-Date).AddDays(-90) }

古いアカウントを自動的に見つけるためにAD Pro Toolkitを使用する例。

DNSの誤設定

Active Directory環境は、正しく機能するためにDNSに大きく依存しています。1つの設定ミスが認証失敗、レプリケーションの問題、クライアント解決の問題、ネットワーク障害を引き起こす可能性があります。

避けるべきDNSの間違いはこちらです。

1. ドメインコントローラーのDNS順序

ドメインコントローラーを外部DNSサーバーを使用するように構成し、ループバックアドレスを優先アドレスとして使用すると、問題が発生する可能性があります。

✅解決策

マイクロソフトは、推奨DNSサーバーを別のDNSサーバーに、代替のDNSサーバーをループバックアドレスに指定することを勧めています。例として2つのドメインコントローラーを挙げましょう。

  • DC1

    • IP: 192.168.100.10
    • 優先DNSサーバー: 192.168.100.11
    • 代替 DNS サーバー: 127.0.0.1
  • DC2

    • IP: 192.168.100.11
    • 優先DNSサーバー: 192.168.100.10
    • 代替 DNS サーバー: 127.0.0.1

2. クライアントまたはサーバーを外部DNSサーバーに指し示す

クライアントやサーバーを8.8.8.8のような外部DNSにポイントすると、認証の失敗、遅いログイン、または名前解決の問題を引き起こす可能性があります。

✅解決策

ドメイン参加システムを内部DNSサーバーにポイントします。内部DNSサーバーは、フォワーディングまたはルートヒントサーバーを介して外部のルックアップを処理します。

3. DNS スカベンジングが有効になっていない

DNSのエイジングとスカベンジングは、古くて未使用のDNSレコードを自動的に削除することを可能にします。古いDNSレコードは名前解決エラーを引き起こし、接続や認証の問題を引き起こす可能性があります。DNSスカベンジングについて詳しく学ぶには、私の「DNSのエイジングとスカベンジングを構成する方法」という記事を参照してください。

✅解決策

4. 不正なフォワーダーまたはルートヒント

DNSフォワーダーやルートヒントを誤って設定すると、外部リソースへの名前解決に問題が生じます。これにより、外部リソースの読み込みが遅くなったり、まったく失敗したりします。

✅解決策

ルート ヒント サーバーのデフォルトを使用することに何も問題はありません。フォワーダーを使用することを選択した場合は、ISP や DNS サーバー 8.8.8.8 など、信頼できる DNS サーバーを選択してください。

システム状態のバックアップなし

サードパーティベンダーからのActive Directoryバックアップは、システム状態バックアップ(AD対応)でない限り、Microsoftによってサポートされない可能性があります。

システム状態バックアップには、完全な障害からActive Directoryを復元するために必要な重要なコンポーネントが含まれています。これには、次のようなコンポーネントが含まれます:

  • アクティブディレクトリデータベース (NTDS.DIT)
  • SYSVOL フォルダー
  • レジストリ
  • システムファイル
  • ブートファイル
  • 証明書データベース

✅解決策

ドメインコントローラーで定期的にシステム状態のバックアップを実行してください。複数のサイトがある場合は、各サイトの少なくとも1つのDCでバックアップを実行することを検討すべきです。

システム状態バックアップの実行方法

  • サーバーマネージャーを使用して、Windows Server Backup機能をインストールします。
  • バックアップスケジュールを作成する
  • VSSフルバックアップを選択する
  • スケジュールを選択
  • 目的地を選択してください

完全な詳細を確認するには、アクティブディレクトリのバックアップ方法に関する私の記事をチェックしてください。

デフォルトドメインポリシーの過剰使用

デフォルトのドメインポリシーは、アカウントポリシー設定、パスワードポリシー、アカウントロックアウトポリシー、Kerberosポリシーのみに使用するべきです。他のポリシー設定については、別のGPOに入れるべきです。

デフォルトドメインポリシーの過剰使用に関する主要な問題

  • 煩雑な混乱を引き起こします
  • トラブルシューティングが難しい
  • すべてのユーザーとコンピューターに設定を適用します
  • パフォーマンスに影響を与えることができます
  • 粒度の細かい制御がない
  • 誤設定
  • 混乱

✅解決策

ポリシー設定のために別々のGPOを作成するか、まとめてグループ化します。複数の別々のGPOを作成することは問題ありません、パフォーマンスに影響はありません。例えば、ブラウザの設定、電源設定、ドライブのマッピング、Officeの設定などのために別々のGPOを作成することができます。この利点は、きめ細かい制御と柔軟性を得ることができ、トラブルシューティングがはるかに簡単になることです。

詳細を知るには、15のグループポリシーのベストプラクティスに関する私の記事をチェックしてください。

監査が有効になっていません

Active Directoryの監査が有効になると、Active Directoryに変更が加えられた際にイベントログが作成されます。たとえば、ユーザーがドメイン管理者グループに追加された場合、イベントログにはそれがいつ行われたか、誰が変更を加えたか、そして誰がグループに追加されたかが記録されます。

監査は、コンプライアンス、問題のトラブルシューティング、変更管理、及びセキュリティインシデントの監視において重要です。

✅解決策

デフォルトドメインコントローラーポリシーで監査を有効にします。GPOを編集し、高度な監査ポリシーの設定を編集してください。さらに、イベントを収集し、簡単にレビューできる監査ツールが必要です。どの監査ツールを使用するか知りたい場合は、私の6つのベストアクティブディレクトリア auditing toolsのリストを確認してください。

この記事を楽しんでいただけたら嬉しいです。

質問やコメントがある場合は、下にお知らせください。