クライアント証明書、または証明書とドメイン認証の組み合わせ
XenMobileのデフォルト構成は、ユーザー名とパスワードによる認証です。登録およびXenMobile環境へのアクセスのセキュリティを強化するには、証明書ベースの認証の使用を考慮してください。XenMobile環境では、この構成はセキュリティとユーザーエクスペリエンスの最適な組み合わせです。証明書とドメイン認証を利用すれば、Citrix ADCの2要素認証で提供されるセキュリティと共にSSOの最高の可能性を引き出します。
ユーザービリティを最適にするために、この証明書とドメイン認証をCitrix PINやActive Directoryのパスワードキャッシュと組み合わせることができます。その結果、ユーザーはLDAPユーザー名とパスワードを繰り返し入力する必要がなくなります。ただし、登録、パスワード失効、およびアカウントのロックアウトの場合は、ユーザー名とパスワードを入力します。
重要:
XenMobileでは、ユーザーがXenMobileにデバイスを登録した後に、認証モードをドメイン認証から他の認証モードに変更することはサポートされていません。
LDAPやスマートカードの使用または同様の方法を許可しない場合、証明書を構成するとXenMobileにスマートカードを提示できます。ユーザーはそれにより、XenMobileが生成する一意のPINを使用して登録できます。ユーザーがアクセス権を獲得すると、XenMobileは、XenMobile環境を認証するために使用される証明書を作成して展開します。
Citrix ADC for XenMobileウィザードを使用すると、Citrix ADC証明書のみの認証または証明書とドメイン認証の組み合わせを使用する場合、XenMobileに必要な構成を実行できます。Citrix ADC for XenMobileウィザードは1回のみ使用できます。
高セキュリティの環境では、パブリックネットワークまたは保護されていないネットワークで組織外のLDAP資格情報を使用することは、組織に対する最大のセキュリティ脅威とみなされます。高セキュリティの環境では、クライアント証明書とセキュリティトークンを使用する2要素認証がオプションとなります。詳しくは、「Configuring XenMobile for Certificate and Security Token Authentication」を参照してください。
クライアント証明書認証は,XenMobileのMAMモード(MAM-only)およびENTモードで使用できます (ユーザーがMDMに登録している場合)。ユーザーが従来のMAMモードに登録している場合、クライアント証明書認証は、XenMobileのENTモードで使用できません。XenMobile ENTおよびMAMモードでクライアント証明書認証を使用するには、Microsoftサーバー、XenMobile Serverを構成してから、Citrix Gatewayを構成する必要があります。この記事に説明されているとおり、次の手順に従ってください。
Microsoftサーバーの場合:
- 証明書のスナップインをMicrosoft管理コンソールに追加します。
- テンプレートを証明機関(CA)に追加します。
- CAサーバーからPFX証明書を作成します。
XenMobile Serverの場合:
- 証明書をXenMobileにアップロードします。
- 証明書に基づいた認証のためにPKIエンティティを作成します。
- 資格情報プロバイダーを構成します。
- Citrix Gatewayを構成して、認証用のユーザー証明書を配信します。
Citrix Gatewayの構成について詳しくは、次のCitrix ADCドキュメントの記事を参照してください:
前提条件
Microsoft証明書サービスのエンティティテンプレートを作成する場合は、登録済みデバイスの認証に関する問題を避けるため、特殊文字を使用しないでください。たとえば、テンプレート名には以下の文字を使用しないでください:
: ! $ () # % + * ~ ? | {} []
- Exchange ActiveSyncに対して証明書ベースの認証を構成するには、このMicrosoftブログを参照してください。Exchange ActiceSyncの証明機関(CA)サーバーサイトを構成して、クライアント証明書を要求します。
- プライベートサーバー証明書を使用してExchange ServerへのActiveSyncトラフィックを保護する場合は、モバイルデバイスに必要なすべてのルート証明書および中間証明書があることを確認してください。これらの証明書がない場合、Secure Mailでのメールボックス設定時に、証明書ベースの認証が失敗します。Exchange IISコンソールでは、次のことが必要です:
- XenMobileを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を受信者として設定します。
[セキュリティ]で、認証ユーザーの[許可]列の[登録]オプションを選択します。
[暗号化]に、必ずキーのサイズを指定してください。あとで、XenMobileの構成中にキーのサイズを入力します。
[サブジェクト名]で、[要求に含まれる]を選択します。変更を適用して、保存します。
テンプレートを証明機関(CA)に追加する
[証明機関]に移動して、[証明書テンプレート]を選択します。
右ペインを右クリックして、[新規]、[発行する証明書テンプレート]の順に選択します。
前の手順で作成したテンプレートを選択し、[OK]をクリックして[証明機関]に追加します。
CAサーバーからPFX証明書を作成する
ログインしたサービスアカウントで、ユーザー.pfx certを作成します。この.pfxファイルはXenMobileにアップロードされ、デバイスを登録するユーザーのためにユーザー証明書を要求します。
[現在のユーザー]で、[証明書]を展開します。
右ペインで右クリックし、[新しい証明書の要求]をクリックします。
[証明書の登録]画面が開きます。[次へ]をクリックします。
[Active Directory登録ポリシー]を選択して[次へ]をクリックします。
[ユーザー]テンプレートを選択し、[登録]をクリックします。
前の手順で作成した.pfxファイルをエクスポートします。
[はい、秘密キーをエクスポートします]をクリックします。
[証明のパスにある証明書を可能であればすべて含む]を選択し、[すべての拡張プロパティをエクスポートする]チェックボックスをオンにします。
XenMobileにこの証明書をアップロードするときに使用するパスワードを設定します。
証明書をローカルのハードドライブに保存します。
XenMobileへの証明書のアップロード
XenMobileコンソールで、右上の歯車アイコンをクリックします。[設定]画面が表示されます。
[証明書]をクリックしてから、[インポート]をクリックします。
以下のパラメーターを入力します。
- インポート:キーストア
- キーストアの種類:PKCS#12
- 使用目的:サーバー
- キーストアファイル:[参照]をクリックして、作成した
.pfx
証明書を選択します。 - パスワード:この証明書用に作成したパスワードを入力します。
[インポート]をクリックします。
証明書が正常にインストールされているか確認します。正常にインストールされた証明書がユーザー証明書として表示されます。
証明書に基づいた認証のためのPKIエンティティの作成
[設定]で、[詳細]>[証明書管理]>[PKIエンティティ]の順に移動します。
[追加]をクリックしてから、[Microsoft証明書サービスエンティティ]をクリックします。[Microsoft 証明書サービスエンティティ:一般的な情報]画面が開きます。
以下のパラメーターを入力します。
- 名前:任意の名前を入力します。
- Web登録サービスルートURL:
https://RootCA-URL/certsrv/
(URLパスの最後にスラッシュ(/)があることを確認してください。) - certnew.cerページ名:certnew.cer(デフォルト値)
- certfnsh.asp:certfnsh.asp(デフォルト値)
- 認証の種類:クライアント証明書
- SSLクライアント証明書:XenMobileクライアント証明書を発行するために使用するユーザー証明書を選択します。
[テンプレート]で、Microsoft証明書を構成したときに作成したテンプレートを追加します。スペースを追加しないでください。
HTTPパラメーターをスキップし、[CA証明書]をクリックします。
環境内で関連するルートCA証明書の名前を選択します。このルートCA証明書は、XenMobileクライアント証明書からインポートされたチェーンの一部です。
[保存]をクリックします。
資格情報プロバイダーの構成
[設定]で、[詳細]>[証明書管理]>[資格情報プロバイダー]の順に移動します。
[追加]をクリックします。
[全般]で、次のパラメーターを入力します:
- 名前:任意の名前を入力します。
- 説明:任意の説明を入力します。
- 発行エンティティ:前に作成したPKIエンティティを選択します。
- 発行方式:SIGN
- テンプレート:PKIエンティティに追加されたテンプレートを選択します。
[証明書署名要求]をクリックしてから、次のパラメーターを入力します:
- キーアルゴリズム:RSA
- キーサイズ:2048
- 署名アルゴリズム:SHA256withRSA
- サブジェクト名:
cn=$user.username
[サブジェクトの別名]の[追加]をクリックしてから、次のパラメーターを入力します:
- 種類:ユーザープリンシパル名
- 値:
$user.userprincipalname
[説明]をクリックし,次のパラメーターを入力します:
- 発行CA証明書:署名済みのXenMobileクライアント証明書の発行CAを選択します。
- ディストリビューションモードの選択:[集中を優先:サーバー側のキー生成]を選択します。
次の2つのセクション、失効XenMobileと失効PKIで必要なパラメーターを設定します。この例では、どちらのオプションもスキップします。
[更新]をクリックします。
[有効期限が切れたら証明書を更新]で[オン]を選択します。
そのほかの設定はすべてそのままにするか、必要な変更を加えます。
[保存]をクリックします。
証明書ベースの認証を使用するようにSecure Mailを構成する
XenMobileにSecure Mailを追加する場合、必ず[App Settings]でExchangeの設定を構成してください。
XenMobileでのCitrix ADC証明書の配信の構成
XenMobileコンソールにログオンして、右上の歯車アイコンをクリックします。[設定]画面が表示されます。
[サーバー]の下の[Citrix Gateway]をクリックします。
Citrix Gatewayがまだ追加されていない場合、[追加]をクリックして、次のように設定を指定します:
- 外部URL:
https://YourCitrixGatewayURL
- ログオンの種類:証明書およびドメイン
- パスワードが必要:オフ
- デフォルトとして設定:オン
- 外部URL:
[認証用のユーザー証明書を配信]で[オン]を選択します。
[資格情報プロバイダー]でプロバイダーを選択し、[保存]をクリックします。
ユーザープリンシパル名(UPN)の代替としてユーザー証明書のsAMAccount属性を使用するには、XenMobileのLDAPコネクタを次のように構成します:[設定]>[LDAP]に移動し、ディレクトリを選択して[編集]をクリックし,[ユーザー検索基準]で[sAMAccountName]を選択します。
Citrix PINとユーザーパスワードキャッシュの有効化
Citrix PINとユーザーパスワードキャッシュを有効化するには、[設定]>[クライアントプロパティ]に移動し、チェックボックス[Citrix PIN認証の有効化]および[ユーザーパスワードキャッシュの有効化]をオンにします。詳しくは、「クライアントプロパティ」を参照してください。
クライアント証明書構成のトラブルシューティング
先行する構成とCitrix Gatewayの構成が成功すると、ユーザーワークフローは次のようになります:
ユーザーがモバイルデバイスを登録します。
XenMobileがユーザーにCitrix PINを作成するよう求めます。
ユーザーがXenMobile Storeにリダイレクトされます。
Secure Mailの起動時、XenMobileはメールボックスの構成でユーザー資格情報を要求しません。その代わりに、Secure MailはSecure Hubからのクライアント証明書を要求し、認証のためにMicrosoft Exchange Serverに送信します。ユーザーがSecure Mailを起動したときにXenMobileで資格情報を求められた場合は、構成を確認してください。
ユーザーはSecure Mailをダウンロードしてインストールできるが、Secure Mailでメールボックス構成時に構成を完了できない場合:
Microsoft Exchange Server ActiveSyncがプライベートSSLサーバー証明書を使用してトラフィックを保護している場合、ルート証明書または中間証明書がモバイルデバイスにインストールされていることを確認してください。
ActiveSyncに対して選択された認証の種類が[クライアント証明書を要求する]であることを確認します。
Microsoft Exchange Serverで、Microsoft-Server-ActiveSyncサイトのクライアント証明書マッピング認証が有効になっていることを確認します。デフォルトでは、クライアント証明書マッピング認証は無効になっています。オプションは、[Configuration Editor]>[Security]>[Authentication]にあります。
[True]を選択したら、必ず[適用]をクリックして変更を反映してください。
XenMobileコンソールでCitrix Gateway設定を確認します:[認証用のユーザー証明書を配信]が[オン]で、[資格情報プロバイダー]で適切なプロファイルが選択されていることを確認してください。
クライアント証明書がモバイルデバイスに配信されたかどうかを判定するには
XenMobileコンソールで、[管理]>[デバイス]と移動して、デバイスを選択します。
[編集]または[詳細表示]をクリックします。
[デリバリーグループ]セクションに移動し、以下のエントリを検索します:
Citrix 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=609da5df280d1f54a7deb714fb2c5435c94e05da appid={4dc3e181-e14b-4a21-b022-59fc669b0914} certstorename=ExampleCertStoreName verifyclientcertrevocation=Enable VerifyRevocationWithCachedClientCertOnly=Disable UsageCheck=Enable clientcertnegotiation=Enable