vm.gowatana.jp

NEOにほんごVMware(仮)

SDDC Manager の ID プロバイダとして AD を追加してみる。前編: AD/ADCS(LDAPS)構築

VMware Cloud Foundation(VCF)5.2 で、SDDC Manager の ID プロバイダとして Active Directory(AD)を登録してみます。これは、実際のところ vCenter Single Sign-On の ID プロバイダとして登録されます。

最近の vCenter Single Sign-On では、AD への接続に LDAPS プロトコルで接続します。そこで、AD での LDAPS 有効化と、今後 VCF 環境で利用する証明書の発行のために、AD のドメイン コントローラに Active Directory 証明書サービス(ADCS)を追加します。

 

今回の内容です。

 

1. Active Directory Domain Services(AD DS)の構築

今回は、Windows Server 2022 で AD のドメイン コントローラを構築してあります。AD の構築手順の詳細については、今回は省略します。

 

1-1. 構築したドメイン コントローラーの概要

今回は、下記のように AD を構築してあります。GUI を利用する場合は、サーバー マネージャーで Active Directory ドメイン サービスの役割を追加して、新規フォレストとして下記の名前のドメインを構築します。

  • ドメイン名: c.go-lab.jp
  • NetBIOS ドメイン名: C ※短すぎて後悔

 

ちなみにラボ環境なので、Windows のファイアウォール(Microsoft Defender ファイアウォール)はすべて無効にしてしまっています。

 

1-2. PowerShell による AD 構築

CLI で AD を構築する場合は、下記のように PowerShell を利用します。

Windows Server 2022 に、Active Directory ドメイン サービスをインストールします。

Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools

 

新規フォレストとして、「c.go-lab.jp」ドメインを作成します。このコマンドによって、DNS サーバーも自動インストールされます。

