Active Directory 設計時にスルーされがちだと思うポイント

# はじめに

本記事では、Active Directory 観点において、わたしが関与した案件の設計レビュー等でよく指摘するポイントを記載しています。参考ドキュメントと合わせてご確認いただくことで、世の Active Directory の重要な検討漏れなどを防ぐことができれば…とか考えています。

なお、対象はオンプレミス or IaaS での Active Directory Domain Services です。マネージドサービスは想定していませんので、ご了承くださいませ。

# 1. 読んでおいた方が良いドキュメント

色々書籍等もありますが、ひとまずは公式ドキュメントをしっかり読み込んでおくことをオススメしています。

> 参考 : [Active Directory Domain Services](https://docs.microsoft.com/ja-jp/windows-server/identity/ad-ds/active-directory-domain-services)

# 2. サイト構成の注意点

## 2.1 レプリケーション間隔に制約がある点を注意する

サイトを分割した場合、「同一サイト」と「別のサイト」ではレプリケーション間隔に違いがあります。既定では「サイト間複製」は 3時間を要するため、要件に応じて短くする必要があります。

> 参考 : <https://docs.microsoft.com/ja-jp/windows-server/identity/ad-ds/plan/determining-the-interval>

## 2.2 信頼関係を構築している場合の意図しない動作について

信頼関係を構成しているドメイン間において、Active Directory の複製の仕様上、既定では特定のタイミングで認証を正常に行うことができない時間帯が発生します。詳細および回避方法については、下記のドキュメントを参照してください。

> 参考 : [信頼関係先のドメイン ユーザーを利用してログオンに失敗する事象について](https://social.technet.microsoft.com/Forums/ja-JP/a68444f6-54db-44cd-b86c-ab4fd1f485e3/)

# 3. ネットワーク構成

## 3.1 NATは検証済みではないため、十分な検証が必要

NAT 環境における Active Directory のサポートについて、マイクロソフト社のスタンスとしては下記の通りです。

* NAT 経由の Active Directory は、Microsoft によってテストされていません。
* NAT 経由では、Active Directory は推奨されていません。
* NAT 経由の Active Directory に関連する問題のサポートは制限され、商業的に適切な成果の範囲に到達することが容易になります。
* Microsoft によってテストされた NAT を使用した唯一の構成は、NAT のプライベート側でクライアントを実行しており、すべてのサーバーを NAT の公開側に配置していることです。

> 参考 : [NAT 経由の Active Directory のサポート範囲の説明](https://docs.microsoft.com/ja-jp/troubleshoot/windows-server/identity/support-for-active-directory-over-nat)

上記の通り、**NAT 環境はほとんどテストされておらず、意図しない動作となる可能性が残る**ため、**十分に検証や試験を実施してください。**

## 3.2 意外と使用するポート範囲は多いため、確認してから考慮を

> 参考 : [Active Directory ドメインと信頼関係のファイアウォールを構成する方法](https://docs.microsoft.com/ja-jp/troubleshoot/windows-server/identity/config-firewall-for-ad-domains-and-trusts)

# 4. 時刻同期

## 4.1 この公式ドキュメントを理解しておく

> [Windows タイム サービスのしくみ](https://docs.microsoft.com/ja-jp/windows-server/networking/windows-time-service/how-the-windows-time-service-works)

Active Directory 環境における時刻動機の動作、階層の構成などが解説されています。設計の前には、とにかくコレを理解しておくことをオススメしています。

## 4.2 この記事を理解しておく

> [Windowsネットワーク時刻同期の基礎とノウハウ（改訂版）](https://www.atmarkit.co.jp/ait/articles/1203/15/news121.html)

NTP の基本から始まり、Windows Time サービスの構成やトラブルシュート等のノウハウが詰まっています。こちらもあわせて理解しておくことをオススメしています。

## 4.3 トラブルシュート時は RFC を

トラブルシュート時、Windows Time サービスのデバッグログには階層 (Stratum) などの細かな情報も出力されます。それらの情報を NTP に関する RFC を突き合わせて確認することで、内部動作を追うことができます。

> 参考 : <https://tools.ietf.org/html/rfc5905>

# 5. バックアップ

## 5.1 バックアップ設計／リストア設計をしっかりすること

残念ながら、**Active Directory のバックアップ／リストアは、単純に「ドメインコントローラのどれかで取って戻せば良い」わけではありません。**  

> 参考 : [Active Directory フォレストの回復ガイド](https://docs.microsoft.com/ja-jp/windows-server/identity/ad-ds/manage/ad-forest-recovery-guide)

障害のケースごとにリストア方法も異なりますので、**運用における想定ケース毎にバックアップ／リストア計画を立てておく**必要があります。

## 5.2 コンピュータアカウントのパスワード問題を踏まえ、30日間隔でのバックアップを取得すること

Active Directory においては、コンピュータアカウントにもパスワードが使われており、既定では30日間隔で自動更新が行われます。このパスワードがドメインコントローラ上のデータと異なっていると、当該コンピュータにログオンすることができなくなってしまいます。

つまり、**30日より前の Active Directory のバックアップからリストアした際、端末側でログオンすることができなくなってしまう状況が発生する可能性があります。**

> 参考 : [ドメインにログオンできない ～ セキュア チャネルの破損 ～](https://social.technet.microsoft.com/Forums/ja-JP/88efe577-fff1-4d9c-8618-bf26ac18a941/12489125131245212531123951252512464124581253112391123651239412)

このため、**Active Directory のバックアップは、最長でも30日間隔で取得する**ようにしましょう。

# 6. 運用にあたって特に注意すべき事項

## 6.1 ドメインコントローラを停止／構成から外す場合は、きちんと降格すること

ドメインコントローラの故障時、機器交換時など、「止めればいいや」と思っていないでしょうか？

**Active Directory の仕組み上、ドメインコントローラをただ停止しただけでは DNS や LDAP などに情報が残存し、意図しない動作となる結果を招きます。**

このため、**ドメインコントローラを起動した状態とすることができなくなる場合は、ドメインコントローラからの降格を実施することを忘れない**でください。

> 参考 : [Active Directory ドメイン Controller サーバーメタデータのクリーンアップ](https://docs.microsoft.com/ja-jp/windows-server/identity/ad-ds/deploy/ad-ds-metadata-cleanup)

## 6.2 セキュリティ更新は目を光らせておくこと

Active Directory 周りの脆弱性は、管理者アカウントの乗っ取りなどに直結する脆弱性も見つかる可能性があります。

> 参考 : [【注意喚起】Windowsとネットワーク管理者権限を一撃で乗っ取る、脆弱性「Zerologon」対策について](https://www.lac.co.jp/lacwatch/alert/20201022_002304.html)

**ドメインの管理者アカウントが乗っ取られた場合、ローカル管理者以上に「なんでもできる」状態になってしまう**ため、**セキュリティ更新には目を光らせておき、すぐに更新プログラムを適用できるように体制を組んでおくことが望ましい**です。

## 6.3 バージョンアップの際は富士通のドキュメント等が参考としてオススメ

ドメインコントローラのサーバのアップデートは、富士通社のドキュメントが良く出来ています。まずは、こちらを参考にしてみることをオススメします。

> 参考 : [Windowsシステム構築ガイド - Active Directory](https://jp.fujitsu.com/platform/server/primergy/technical/construct/#ad01)