53.2K Views
April 12, 24
スライド概要
Active Directory 勉強会 #1 (2024-04-12) の登壇資料です。
Active Directory Domain Services (AD DS, ドメインコントローラー) の構築時に特に気を付けるべき3点について説明しています。
インフラエンジニア
Active Directory 構築面でのお話 Active Directory 勉強会 #1 2024-04-12 Kazuki Takai
自己紹介 • たかい (Kazuki Takai) // X(旧 Twitter)@zhuky7 • 会社員 (某ISP勤務) • サービス基盤開発、技術開発、ライセンス関連 • 普段は Windows Server / Microsoft 製品だけでなく、Linux や VMware、OSS のインフラ系ソフトウェアなど幅広く • ユーザーオブジェクトよりコンピューターオブジェクトのほうが多いような環境 • wSCUGJ (Windows Server & System Center User Group Japan) • 興味分野:統合管理、ID、自動化、セキュリティ、監視・運用 • Microsoft MVP - Microsoft Azure / Cloud and Datacenter Management
お話しすること • Active Directory Domain Services を構築 するうえで、最低限気をつけること(の一部) • 新規フォレスト / 新規ドメイン • 新規ドメインコントローラー
お話ししないこと • Active Directory の基本的な概念 • Active Directory の各サービス詳細 • Active Directory Domain Services の… • バックアップとリカバリー • パフォーマンスチューニング • 監視の設計と実装 • 運用設計や運用タスクとその実装
今日はお話ししませんが… • 以下 Topic は、直近の SCUGJ 勉強会でお話ししています • Windows Server 最新情報 • Windows Server 2025 の新機能紹介(2023年12月時点) • Windows Server 2025 Active Directory の新機能 • Active Directory に依存しない Windows Server Failover Clustering • Hyper-V Workgroup Cluster で Live Migration できるようになる話 これらは、全て Windows Server Insider Preview Build ベースの情報です (リリース時点で変更となっている可能性があります)
Notice • 本セッションで説明する内容は、 個人の見解です • 間違っている、古い情報があれば ぜひ教えてください
今日お伝えしたいこと • .local ドメインは使わない • 必要(な環境)であれば、基盤側の キャッシュ制御をオフにする • 時刻同期を適切に設定する
Active Directory もうすぐ 25周年 • Windows 2000 Family • RTM: 1999年12月 • GA: 2000年2月 • NTドメインから Active Directory に 画像は INTERNET ARCHIVE より引用 https://archive.org/details/Win2000ServerRTM
Active Directory
Active Directory Services • Active Directory Domain Services • Active Directory ドメインにおける認証とポリシーの管理 • ドメインコントローラー • Active Directory Lightweight Directory Services • Active Directory Certificate Services • Active Directory Rights Management Services • Active Directory Federation Services
Active Directory Domain Services • Active Directory Domain Services って何?? • Copilot に聞いてみた
Active Directory Domain Services • Active Directory Domain Services (AD DS) は、組織内 のユーザーやリソースを一元的に管理するサービスで、 Windows Serverで利用可能です。 - Copilot による生成 • ディレクトリサービス • ユーザーやリソースを一元管理 • ポリシーを設定、強制(ガバナンス、コンプライアンス)
設計・構築のポイント ① 可能な限りシンプルな構成とする ② 十分な可用性を確保する ③ セキュリティを重視する ④ (大規模な環境では)十分なリソースをアサインする ⑤ 運用・メンテナンスについて考慮する
ADDS 関連コンポーネント • Active Directory Domain Services(NTDS) • データベース • SYSVOL • DFSR(DFS Replication) • DNS • NTP(時刻同期 / W32Time – Windows Time) • (DHCP) • その他、認証関連サービス
ADDS インストール・昇格 • 構築するだけなら簡単ですが… • Active Directory Domain Services のインストール • Install-WindowsFeature AD-Domain-Services • ドメインコントローラーへの昇格 • Import-Module ADDSDeployment • Install-ADDSForest ※ 新規フォレストか既存ドメインへの追加かでコマンドレットが異なる
ADDS インストール
ADDS インストール
ADDS インストール
DC への昇格(新規フォレスト) • ドメイン名を入力
DC への昇格(新規フォレスト)
DC への昇格(新規フォレスト)
DC への昇格(新規フォレスト)
DC への昇格(新規フォレスト)
DC への昇格(新規フォレスト)
DC への昇格(新規フォレスト)
DC への昇格(新規フォレスト) Import-Module ADDSDeployment Install-ADDSForest ` -DomainName "lab.example.jp" ` -ForestMode "WinThreshold" -DomainMode "WinThreshold" ` -InstallDns:$true ` -CreateDnsDelegation:$false ` -DomainNetbiosName "LAB" ` -DatabasePath "D:¥Windows¥NTDS" -LogPath "D:¥Windows¥NTDS" ` -SysvolPath "D:¥Windows¥SYSVOL" ` -NoRebootOnCompletion:$false -Force:$true
DC への昇格(新規フォレスト)
DC への昇格(既存フォレストへの追加)
DC への昇格(既存フォレストへの追加)
DC への昇格(既存フォレストへの追加)
DC への昇格(既存フォレストへの追加)
DC への昇格(既存フォレストへの追加) Import-Module ADDSDeployment Install-ADDSDomainController ` -DomainName "lab.example.jp" -Credential (Get-Credential) ` -InstallDns:$true -NoGlobalCatalog:$false ` -SiteName "Default-First-Site-Name" ` -CreateDnsDelegation:$false ` -CriticalReplicationOnly:$false ` -DatabasePath "D:¥Windows¥NTDS" -LogPath "D:¥Windows¥NTDS" ` -SysvolPath "D:¥Windows¥SYSVOL" ` -NoRebootOnCompletion:$false -Force:$true
DC への昇格(既存フォレストへの追加)
ADDS インストール・昇格時に必要な情報 • Active Directory ドメイン名(DNS 名) • フォレスト機能レベル • ドメイン機能レベル • NetBIOS 名 • データベースとログ、SYSVOL の配置先
フォレスト機能レベルとドメイン機能レベル • 必要な機能レベルを選択 • 新規構築の場合は、なるべく新しいレベルを推奨 • フォレスト内で一番低いドメイン機能レベルが、フォレス ト機能レベルの上限 • フォレストの機能レベルを上げる前に、ドメイン機能レベルを 上げる必要がある
機能レベルとサポート OS ↓OS FL→ 2020 (0) W2000S ✓ WS2003 ✓ ✓ WS2008 ✓ ✓ ✓ WS2008R2 ✓ ✓ ✓ ✓ WS2012 ✓ ✓ ✓ ✓ WS2012R2 ✓ ✓ ✓ ✓ ✓ WS2016 ✓ ✓ ✓ ✓ ✓ ✓ WS2019 ✓ ✓ ✓ ✓ ✓ WS2022 ✓ ✓ ✓ ✓ ✓ WS2025 2003 (2) 2008 (3) 2008 R2 (4) 2012 (5) 2012 R2 (6) 2016 (7) ✓ 2025 (10) ✓
Active Directory ドメイン名 • Active Directory ドメインの DNS 名 • 各種リソースの探索のためにDNS による名前解決で利用 • .local なドメインを利用すると、どうなるか • Active Directory ドメインとして構成は可能 • 連携システム、周辺システムとの通信、連携に不具合が出る (場合がある)
.local ドメイン • .local • RFC6762 で mDNS 用の特別な TLD として定義されている • DNS で名前解決できないケースがある • 正確には、名前解決に DNS サーバを利用しない実装がある • いくつかの DNS スタブリゾルバ実装は、RFC6762 に従い .local で終わ るドメイン名を(デフォルトでは)DNS サーバにフォーワードしない • 例えば systemd-resolve • アプライアンスによっては、.local 環境をサポートしない • 例えば、Azure Arc Resource Bridge
データベースとログの配置先ストレージ • データベースの変更が確実に記録されるよう、同期書き込 みが行われるような制御が実施される • 一部の基盤においては、OS による I/O 制御のコントロー ル外で、I/O キャッシュが行われる場合がある • 環境ごとのガイダンスを参照し、必要な設定を実施
Microsoft Azure VM の場合 • ホスト キャッシュ を「なし」に設定 • 追加したデータ ディスクにデータベース等を配置
時刻同期 • Active Directory ドメインで利用される Kerberos は、 認証の仕組みの中で時刻情報を利用している • 時刻が大幅にずれると、ドメイン環境が崩壊する • 認証ができない • 同期ができない • クラスターが正常に稼働できない • etc...
時刻同期 • ドメイン内のサーバー、クライアントはドメインコント ローラーと時刻を同期 • ドメインコントローラーは、他のドメインコントローラー と時刻を同期 • PDC エミュレーターの役割を持つドメインコントロー ラーは、外部(の信頼できる時刻ソース複数)と同期 • 設定が必要 • w32tm.exe /config /syncfromflags:manual /manualpeerlist: <NTP Server>,0x8 /reliable:yes /update
時刻同期 • Hypervisor から仮想マシンへの時刻同期は原則オフ この同期ソースは 見えないようにする
設計・構築時の留意点(1st step) • シングルフォレスト、シングルドメイン構成とする • 可能な限り • 会社の合併などは…最終的にどこかのドメインにオブジェクト を寄せることを目指す • NAT しない(ドメイン内は NAT なしで通信可能とする) • LB によるバランシングや NAPT を行わない • マルチホーム(複数 NIC)構成にしない
設計・構築時の留意点(2 nd step) • 各サイト、2台以上のドメインコントローラーを構成する • 可能な限り、他の役割・機能、ミドルウェア、アプリケー ションを同居させない • DNS は除く • AD CS や DHCP などは同居非推奨だが、それ以外も • Exchange Server や SQL Server は非推奨だが、それ以外も • ドメインコントローラーに対して攻撃の側面を増やさない • ドメインコントローラーか極力安定稼働できるようにする
設計・構築時の留意点(3 rd step) • ドメインコントローラーとなるサーバーへ割り当てるリ ソースをケチらない • 特にメモリ • 大規模な環境で CPU の負荷が高い場合、かつ CPU が複数 NUMA にまたがるような環境の場合には、最新の更新プログラ ムを適用すると改善するかもしれない • Server Core を利用する • 消費リソースが少ない・攻撃の側面を減らせる • 運用含めて導入するか検討する
補足 • Windows Server 2012 以降、AD DS のインストール時 に自動で adprep が実行される(必要であれば) • adprep /domainprep などは、現代においては明示的に 実行しなくてもよい(実行することも可能)
まとめ • Active Directory ドメインで末尾が .local で終わ るドメイン名を使用するのはダメ、絶対!! • データベースを保存するストレージの Write IO が 同期書き込みとなるよう、必要ならば設定を • 時刻同期は大切、PDC エミュレーターは設定必須
参考資料 • Active Directory Domain Services の概要 • ドメイン コントローラーとサイトの適切な配置に関する考慮事項 • Active Directory Domain Services のキャパシティ プランニング • AD DS のパフォーマンス チューニングでのメモリ使用量に関する考慮事項 • Windows Server 2012 、 2012 R2 からの移行、アップグレードにあたって考慮事項等 まとめ • FRS から DFSR への移行 (SYSVOL) • ドメイン コントローラーの構築時に言われないと気付かないこと • ドメインコントローラ(DC)の正常性の確認方法について • ドメイン環境で使用されるポートについて • Active Directory と DNS サーバーのデッドロック • w32time における SLEW モード / STEPモードでの時刻同期条件について
参考資料(自己学習用 – Microsoft Learn) • Active Directory Domain Services の基礎 • Microsoft Learn の中で、Active Directory に関して特に基礎的な内容のモ ジュールをピックアップしています • 概念から確認したい人向け • Azure で Azure IaaS Active Directory ドメイン コントローラーを デプロイして管理する • ドメインコントローラーを作成したことが無い人向け • PowerShell コマンドレットを使用して Active Directory Domain Servicesを管理する • Active Directory のトラブルシューティング