Install-ADDSForest `
-CreateDnsDelegation:$false `
-DatabasePath "C:\Windows\NTDS" `
-DomainMode "WinThreshold" `
-DomainName "c.go-lab.jp" `
-DomainNetbiosName "C" `
-ForestMode "WinThreshold" `
-InstallDns:$true `
-LogPath "C:\Windows\NTDS" `
-NoRebootOnCompletion:$false `
-SysvolPath "C:\Windows\SYSVOL" `
-Force:$true

 

上記の Install-ADDSForest コマンドを実行すると、ディレクトリ サービス復元モードのAdministratorに設定するパスワードが要求されるので、2回入力します。

SafeModeAdministratorPassword: ********
SafeModeAdministratorPassword を確認してください: ********

 

そして、処理が完了すると、OS が自動的に再起動されます。

 

1-3. PowerShell による DNS 逆引きゾーンの追加

AD DS とともにインストールされた DNS サーバーには、今回のネットワークに合わせて、逆引きゾーンを作成しておきます。

Add-DnsServerPrimaryZone -NetworkID "192.168.70.0/24" -ReplicationScope "Forest"
Add-DnsServerPrimaryZone -NetworkID "192.168.71.0/24" -ReplicationScope "Forest"
Add-DnsServerPrimaryZone -NetworkID "192.168.79.0/24" -ReplicationScope "Forest"

 

そして、ラボ環境の DNS サーバーとして利用する場合は、VCF で展開するコンポーネントの正引きと逆引きのレコードを登録しておきます。

 

2. Active Directory 証明書サービス(ADCS)の構築

ADCS をインストールして、証明機関(CA)を構築します。インストール ウィザードが長いので、今回はポイントに絞って手順を紹介します。

 

2-1. ADCS のインストール

Windows Server の「役割と機能の追加ウィザード」で、「Active Directory 証明書サービス」の役割を追加します。

 

ウィザードに従って、管理ツールもインストールしておきます。

 

AD CS の「役割サービス」では、下記のチェックを ON にしておきます。ここでも、ウィザードにしたがって管理ツールをインストールしておきます。

  • 証明機関
  • 証明機関 Web 登録

 

「Web サーバーの役割(IIS)」の「役割サービス」では、下記を追加して進みます。

  • 役割サービス: 基本認証

 

上記以外のパラメータは、デフォルトのまま機能のインストールを完了させます。

 

2-2. 証明機関(CA)の構築

インストールした ADCS で、証明書を発行するための証明機関(CA)を構築します。

サーバー マネージャーに表示されている「!」マーク →「対象サーバーに Active Directory 証明書サービスを構成する」をクリックします。

 

「AD CS の構成」が表示されるので、下記のパラメータでウィザードを進めます。

  • 資格情報: C:\Administrator
  • 役割サービス: 証明機関、証明機関 Web 登録
  • セットアップの種類: エンタープライズ CA
  • CA の種類: ルート CA
  • 秘密キー: 新しい秘密キーを作成する
    • 暗号化
      • 暗号化プロバイダーの選択: RSA#Microsoft Software key Storage Provider ※デフォルト
      • キー長: 2048 ※デフォルト
      • この CA から発行された証明書の署名に使用するハッシュ アルゴリズムの選択: SHA256 ※デフォルト
    • CA 名
      • この CA の共通名: c-VCF-AD-01-CA  ※デフォルト
      • 識別名のサフィックス: DC=c,DC=go-lab,DC=jp
      • 識別名のプレビュー:  CN=c-VCF-AD-01-CA,DC=c,DC=go-lab,DC=jp
    • 有効期間:5年間 ※デフォルト
  • 証明書データベースの場所: ※デフォルトのまま
  • 証明書データベース ログの場所: ※デフォルトのまま

 

「証明機関」と「証明機関 Web 登録」の構成が成功したことを確認します。

 

3. 証明機関 Web 登録ページの設定

SDDC Manager に ADCS の CA を登録して証明書を発行できるように、IIS で提供される「証明機関 Web 登録」(certsrv)ページで、基本認証と SSL を有効化します。

 

3-1. 基本認証の有効化

「ファイル名を指定して実行」などで「inetmgr.exe」を実行して、「インターネット インフォメーション サービス (IIS) マネージャー」を起動します。

このサーバーの「サイト」→「Default Web Site」→「CertSrv」を開き、IIS →「認証」をダブル クリックします。

 

「基本認証」を右クリック →「有効にする」をクリックします。

 

「基本認証」の状態が「有効」と表示されたことを確認します。

 

「Default Web Site」を右クリック →「Web サイトの管理」→「再起動」をクリックします。

 

3-2. SSL の有効化

「インターネット インフォメーション サービス (IIS) マネージャー」で、このサーバーの「サイト」→「Default Web Site」を開き、右画面の「バインド」をクリックします。

 

「サイト バインド」画面が表示されるので、「追加」をクリックします。

 

パラメータを入力して、「OK」をクリックします。

  • 種類: https
  • IP アドレス: 192.168.70.3
  • ホスト名: vcf-ad-01.c.go-lab.jp
  • SSL 証明書: vcf-ad-01.c.go-lab.jp

 

サイト バインドが追加されたことを確認して、「閉じる」をクリックします。

 

このサーバーの「サイト」→「Default Web Site」→「CertSrv」を開き、IIS →「SSL 設定」をダブルクリックします。

 

「SSL が必要」のチェックを ON にして、画面右にある「適用」をクリックします。

 

「証明機関 Web 登録」で SSL が有効化されたことを確認するため、Web ブラウザから、HTTPS で、AD の FQDN の「certsrv」にアクセスします。この環境では、下記の URL になります。

 

ドメイン Administrator(今回は Administrator@c.go-lab.jp)のユーザー名とパスワードを入力すると、「Microsoft Active Directory  証明書サービス」ページが表示されます。

 

3-3. LDAPS 接続確認(LDP / ldp.exe)

ADCS をインストールした Windows マシンには、AD DS もインストールしてあるので、管理ツールに含まれる ldp.exe を使用して、LDAPS での接続を確認しておきます。

 

LDP は、「ファイル名を指定して実行」や PowerShell プロンプトなどから、「ldp」と入力して実行すると起動できます。

「接続」→「接続」を開きます。

 

下記を入力して、「OK」をクリックします。

  • サーバー: ドメイン コントローラーの FQDN。今回は vcf-ad-01.c.go-lab.jp
  • ポート: 636
  • SSL: チェック ON

 

下記のように、「Established connection to <ドメイン コントローラー FQDN>」と表示されれば、接続に成功しているはずです。

 

4. CA 証明書の入手

AD に LDAPS 接続するクライアント側(vCenter Single Sign-On など)で必要になるため、構築した CA から、CA 証明書を入手しておきます。

 

ファイル名を指定して実行や PowerShell のプロンプトから、「certsrv.msc」を実行して、「証明機関」を開きます。

証明機関(ローカル)→ CA の名前(この環境では c-VCF-AD-01-CA)を右クリック →「プロパティ」を開きます。

 

「全般」タブで CA 証明書を選択して、「証明書の表示」をクリックします。

 

証明書の「詳細」タブを開き、「ファイルにコピー」をクリックします。

 

「証明書のエクスポート ウィザード」が表示されるので、「次へ」をクリックします。

 

「Base64 encoded X.509 (.CER)」を選択して、「次へ」をクリックします。

 

ファイル名を指定して、「次へ」をクリックします。今回は、下記のファイル名にしてみました。

  • vcf-ad-01_ca.cer

 

「完了」をクリックすると、CA 証明書がファイルとして保存されます。

 

5. ラボ用 AD ユーザ & グループの作成

AVCF のラボ環境で利用するユーザを、とりあえず 1アカウント作成しておきます。これは、Workspace ONE Access の認証でも利用できるように設定を調整しておきます。

 

5-1. VCF-Admins グループ / vcf-admin ユーザーの作成

今回は、VCF-Users OU を作成して、VCF-Admins グループ、vcf-admin ユーザ(VCF Admin)を作成しました。

 

表示名が「VCF Admin」となっているユーザに、下記のパラメータを設定してあります。

  • 姓: VCF
  • 名: Admin
  • 表示名: VCF Admin
  • 電子メール: vcf-admin@c.go-lab.jp

※ここでの「姓」「名」「電子メール」は、今後 Workspace ONE Access にこのユーザを登録する際に必要になります。

 

表示名が「VCF Admin」となっているユーザのログオン名を「vcf-admin」にしてあります。さりげなくパスワードを無期限にしてあります。

  • ユーザー ログオン名: vcf-admin@c.go-lab.jp
  • ユーザー ログオン名 (Windows 2000 より前): C\vcf-admin

 

vcf-admin は、VCF-Admins グループに所属させてあります。

 

5-2. ドメイン Administrator への属性値追加

今後 Workspace ONE Access にこのユーザーを登録する際に、ユーザー アカウントには下記の属性が必要になります。ここで Users コンテナに配置されている、Administrator ユーザーにも設定しておきます。

 

下記のように、ドメイン Administrator の属性入力しておきます。

  • 姓: Domain
  • 名: Administrator
  • 表示名: Domain Administrator
  • 電子メール: Administrator@c.go-lab.jp

 

6. NTP サーバーむけの設定調整

AD や証明書の確認では、時刻同期も重要になります。そこで、今回は AD のドメイン コントローラーを NTP サーバーとして利用します。

しかし、ドメイン コントローラーのデフォルトの状態では、Linux(SDDC Manager や VCSA など)と ESXi が時刻同期できません。そこで、NTP サーバーむけにパラメーターを変更しておきます。

 

6-1. 時刻同期パラメーターの変更

Windows の時刻同期のパラメータは、w32tm コマンドで変更します。パラメーターについては、下記に説明があります。

今回は、PowerShell のコンソールから w32tm コマンドを実行します。

  • /manualpeerlist:ntp.nict.jp
    ドメイン コントローラー自身の参照する NTP サーバーを指定。
  • /syncfromflags: MANUAL
    NTP サーバーのアドレスを手動指定する。
  • /reliable: YES
    ドメイン コントローラを信頼性の高いタイム ソースとして設定
  • /update
    設定を即時に有効化する。
PS> w32tm /config /manualpeerlist:"ntp.nict.jp,0x8" /syncfromflags:MANUAL /reliable:YES /update
コマンドは正しく完了しました。

 

ソースとなる NTP サーバーが変更され、最終正常同期時刻がパラメータ変更後のタイム スタンプになったことを確認しておきます。

PS> w32tm /query /status
閏インジケーター: 0 (警告なし)
階層: 2 (二次参照 - (S)NTP で同期)
精度: -23 (ティックごとに 119.209ns)
ルート遅延: 0.0166642s
ルート分散: 0.0382264s
参照 ID: 0x3DCD7882 (ソース IP:  61.205.120.130)
最終正常同期時刻: 2024/09/20 22:55:07
ソース: ntp.nict.jp,0x8
ポーリング間隔: 10 (1024s)

 

6-2. 時刻同期パラメータ変更後のレジストリ

コマンドによるパラメータ変更後の、レジストリの設定を確認しておきます。

w32time サービスの設定です。

PS C:\> Get-ChildItem HKLM:\SYSTEM\CurrentControlSet\Services\W32Time | ft -AutoSize

    Hive: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time

Name             Property
----             --------
Config           AnnounceFlags             : 5
                 ClockAdjustmentAuditLimit : 800
                 ClockHoldoverPeriod       : 7800
                 EventLogFlags             : 2
                 FrequencyCorrectRate      : 4
                 HoldPeriod                : 5
                 LargePhaseOffset          : 50000000
                 LastKnownGoodTime         : 133713130832920854
                 LocalClockDispersion      : 10
                 MaxAllowedPhaseOffset     : 300
                 MaxNegPhaseCorrection     : 172800
                 MaxPollInterval           : 10
                 MaxPosPhaseCorrection     : 172800
                 MinPollInterval           : 6
                 PhaseCorrectRate          : 7
                 PollAdjustFactor          : 5
                 SpikeWatchPeriod          : 900
                 TimeJumpAuditOffset       : 28800
                 UpdateInterval            : 100
                 UtilizeSslTimeData        : 1
                 LastClockRate             : 156312
Parameters       NtpServer              : ntp.nict.jp,0x8
                 ServiceDll             : C:\Windows\system32\w32time.dll
                 ServiceDllUnloadOnStop : 1
                 ServiceMain            : SvchostEntry_W32Time
                 Type                   : NTP
SecureTimeLimits SecureTimeEstimated : 133713136746981102
                 SecureTimeHigh      : 133713172746981102
                 SecureTimeLow       : 133713100746981102
Security         Security : {1, 0, 4, 128...}
TimeProviders
TriggerInfo

NTP Server の設定です。

PS C:\> Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer | ft -AutoSize

    Hive: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders

Name      Property
----      --------
NtpServer AllowNonstandardModeCombinations : 1
          ChainDisable                     : 0
          ChainEntryTimeout                : 16
          ChainLoggingRate                 : 30
          ChainMaxEntries                  : 128
          ChainMaxHostEntries              : 4
          DllName                          : C:\Windows\system32\w32time.dll
          Enabled                          : 1
          EventLogFlags                    : 0
          InputProvider                    : 0
          RequireSecureTimeSyncRequests    : 0

 

これで、vCenter Single Sign-On に ID プロバイダとして登録する AD の準備ができました。

つづく。