クライアント証明書または証明書とドメイン認証
Citrix Endpoint Management のデフォルト構成は、ユーザー名とパスワード認証です。Citrix Endpoint Management 環境への登録とアクセスにセキュリティ層を追加するには、証明書ベースの認証の使用を検討してください。Citrix Endpoint Management 環境では、この構成がセキュリティとユーザーエクスペリエンスの最良の組み合わせとなります。証明書とドメイン認証は、NetScaler Gateway での二要素認証によって提供されるセキュリティと相まって、最高の SSO の可能性を秘めています。
最適な使いやすさのために、証明書とドメイン認証を Citrix PIN および Active Directory パスワードキャッシュと組み合わせることができます。その結果、ユーザーは LDAP ユーザー名とパスワードを繰り返し入力する必要がありません。ユーザーは、登録、パスワードの有効期限切れ、およびアカウントロックアウトのためにユーザー名とパスワードを入力します。
重要:
ユーザーが Citrix Endpoint Management にデバイスを登録した後、認証モードをドメイン認証から他の認証モードに変更することは、Citrix Endpoint Management ではサポートされていません。
LDAP を許可せず、スマートカードまたは類似の方法を使用する場合、証明書を構成することで、スマートカードを Citrix Endpoint Management に表現できます。その後、ユーザーは Citrix Endpoint Management が生成する一意の PIN を使用して登録します。ユーザーがアクセス権を取得すると、Citrix Endpoint Management は、Citrix Endpoint Management 環境への認証に使用される証明書を作成および展開します。
NetScaler Gateway の証明書のみの認証または証明書とドメイン認証を使用する場合、NetScaler for XenMobile ウィザードを使用して Citrix Endpoint Management に必要な構成を行うことができます。NetScaler for XenMobile ウィザードは 1 回のみ実行できます。
セキュリティの高い環境では、組織外のパブリックネットワークまたは安全でないネットワークでの LDAP 資格情報の使用は、組織にとって主要なセキュリティ上の脅威と見なされます。セキュリティの高い環境では、クライアント証明書とセキュリティトークンを使用する二要素認証がオプションとなります。詳細については、「証明書とセキュリティトークン認証のための Citrix Endpoint Management の構成」を参照してください。
クライアント証明書認証は、MAM および MDM+MAM に登録されているデバイスで利用できます。これらのデバイスでクライアント証明書認証を使用するには、Microsoft サーバー、Citrix Endpoint Management、および NetScaler Gateway を構成する必要があります。この記事で説明されている一般的な手順に従ってください。
Microsoft サーバーでの設定:
-
- Microsoft Management Console に証明書スナップインを追加します。
-
- 証明機関 (CA) にテンプレートを追加します。
-
- CA サーバーから PFX 証明書を作成します。
-
Citrix Endpoint Management での設定:
-
- Citrix Endpoint Management に証明書をアップロードします。
-
- 証明書ベースの認証用の PKI エンティティを作成します。
-
- 資格情報プロバイダーを構成します。
-
- 認証用のユーザー証明書を配信するように NetScaler Gateway を構成します。
-
- Citrix Endpoint Management に証明書をアップロードします。
NetScaler Gateway の構成については、Citrix ADC ドキュメントの以下の記事を参照してください。
- [クライアント認証](/en-us/citrix-adc/12-1/ssl/config-client-auth.html)
- [SSL プロファイルインフラストラクチャ](/en-us/citrix-adc/12-1/ssl/ssl-profiles/ssl-enabling-the-default-profile.html)
- [クライアント証明書認証ポリシーの構成とバインド](/en-us/citrix-gateway/12-1/authentication-authorization/configure-client-cert-authentication/ng-client-cert-vserver-and-bind-tsk.html)
前提条件
- Microsoft Certificate Services エンティティテンプレートを作成する際は、特殊文字を除外して、登録済みデバイスでの認証の問題を回避してください。たとえば、テンプレート名に次の文字を使用しないでください: `: ! $ () # % + * ~ ? | {} []`
- Exchange ActiveSync の証明書ベースの認証を構成するには、[Exchange Server に関する Microsoft ドキュメント](https://docs.microsoft.com/ja-jp/Exchange/exchange-server?view=exchserver-2019)を参照してください。Exchange ActiveSync の証明機関 (CA) サーバーサイトでクライアント証明書を要求するように構成します。
- プライベートサーバー証明書を使用して Exchange Server への ActiveSync トラフィックを保護する場合は、モバイルデバイスがすべてのルート/中間証明書を持っていることを確認してください。そうしないと、Citrix Secure Mail でのメールボックス設定中に証明書ベースの認証が失敗します。Exchange IIS コンソールでは、次の操作を行う必要があります。
- Exchange で Citrix Endpoint Management が使用する Web サイトを追加し、Web サーバー証明書をバインドします。
- ポート 9443 を使用します。
- その Web サイトには、「Microsoft-Server-ActiveSync」と「EWS」の 2 つのアプリケーションを追加する必要があります。これらの両方のアプリケーションで、**[SSL 設定]** の下にある **[SSL を要求]** を選択します。
Microsoft Management Console への証明書スナップインの追加
-
コンソールを開き、[スナップインの追加と削除] をクリックします。
-
次のスナップインを追加します。
- 証明書テンプレート
- 証明書 (ローカルコンピューター)
- 証明書 - 現在のユーザー
- 証明機関 (ローカル)

-
[証明書テンプレート] を展開します。

-
[ユーザー] テンプレートを選択し、[テンプレートの複製] を選択します。

-
テンプレートの表示名を入力します。
重要:
[Active Directory に証明書を発行する] オプションを選択することはお勧めしません。このオプションを選択すると、Active Directory 内のすべてのユーザーに対してクライアント証明書が作成され、Active Directory データベースが乱雑になる可能性があります。
-
テンプレートの種類として [Windows 2003 Server] を選択します。Windows 2012 R2 サーバーでは、[互換性] の下で [証明機関] を選択し、受信者を [Windows 2003] に設定します。
-
[セキュリティ] の下で、次のように構成します。
-
[追加] をクリックし、Citrix Endpoint Management が証明書の生成に使用する AD ユーザーアカウントを選択します。
重要:
ここにはサービスアカウントユーザーのみを追加してください。この AD ユーザーアカウントにのみ [登録] 権限を追加します。
この記事の後半で説明するように、サービスアカウントを使用してユーザー .pfx 証明書を作成します。詳細については、「CA サーバーからの PFX 証明書の作成」を参照してください。

-
[ドメインユーザー] から [登録] 権限を取り消します。
-

-
- [暗号化] の下で、キーサイズを指定していることを確認します。キーサイズは、Citrix Endpoint Management の構成中に後で入力します。

-
-
「サブジェクト名」で「要求で指定」を選択します。変更を適用し、保存します。

証明機関へのテンプレートの追加
- 1. 「**証明機関**」に移動し、「**証明書テンプレート**」を選択します。
- 1. 右ペインを右クリックし、「**新規 > 発行する証明書テンプレート**」を選択します。
- 
-
前のステップで作成したテンプレートを選択し、「OK」をクリックして「証明機関」に追加します。

CAサーバーからのPFX証明書作成
-
ログインしたサービスアカウントを使用して、ユーザーの.pfx証明書を作成します。.pfxはCitrix Endpoint Managementにアップロードされ、Citrix Endpoint Managementはデバイスを登録するユーザーのユーザー証明書を要求します。
-
「現在のユーザー」で「証明書」を展開します。
-
右ペインを右クリックし、「新しい証明書を要求」をクリックします。
-

-
- 「証明書の登録」画面が表示されます。「次へ」をクリックします。

-
- 「Active Directory登録ポリシー」を選択し、「次へ」をクリックします。

-
-
「ユーザー」テンプレートを選択し、「登録」をクリックします。
-
前のステップで作成した.pfxファイルをエクスポートします。
-
「はい、秘密キーをエクスポートします」をクリックします。

-
「可能であれば、証明のパスにあるすべての証明書を含める」を選択し、「すべての拡張プロパティをエクスポートする」チェックボックスをオンにします。

-
この証明書をCitrix Endpoint Managementにアップロードするときに使用するパスワードを設定します。

-
証明書をハードドライブに保存します。
Citrix Endpoint Managementへの証明書アップロード
- 1. Citrix Endpoint Managementコンソールで、右上隅にある歯車アイコンをクリックします。「**設定**」画面が表示されます。
- 1. 「**証明書**」をクリックし、「**インポート**」をクリックします。
-
次のパラメーターを入力します。
- インポート: キーストア
- キーストアの種類: PKCS #12
- 用途: サーバー
- キーストアファイル: [参照] をクリックして、作成した.pfx証明書を選択します。
- パスワード: この証明書用に作成したパスワードを入力します。

-
「インポート」をクリックします。
-
証明書が正しくインストールされていることを確認します。正しくインストールされた証明書は、ユーザー証明書として表示されます。
証明書ベース認証用のPKIエンティティ作成
-
「設定」で、「その他 > 証明書管理 > PKIエンティティ」に移動します。
-
追加をクリックし、次にMicrosoft 証明書サービスエンティティをクリックします。Microsoft 証明書サービスエンティティ: 一般情報画面が表示されます。
-
次のパラメーターを入力します。
- 名前: 任意の名前を入力します。
-
Web登録サービスルートURL:
https://RootCA-URL/certsrv/(URLパスの最後のスラッシュ「/」を必ず追加してください。) - certnew.cerページ名: certnew.cer (デフォルト値)
- certfnsh.asp: certfnsh.asp (デフォルト値)
- 認証タイプ: クライアント証明書
- SSLクライアント証明書: Citrix Endpoint Managementクライアント証明書の発行に使用するユーザー証明書を選択します。証明書が存在しない場合は、前のセクションの手順に従って証明書をアップロードしてください。

-
テンプレートで、Microsoft証明書を構成したときに作成したテンプレートを追加します。スペースを追加しないでください。

-
HTTPパラメーターをスキップし、次にCA証明書をクリックします。
-
- 環境に対応するルートCA名を選択します。このルートCAは、Citrix Endpoint Managementクライアント証明書からインポートされたチェーンの一部です。

- 保存をクリックします。
資格情報プロバイダーの構成
-
設定で、詳細 > 証明書管理 > 資格情報プロバイダーに移動します。
-
追加をクリックします。
-
一般で、次のパラメーターを入力します。
- 名前: 任意の名前を入力します。
- 説明: 任意の説明を入力します。
- 発行エンティティ: 以前に作成したPKIエンティティを選択します。
- 発行方法: SIGN
- テンプレート: PKIエンティティの下に追加されたテンプレートを選択します。

-
証明書署名要求をクリックし、次に次のパラメーターを入力します。
- キーアルゴリズム: RSA
- キーサイズ: 2048
- 署名アルゴリズム: SHA256withRSA
-
サブジェクト名:
cn=$user.username
サブジェクトの別名については、追加をクリックし、次に次のパラメーターを入力します。
- タイプ: ユーザープリンシパル名
-
値:
$user.userprincipalname

-
配布をクリックし、次のパラメーターを入力します。
- 発行CA証明書: Citrix Endpoint Managementクライアント証明書に署名した発行CAを選択します。
- 配布モードの選択: 集中型を優先: サーバー側キー生成を選択します。

-
次の2つのセクション、失効Citrix Endpoint Managementと失効PKIについては、必要に応じてパラメーターを設定します。この例では、両方のオプションがスキップされます。
-
更新をクリックします。
-
証明書の有効期限が切れたときに更新を有効にします。
-
他のすべての設定はデフォルトのままにするか、必要に応じて変更します。

-
保存をクリックします。
証明書ベースの認証を使用するためのCitrix Secure Mailの構成
Citrix Secure MailをCitrix Endpoint Managementに追加するときは、アプリ設定でExchange設定を必ず構成してください。

Citrix Endpoint ManagementでのNetScaler Gateway証明書配信の構成
-
Citrix Endpoint Managementコンソールで、右上隅の歯車アイコンをクリックします。設定画面が表示されます。
-
サーバーで、NetScaler Gatewayをクリックします。
-
NetScaler Gatewayがまだ追加されていない場合は、追加をクリックして設定を指定します。
- 名前: アプライアンスのわかりやすい名前。
- エイリアス: アプライアンスのオプションのエイリアス。
-
外部URL:
https://YourCitrixGatewayURL - ログオンタイプ: 証明書とドメインを選択します。
- パスワードが必要: オフ
- デフォルトとして設定: オン
-
[認証] および [認証用のユーザー証明書を配信] で、[オン] を選択します。

-
[資格情報プロバイダー] でプロバイダーを選択し、[保存] をクリックします。
-
ユーザー証明書のsAMAccount属性をユーザープリンシパル名 (UPN) の代替として使用するには、Citrix Endpoint ManagementでLDAPコネクタを次のように構成します。[設定] > [LDAP] に移動し、ディレクトリを選択して [編集] をクリックし、[ユーザー検索基準] で [sAMAccountName] を選択します。

Citrix PINとユーザーパスワードのキャッシュを有効にする
Citrix PINとユーザーパスワードのキャッシュを有効にするには、[設定] > [クライアントプロパティ] に移動し、[Citrix PIN認証を有効にする] および [ユーザーパスワードのキャッシュを有効にする] チェックボックスをオンにします。詳しくは、「クライアントプロパティ」を参照してください。
クライアント証明書構成のトラブルシューティング
上記の構成とNetScaler Gateway構成が正常に完了すると、ユーザーワークフローは次のようになります。
-
ユーザーはモバイルデバイスを登録します。
-
Citrix Endpoint Managementは、Citrix PINを作成するようにユーザーに促します。
-
その後、ユーザーはアプリストアにリダイレクトされます。
-
ユーザーがCitrix Secure Mailを起動しても、Citrix Endpoint Managementはメールボックス構成のユーザー資格情報を要求しません。代わりに、Citrix Secure MailはCitrix Secure Hubからクライアント証明書を要求し、認証のためにMicrosoft Exchange Serverに送信します。ユーザーがCitrix Secure Mailを起動したときにCitrix Endpoint Managementが資格情報を要求する場合は、構成を確認してください。
ユーザーがCitrix Secure Mailをダウンロードしてインストールできるものの、メールボックス構成中にCitrix Secure Mailが構成を完了できない場合は、次の点を確認してください。
-
Microsoft Exchange Server ActiveSyncがプライベートSSLサーバー証明書を使用してトラフィックを保護している場合は、ルート/中間証明書がモバイルデバイスにインストールされていることを確認します。
-
ActiveSyncに選択されている認証の種類が [クライアント証明書を要求] に設定されていることを確認します。

-
Microsoft Exchange Serverで、Microsoft-Server-ActiveSyncサイトをチェックして、クライアント証明書マッピング認証が有効になっていることを確認します。デフォルトでは、クライアント証明書マッピング認証は無効になっています。このオプションは、[構成エディター] > [セキュリティ] > [認証] にあります。

[True] を選択したら、変更を有効にするために必ず [適用] をクリックしてください。
-
Citrix Endpoint ManagementコンソールでNetScaler Gateway設定を確認します。[認証用のユーザー証明書を配信] が [オン] になっており、[資格情報プロバイダー] で正しいプロファイルが選択されていることを確認します。
クライアント証明書がモバイルデバイスに配信されたかどうかの確認
-
Citrix Endpoint Managementコンソールで、[管理] > [デバイス] に移動し、デバイスを選択します。
-
[編集] または [詳細を表示] をクリックします。
-
[配信グループ] セクションに移動し、次のエントリを検索します。
NetScaler Gateway資格情報:要求された資格情報、CertId=
クライアント証明書ネゴシエーションが有効になっているかどうかの検証
-
IIS WebサイトにバインドされているSSL証明書構成を表示するには、次の
netshコマンドを実行します。netsh http show sslcert -
[クライアント証明書のネゴシエート] の値が [無効] の場合は、次のコマンドを実行して有効にします。
netsh http delete sslcert ipport=0.0.0.0:443netsh http add sslcert ipport=0.0.0.0:443 certhash=cert_hash appid={app_id} certstorename=store_name verifyclientcertrevocation=Enable VerifyRevocationWithCachedClientCertOnly=Disable UsageCheck=Enable clientcertnegotiation=Enable例:
netsh http add sslcert ipport=0.0.0.0:443 certhash=23498dfsdfhaf98rhkjqf9823rkjhdasf98asfk appid={123asd456jd-a12b-3c45-d678-123456lkjhgf} certstorename=ExampleCertStoreName verifyclientcertrevocation=Enable VerifyRevocationWithCachedClientCertOnly=Disable UsageCheck=Enable clientcertnegotiation=Enable
Citrix Endpoint Managementを介してルート/中間証明書をWindows Phone 8.1デバイスに配信できない場合:
- ルート/中間証明書 (.cer) ファイルを電子メールでWindows Phone 8.1デバイスに送信し、直接インストールします。
Citrix Secure MailがWindows Phone 8.1に正常にインストールされない場合は、次の点を確認してください。
- アプリケーション登録トークン (.AETXファイル) が、Enterprise Hubデバイスポリシーを使用してCitrix Endpoint Managementを介して配信されていること。
- アプリケーション登録トークンが、Citrix Secure MailのラップとCitrix Secure Hubアプリへの署名に使用された証明書プロバイダーからの同じエンタープライズ証明書を使用して作成されたこと。
- Citrix Secure Hub、Citrix Secure Mail、およびアプリケーション登録トークンの署名とラップに同じ発行元IDが使用されていること。

