オンプレミスのデバイス正常性構成証明(DHA)サーバーの構成
オンプレミスのWindowsサーバーから、Windows 10およびWindows 11モバイルデバイスのデバイス正常性構成証明(DHA)を有効化できます。オンプレミスでDHAを有効にするには、まずDHAサーバーを構成します。
DHAサーバーを構成したら、Citrix Endpoint Managementポリシーを作成してオンプレミスのDHAサービスを有効にします。詳細については、「デバイス正常性構成証明デバイスポリシー」を参照してください。
DHAサーバーの前提条件
- Windows ServerのTechnical Preview 5以降が[デスクトップエクスペリエンス]のインストールオプションを使用してインストールされ、実行されているサーバー。
- 1台以上のWindows 10およびWindows 11クライアントデバイス。これらのデバイスには、最新バージョンのWindowsを実行するTPM 1.2または2.0が搭載されている必要があります。
- 以下の証明書:
-
DHA SSL証明書: エクスポート可能な秘密キーを使用して、エンタープライズの信頼されたルートにチェーンされているx.509 SSL証明書です。この証明書は、次のようなDHAデータ通信を保護します:
- サーバー間(DHAサービスおよびMDMサーバー)通信
- サーバーからクライアント(DHAサービスおよびWindows 10およびWindows 11デバイス)への通信
- DHA署名証明書: エクスポート可能な秘密キーを使用して、エンタープライズの信頼されたルートにチェーンされているx.509証明書です。DHAサービスでは、この証明書を使用してデジタル署名を行います。
- DHA暗号化証明書: エクスポート可能な秘密キーを使用して、エンタープライズの信頼されたルートにチェーンされているx.509 SSL証明書です。DHAサービスでは、この証明書を暗号化にも使用します。
-
DHA SSL証明書: エクスポート可能な秘密キーを使用して、エンタープライズの信頼されたルートにチェーンされているx.509 SSL証明書です。この証明書は、次のようなDHAデータ通信を保護します:
- 次のいずれかの証明書検証モードを選択します。
- EKCert: EKCert検証モードは、インターネットに接続されていない組織のデバイス向けに最適化されています。EKCert検証モードで実行されているDHAサービスに接続する場合、デバイスはインターネットに直接アクセスすることはありません。
- AIKCert: AIKCert検証モードは、インターネットにアクセス可能な運用環境向けに最適化されています。AIKCert検証モードで実行されているDHAサービスに接続する場合、デバイスはインターネットに直接アクセスする必要があり、MicrosoftからAIK証明書を取得できます。
WindowsサーバーにDHAサーバーの役割を追加する
- Windowsサーバーで、サーバーマネージャーがまだ開かれていない場合は、[スタート]、[サーバーマネージャー] の順にクリックします。
- [役割と機能の追加] をクリックします。
- [始める前に] ページで [次へ] をクリックします。
- [インストールの種類の選択] ページで、[役割ベースまたは機能ベースのインストール] をクリックして、[次へ] をクリックします。
- [対象サーバーの選択] ページで、[サーバープールからサーバーを選択] をクリックして、[次へ] をクリックします。
- [サーバーの役割の選択] ページで、[デバイス正常性構成証明]チェックボックスをオンにします。
- オプション:[機能の追加] をクリックして、その他の必要な役割サービスと機能をインストールします。
- [次へ] をクリックします。
- [機能の選択] ページで、[次へ] をクリックします。
- [Webサーバーの役割(IIS)] ページで、[次へ] をクリックします。
- [役割サービスの選択] ページで、[次へ] をクリックします。
- [デバイス正常性構成証明サービス] ページで、[次へ] をクリックします。
- [インストールオプションの確認] ページで、[インストール] をクリックします。
- インストールが完了したら、[閉じる] をクリックします。
サーバーの証明書ストアにSSL証明書を追加する
- SSL証明書ファイルの場所に移動して選択します。
-
保存場所として [現在のユーザー] を選択し、[次へ] をクリックします。
-
秘密キーのパスワードを入力します。
-
[すべての拡張プロパティを含める] インポートオプションが選択されていることを確認します。[次へ] をクリックします。
-
以下のウィンドウが表示されたら、[はい] をクリックします。
-
証明書がインストールされたことを確認します。
-
[コマンド プロンプト]ウィンドウを開きます。
-
「
mmc
」と入力してEnterキーを押します。ローカルマシンのストア内の証明書を表示するには、管理者の役割に属している必要があります。 -
[ファイル]メニューで、[スナップインの追加と削除] をクリックします。
-
[追加] をクリックします。
-
[スタンドアロンスナップインの追加]ダイアログボックスで、[証明書] を選択します。
-
[追加] をクリックします。
-
[証明書スナップイン]ダイアログボックスで、[ユーザーアカウント] を選択します。(サービスアカウント所有者としてログインしている場合は、[サービスアカウント] を選択します。)
-
[コンピュータの選択]ダイアログボックスで、[完了]をクリックします。
-
-
[サーバーマネージャ]>[IIS] の順に選択し、アイコンの一覧で [サーバー証明書] を選択します。
-
[アクション]メニューで [インポート…] を選択して、SSL証明書をインポートします。
証明書の拇印を取得して保存する
- ファイルエクスプローラーの検索バーに「
mmc
」と入力します。 -
[コンソールルート]ウィンドウで、[ファイル]>[スナップインの追加と削除] の順にクリックします。
-
[利用できるスナップイン]で[証明書]を選択し、[選択されたスナップイン]に追加します。
-
[ユーザーアカウント] を選択します。
-
証明書を選択し、[OK] をクリックします。
-
証明書をダブルクリックして、[詳細] タブをクリックします。下方向にスクロールして、証明書の拇印を表示します。
- 拇印をファイルにコピーします。PowerShellコマンドで拇印を使用する場合は、スペースを削除します。
署名証明書と暗号化証明書をインストールする
以下のPowerShellコマンドをWindowsサーバーで実行して、署名証明書と暗号化証明書をインストールします。
プレースホルダーReplaceWithThumbprintを置き換えて、下に示すように二重引用符で囲みます。
$key = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Thumbprint -like "ReplaceWithThumbprint"}
$keyname = $key.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keypath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys" + $keyname icacls $keypath /grant IIS_IUSRS`:R
TPMルート証明書を抽出し、信頼できる証明書パッケージをインストールする
以下のコマンドをWindowsサーバーで実行します。
mkdir .\TrustedTpm
expand -F:* .\TrustedTpm.cab .\TrustedTpm
cd .\TrustedTpm
.\setup.cmd
DHAサービスを構成する
Windowsサーバー上で次のコマンドを実行して、DHAサービスを構成します。
プレースホルダーReplaceWithThumbprintを置き換えます。
Install-DeviceHealthAttestation -EncryptionCertificateThumbprint ReplaceWithThumbprint
-SigningCertificateThumbprint ReplaceWithThumbprint
-SslCertificateStoreName My -SslCertificateThumbprint ReplaceWithThumbprint
-SupportedAuthenticationSchema "AikCertificate"
以下のコマンドをWindowsサーバーで実行して、DHAサービスの証明書チェーンポリシーを設定します。
$policy = Get-DHASCertificateChainPolicy
$policy.RevocationMode = "NoCheck"
Set-DHASCertificateChainPolicy -CertificateChainPolicy $policy
以下のようにプロンプトに回答します:
Confirm
Are you sure you want to perform this action?
Performing the operation "Install-DeviceHealthAttestation" on target "[Machine Name]".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): A
Adding SSL binding to website 'Default Web Site'.
Add SSL binding?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
Adding application pool 'DeviceHealthAttestation_AppPool' to IIS.
Add application pool?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
Adding web application 'DeviceHealthAttestation' to website 'Default Web Site'.
Add web application?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
Adding firewall rule 'Device Health Attestation Service' to allow inbound connections on port(s) '443'.
Add firewall rule?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
Setting initial configuration for Device Health Attestation Service.
Set initial configuration?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
Registering User Access Logging.
Register User Access Logging?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
構成を確認する
DHASActiveSigningCertificateがアクティブであるかどうかを確認するには、サーバーで次のコマンドを実行します。
Get-DHASActiveSigningCertificate
証明書がアクティブな場合、証明書の種類(署名)と拇印が表示されます。
DHASActiveSigningCertificateがアクティブであるかどうかを確認するには、サーバーで次のコマンドを実行します。
プレースホルダーReplaceWithThumbprintを置き換えて、下に示すように二重引用符で囲みます。
Set-DHASActiveEncryptionCertificate -Thumbprint "ReplaceWithThumbprint" -Force
Get-DHASActiveEncryptionCertificate
証明書がアクティブな場合、拇印が表示されます。
最終チェックを行うには、次のURLにアクセスします:
https://<dha.myserver.com>/DeviceHeathAttestation/ValidateHealthCertificate/v1
DHAサービスが実行されている場合は、「メソッドは許可されていません」と表示されます。