クライアント証明書、または証明書とドメイン認証の組み合わせ
Citrix Endpoint Managementのデフォルト構成は、ユーザー名とパスワードによる認証です。登録およびCitrix Endpoint Management環境へのアクセスのセキュリティを強化するには、証明書ベースの認証の使用を考慮してください。Citrix Endpoint Management環境では、この構成はセキュリティとユーザーエクスペリエンスの最適な組み合わせです。証明書とドメイン認証を利用すれば、NetScaler Gatewayの2要素認証で提供されるセキュリティとと共に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 for XenMobileウィザードを使用すると、NetScaler Gateway証明書のみの認証または証明書とドメイン認証の組み合わせを使用する場合、Citrix Endpoint Managementに必要な構成を実行できます。NetScaler for XenMobileウィザードは1回のみ実行できます。
高セキュリティの環境では、パブリックネットワークまたは保護されていないネットワークで組織外のLDAP資格情報を使用することは、組織に対する最大のセキュリティ脅威とみなされます。高セキュリティの環境では、クライアント証明書とセキュリティトークンを使用する2要素認証がオプションとなります。詳しくは、「Configuring Citrix Endpoint Management for Certificate and Security Token Authentication」を参照してください。
クライアント証明書認証は、MAMおよびMDM+MAMで登録しているデバイスで使用できます。これらのデバイスでクライアント証明書認証を使用するには、Microsoftサーバー、Citrix Endpoint Managementを構成してから、NetScaler Gatewayを構成する必要があります。この記事に説明されているとおり、次の手順に従ってください。
Microsoftサーバーの場合:
- 証明書のスナップインをMicrosoft管理コンソールに追加します。
- テンプレートを証明機関(CA)に追加します。
- CAサーバーからPFX証明書を作成します。
Citrix Endpoint Managementの場合:
- 証明書をCitrix Endpoint Managementにアップロードします。
- 証明書に基づいた認証のためにPKIエンティティを作成します。
- 資格情報プロバイダーを構成します。
- NetScaler Gatewayを構成して、認証用のユーザー証明書を配信します。
NetScaler Gatewayの構成について詳しくは、次のCitrix ADCドキュメントを参照してください:
前提条件
-
Microsoft証明書サービスのエンティティテンプレートを作成する場合は、登録済みデバイスの認証に関する問題を避けるため、特殊文字を使用しないでください。たとえば、テンプレート名には以下の文字を使用しないでください:
: ! $ () # % + * ~ ? | {} []
- Exchange ActiveSyncに対して証明書ベースの認証を構成するには、Exchange Serverに関するMicrosoftドキュメントを参照してください。Exchange ActiceSyncの証明機関(CA)サーバーサイトを構成して、クライアント証明書を要求します。
- プライベートサーバー証明書を使用してExchange ServerへのActiveSyncトラフィックを保護する場合は、モバイルデバイスにすべてのルート証明書および中間証明書があることを確認してください。これらの証明書がない場合、Citrix Secure Mailでのメールボックス設定時に、証明書ベースの認証が失敗します。Exchange IISコンソールでは、次のことが必要です:
- Citrix Endpoint ManagementをExchangeと使用するためのWebサイトを追加し、Webサーバー証明書をバインドします。
- ポート9443を使用します。
- そのWebサイトに対して、Microsoft-Server-ActiveSync用とEWS用に、2つのアプリケーションを追加する必要があります。それらの両方のアプリケーションに対して、[SSL Settings] で [Require SSL] を選択します。
証明書のスナップインをMicrosoft管理コンソールに追加する
-
コンソールを開いて、[スナップインの追加と削除] をクリックします。
-
次のスナップインを追加します:
- 証明書テンプレート
- 証明書(ローカルコンピューター)
- 証明書 - 現在のユーザー
- 証明機関(CA)(ローカル)
-
[証明書テンプレート] を展開します。
-
[ユーザー] テンプレートと [テンプレートの複製] を選択します。
-
[テンプレート]の表示名を入力します。
重要:
必要な場合のみ、[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の構成中にキーのサイズを入力します。
-
[サブジェクト名] で、[要求に含まれる] を選択します。変更を適用して、保存します。
テンプレートを証明機関(CA)に追加する
-
[証明機関] に移動して、[証明書テンプレート] を選択します。
-
右ペインを右クリックして、[新規]、[発行する証明書テンプレート] の順に選択します。
-
前の手順で作成したテンプレートを選択し、[OK] をクリックして [証明機関] に追加します。
CAサーバーからPFX証明書を作成する
-
ログインしたサービスアカウントで、ユーザー.pfx certを作成します。この.pfxファイルはCitrix Endpoint Managementにアップロードされ、デバイスを登録するユーザーのためにユーザー証明書を要求します。
-
[現在のユーザー] で、[証明書] を展開します。
-
右ペインで右クリックし、[新しい証明書の要求] をクリックします。
-
[証明書の登録] 画面が開きます。[次へ] をクリックします。
-
[Active Directory登録ポリシー] を選択して [次へ] をクリックします。
-
[ユーザー] テンプレートを選択し、[登録] をクリックします。
-
前の手順で作成した.pfxファイルをエクスポートします。
-
[はい、秘密キーをエクスポートします] をクリックします。
-
[証明のパスにある証明書を可能であればすべて含む] を選択し、[すべての拡張プロパティをエクスポートする] チェックボックスをオンにします。
-
Citrix Endpoint Managementにこの証明書をアップロードするときに使用するパスワードを設定します。
-
証明書をローカルのハードドライブに保存します。
Citrix Endpoint Managementへの証明書のアップロード
-
Citrix Endpoint Managementコンソールで、右上の歯車アイコンをクリックします。[設定] 画面が表示されます。
-
[証明書] をクリックしてから、[インポート] をクリックします。
-
以下のパラメーターを入力します。
- インポート: キーストア
- キーストアの種類: 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クライアント証明書からインポートされたチェーンの一部です。
-
[Save] をクリックします。
資格情報プロバイダーの構成
-
[設定] で、[詳細]>[証明書管理]>[資格情報プロバイダー] の順に移動します。
-
[追加] をクリックします。
-
[全般] で、次のパラメーターを入力します:
- 名前: 任意の名前を入力します。
- 説明: 任意の説明を入力します。
- 発行エンティティ: 前に作成したPKIエンティティを選択します。
- 発行方式: SIGN
- テンプレート: PKIエンティティに追加されたテンプレートを選択します。
-
[証明書署名要求] をクリックしてから、次のパラメーターを入力します:
- キーアルゴリズム: RSA
- キーサイズ: 2048
- 署名アルゴリズム: SHA256withRSA
-
サブジェクト名:
cn=$user.username
[サブジェクトの別名] の [追加] をクリックしてから、次のパラメーターを入力します:
- 種類: ユーザープリンシパル名
-
値:
$user.userprincipalname
-
[説明] をクリックし、次のパラメーターを入力します:
- 発行CA証明書: 署名済みのCitrix Endpoint Managementクライアント証明書の発行CAを選択します。
- ディストリビューションモードの選択: [集中を優先:サーバー側のキー生成] を選択します。
-
次の2つのセクション(失効 Citrix Endpoint Managementと失効 PKI)で必要なパラメーターを設定します。この例では、どちらのオプションもスキップします。
-
[更新] をクリックします。
-
[有効期限が切れたら証明書を書き換える] を有効にします。
-
そのほかの設定はすべてそのままにするか、必要な変更を加えます。
-
[Save] をクリックします。
証明書ベースの認証を使用するようにCitrix Secure Mailを構成する
Citrix Endpoint ManagementにCitrix Secure Mailを追加する場合、必ず [アプリ設定] でExchangeの設定を構成してください。
Citrix Endpoint ManagementでのNetScaler Gateway証明書の配信の構成
-
Citrix Endpoint Managementコンソールで、右上の歯車アイコンをクリックします。[設定] 画面が表示されます。
-
[サーバー] の下の [NetScaler Gateway] をクリックします。
-
NetScaler Gatewayがまだ追加されていない場合、[追加] をクリックして、次のように設定を指定します。
- 名前: アプライアンスの説明的な名前を入力します。
- エイリアス: アプライアンスのオプションのエイリアスを入力します。
-
外部URL:
https://YourCitrixGatewayURL
- ログオンの種類: [証明書およびドメイン]を選択します。
- パスワードが必要: オフ
- デフォルトとして設定: オン
-
[認証] および [認証用のユーザー証明書を配信] で [オン] を選択します。
-
[資格情報プロバイダー] でプロバイダーを選択し、[保存] をクリックします。
-
ユーザープリンシパル名(UPN)の代替としてユーザー証明書のsAMAccount属性を使用するには、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 サイトのクライアント証明書マッピング認証が有効になっていることを確認します。デフォルトでは、クライアント証明書マッピング認証は無効になっています。オプションは、[Configuration Editor]>[Security]>[Authentication] にあります。
[True] を選択したら、必ず [適用] をクリックして変更を反映してください。
-
Citrix Endpoint ManagementコンソールでNetScaler Gateway設定を確認します:[認証用のユーザー証明書を配信] が [オン] で、[資格情報プロバイダー]で適切なプロファイルが選択されていることを確認してください。
クライアント証明書がモバイルデバイスに配信されたかどうかを判定するには
-
Citrix Endpoint Managementコンソールで、[管理]>[デバイス] と移動して、デバイスを選択します。
-
[編集] または [詳細表示] をクリックします。
-
[デリバリーグループ] セクションに移動し、以下のエントリを検索します:
NetScaler Gateway資格情報:必要な資格情報、CertId=
クライアント証明書ネゴシエーションが有効かどうか確認するには
-
この
netsh
コマンドを実行して、IIS WebサイトにバインドされたSSL証明書構成を表示します。netsh http show sslcert
-
[クライアント証明書のネゴシエート] の値が [無効] の場合、次のコマンドを実行して有効化します:
netsh http delete sslcert ipport=0.0.0.0:443
netsh 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デバイスにルート証明書または中間証明書を配信できない場合:
- 電子メールを介してWindows Phone 8.1デバイスにルート証明書または中間証明書(.cer)ファイルを送信し、直接インストールします。
Citrix Secure MailがWindows Phone 8.1に正常にインストールされない場合は、以下を確認してください:
- Enterpriseハブデバイスポリシーを使用して、Citrix Endpoint Management経由でアプリケーション登録トークン(.AETXファイル)が配信されている。
- アプリケーション登録トークンが、Citrix Secure MailのラップおよびCitrix Secure Hubアプリの署名に使用された証明書プロバイダーからのエンタープライズ証明書と同じものを使用して作成されている。
- Citrix Secure Hub、Citrix Secure Mail、アプリケーション登録トークンのラップと署名に同一の発行者IDが使用されている。