Product Documentation

クライアント証明書、または証明書とドメイン認証の組み合わせ

Apr 27, 2017

XenMobileのデフォルト構成は、ユーザー名とパスワードによる認証です。登録およびXenMobile環境へのアクセスのセキュリティを強化するには、証明書ベースの認証の使用を考慮してください。XenMobile環境では、この構成が、最適なSSO機能とNetScalerでの2要素認証によって提供されるセキュリティが結びついている、セキュリティおよびユーザーエクスペリエンスの最高の組み合わせです。

LDAPやスマートカードの使用または同様の方法を許可しない場合、証明書を構成するとXenMobileにスマートカードを提示できます。ユーザーはそれにより、XenMobileが生成する一意のPINを使用して登録できます。ユーザーがアクセス権を獲得すると、XenMobileは、それ以降XenMobile環境に認証するために使用される証明書を作成して展開します。

NetScaler for XenMobileウィザードを使用すると、NetScaler証明書のみの認証または証明書とドメイン認証の組み合わせを使用する場合、XenMobileに必要な構成を実行できます。NetScaler for XenMobileウィザードは1回のみ実行できます。 

非常にセキュアな環境で、パブリックまたはセキュリティが確保されていないネットワークでの組織外のLDAP資格情報の使用が組織に対する主要なセキュリティの脅威とみなされる場合には、クライアント証明書とセキュリティトークンを使用する2要素認証が選択肢になります。詳しくは、「Configuring XenMobile for Certificate and Security Token Authentication」を参照してください。

クライアント証明書認証は、XenMobileのMAMモード(MAM-only)およびENTモードで使用できます (ユーザーがMDMに登録している場合)。ユーザーが従来のMDMモードに登録している場合、クライアント証明書認証は、XenMobileのENTモードで使用できません。XenMobile ENTおよびMAMモードでクライアント証明書認証を使用するには、Microsoftサーバー、XenMobileサーバーを構成してから、NetScaler Gatewayを構成する必要があります。この記事に説明されているとおり、次の手順に従ってください。

Microsoftサーバーの場合

  1. 証明書のスナップインをMicrosoft管理コンソールに追加します。
  2. テンプレートを証明機関(CA)に追加します。
  3. CAサーバーからPFX証明書を作成します。

XenMobileサーバーの場合

  1. 証明書をXenMobileにアップロードします。
  2. 証明書に基づいた認証のためにPKIエンティティを作成します。
  3. 資格情報プロバイダーを構成します。
  4. NetScaler Gatewayを構成して、認証用のユーザー証明書を配信します。

NetScaler Gatewayで、NetScaler Gatewayドキュメントの「Configuring Client Certificate or Client Certificate and Domain Authentication」の説明に従って構成します。

前提条件

  • クライアント証明書認証およびSSL Offloadを使用するWindows Phone 8.1デバイスの場合、NetScaler内の両方の負荷分散仮想サーバー上のポート443に対するSSLセッション再利用を無効にする必要があります。そうするには、vserver上でポート443に対して次のコマンドを実行します。

set ssl vserver sessReuse DISABLE

注:SSLセッション再利用を無効にすると、NetScalerで提供される最適化の一部が無効になり、NetScaler上のパフォーマンスが低下することがあります。

  • Exchange ActiveSyncに対して証明書ベースの認証を構成するには、このMicrosoftのブログを参照してください。
  • プライベートサーバー証明書を使用してExchange ServerへのActiveSyncトラフィックを保護する場合は、モバイルデバイスがすべてのルート証明書および中間証明書を持っていることを確認してください。これらの証明書がない場合、Secure Mailでのメールボックス設定時に、証明書ベースの認証が失敗します。Exchange IIS Consoleコンソールでは、次のことが必要です。
    • XenMobileをExchangeと使用するためのWebサイトを追加し、Webサーバー証明書をバインドします。 
    • ポート9443を使用します。 
    • そのWebサイトに対して、Microsoft-Server-ActiveSync用とEWS用に、2つのアプリケーションを追加する必要があります。それらの両方のアプリケーションに対して、[SSL Settings][Require SSL]を選択します。
  • 最新のMDX Toolkitを使用してiOS、AndroidおよびWindows Phone用のSecure Mailがラップされていることを確認します。

証明書のスナップインのMicrosoft管理コンソールへの追加

1. コンソールを開いて、[Add/Remove Snap-Ins]をクリックします。

2. 次のスナップインを追加します。

証明書テンプレート
証明書(ローカルコンピューター)
証明書 - 現在のユーザー
証明機関(ローカル)

localized image

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

localized image

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

localized image

5. [テンプレート]の表示名を入力します。

重要:必要な場合以外は、[Active Directoryの証明書を発行する]チェックボックスを選択しないでください。このオプションが選択されると、すべてのユーザークライアント証明書がActive Directoryで発行/作成され、Active Directoryデータベースを圧迫する可能性があります。

6. テンプレートタイプとして[Windows 2003 Server]を選択します。Windows 2012 R2サーバーの[互換性]で、[証明機関]を選択してWindows 2003を受信者として設定します。

7.[セキュリティ]で、認証ユーザーの[許可]列の[登録]オプションを選択します。

localized image

8.[暗号]で、XenMobileの構成中に入力する必要のあるキーサイズが入力されていることを確認します。 

localized image

9.[サブジェクト名]で、[要求に含まれる]を選択します。変更を適用して、保存します。

localized image

証明機関(CA)へのテンプレートの追加

1.[証明機関]に移動して、[証明書のテンプレート]を選択します。

2. 右ペインを右クリックして、[新規]、[発行する証明書テンプレート]の順に選択します。

localized image

3. 前の手順で作成したテンプレートを選択し、[OK]をクリックして[証明機関]に追加します。

localized image

CAサーバーからのPFX証明書の作成

1. ログインしたサービスアカウントで、ユーザー.pfx certを作成します。この.pfxファイルはXenMobileにアップロードされ、デバイスを登録するユーザーのためにユーザー証明書を要求します。

2.[現在のユーザー]で、[証明書]を展開します。

3. 右ペインで右クリックし、[新しい証明書の要求]をクリックします。

localized image

4.[証明書の登録]画面が開きます。[次へ]をクリックします。

localized image

5.[Active Directory登録ポリシー]を選択して[次へ]をクリックします。

localized image

6.[ユーザー]テンプレートを選択し、[登録]をクリックします。

localized image

7. 前の手順で作成した.pfxファイルをエクスポートします。

localized image

8.[はい、秘密キーをエクスポートします]をクリックします。

localized image

9.[証明のパスにある証明書を可能であればすべて含む]を選択し、[すべての拡張プロパティをエクスポートする]チェックボックスを選択します。

localized image

10.  XenMobileに証明書をアップロードするときに使用するパスワードを設定します。

localized image

11. 証明書をローカルのハードドライブに保存します。

XenMobileへの証明書のアップロード

1. XenMobileコンソールで、右上の歯車アイコンをクリックします。[Settings]画面が表示されます。

2.[Certificates]をクリックしてから、[Import]をクリックします。

3. 以下のパラメーターを入力します。

  • Import:Keystore
  • Keystore type:PKCS#12
  • Use as:Server
  • Key File Name:[参照]をクリックして、前の手順で作成した.pfx証明書を選択します。
  • Password:証明書と一緒に作成したパスワードを入力します。 
localized image

4.[Import]をクリックします。

5. 証明書が正常にインストールされているか確認します。ユーザー証明書として表示されているはずです。

証明書に基づいた認証のためのPKIエンティティの作成

1.[Settings]で、[More]、[Certificate Management]、[PKI Entities]の順に移動します。

2.[Add]をクリックしてから、[Microsoft Certificate Services Entity]をクリックします。[Microsoft証明書サービス エンティティ: 一般的な情報]画面が表示されます。

3. 以下のパラメーターを入力します。

  • Name:任意の名前を入力します
  • Web enrollment service root URL:https://RootCA-URL/certsrv/
    Be sure to add the last slash (/) in the URL path.
  • certnew.cerページ名:certnew.cer(デフォルト値)
  • certfnsh.asp:certfnsh.asp(デフォルト値)
  • Authentication type:クライアント証明書。
  • SSL client certificate:XenMobileクライアント証明書を発行するために使用するユーザー証明書を選択します。
localized image

4.[Template]で、Microsoft証明書を構成したときに作成したテンプレートを追加します。空白を入れないように注意してください。

localized image

5. HTTPパラメーターをスキップし、[CA Certificates]をクリックします。

6. 環境内で関連するルートCA証明書の名前を選択します。このルートCA証明書は、XenMobileクライアント証明書からインポートされたチェーンの一部です。

localized image

7.[Save]をクリックします。

資格情報プロバイダーの構成

1.[Settings]で、[More]、[Certificate Management]、[Credential Providers]の順に移動します。

2.[Add]をクリックします。

3.[General]で、次のパラメーターを入力します。

  • Name:任意の名前を入力します。
  • Description:任意の説明を入力します。
  • Issuing entity:前に作成したPKIエンティティを選択します。
  • Issuing method:SIGN
  • Templates:PKIエンティティに追加されたテンプレートを選択します。 
localized image

4.[Certificate Signing Request]をクリックしてから、次のパラメーターを入力します。

  • Key algorithm:RSA
  • Key size:2048
  • Signature algorithm:SHA1withRSA
  • Subject name:cn=$user.username

[Subject Alternative Names][Add]をクリックしてから、次のパラメーターを入力します。

  • Type:ユーザープリンシパル名
  • Value:$user.userprincipalname
localized image

5.[Distribution]をクリックし、次のパラメーターを入力します。

  • Issuing CA certificate:署名済みのXenMobileクライアント証明書の発行CAを選択します。
  • Select distribution mode[Prefer centralized: Server-side key generation]を選択します。
localized image

6. 次の2つのセクション(Revocation XenMobileRevocation PKI--)で必要なパラメーターを設定します。この記事では、このオプションをスキップします。

7.[Renewal]をクリックします。

8.[Renew certificates when they expire][ON]を選択します。

9. そのほかの設定はすべてそのままにするか、必要な変更を加えます。 

localized image

10.[Save]をクリックします。

証明書ベースの認証を使用するようにSecure Mailを構成する

XenMobileにSecure Mailを追加する場合、必ず[App Settings]でExchangeの設定を構成してください。

localized image

XenMobileでのNetScaler証明書の配信の構成

1. XenMobileコンソールにログオンして、右上の歯車アイコンをクリックします。[Settings]画面が表示されます。

2.[Server]の下の[NetScaler Gateway]をクリックします。

3. NetScaler Gatewayがまだ追加されていない場合、[Add]をクリックして、次のように設定を指定します。

  • External URL:https://YourNetScalerGatewayURL
  • Logon Type:Certificate
  • Password Required:OFF
  • Set as Default:ON

4.[Deliver user certificate for authentication][On]を選択します。

localized image

5.[Credential Provider]でプロバイダーを選択し、[Save]をクリックします。

6. ユーザープリンシパル名(UPN)の代替としてユーザー証明書のsAMAccount属性を使用する場合、XenMobileでLDAPコネクタを次のように構成します:[Settings]>[LDAP]に移動し、ディレクトリを選択して[Edit]をクリックし、[User search by][sAMAccountName]を選択します。

localized image

Windows Phone 8.1および10デバイス用のEnterprise Hubポリシーの作成

Windows Phoneデバイスの場合、Enterprise Hubデバイスポリシーを作成して、AETXファイルおよびSecure Hubクライアントを配信する必要があります。

注意

AETXファイルとSecure Hubファイルの両方で、証明書プロバイダーからの同じエンタープライズ証明書と、Windowsストア開発者アカウントからの同じ発行元IDが使用されていることを確認してください。

1. XenMobileコンソールで、[Configure]の[Device Policies]をクリックします。

2.[Add]をクリックした後、[More]>[XenMobile Agent]の下の[Enterprise Hub]をクリックします。

3. ポリシーに名前を付けた後で、エンタープライズハブに対して適切な.AETXファイルと署名されたSecure Hubアプリを選択します。

localized image

4. ポリシーをデリバリーグループに割り当て、保存します。

クライアント証明書構成のトラブルシューティング

先行する構成とNetScaler Gatewayの構成が成功すると、ユーザーワークフローは次のようになります。

1. ユーザーがモバイルデバイスを登録します。

2. XenMobileがユーザーにCitrix PINを作成するよう求めます。

3. ユーザーがXenMobile Storeにリダイレクトされます。

4. ユーザーがiOS、AndroidまたはWindows Phone 8.1用のSecure Mailを起動した場合、XenMobileはユーザーのメールボックスを構成するための適切な資格情報を求めません。その代わりに、Secure MailはSecure Hubからのクライアント証明書を要求し、認証のためにMicrosoft Exchange Serverに送信します。ユーザーがSecure Mailを起動したときにXenMobileで資格情報を求められた場合は、構成を確認してください。

ユーザーはSecure Mailをダウンロードしてインストールできるが、Secure Mailでメールボックス構成時に構成を完了できない場合:

1. Microsoft Exchange Server ActiveSyncがプライベートSSLサーバー証明書を使用してトラフィックを保護している場合、ルート証明書または中間証明書がモバイルデバイスにインストールされていることを確認してください。

2. ActiveSyncに対して選択された認証の種類が[Require client certificates]であることを確認します。

localized image

3. Microsoft Exchange Serverで、Microsoft-Server-ActiveSyncサイトのクライアント証明書マッピング認証が有効になっていることを確認します(デフォルトでは無効)。オプションは、[Configuration Editor]>[Security]>[Authentication]にあります。

localized image

注:[True]を選択したら、必ず[Apply]をクリックして変更を反映してください。

4. XenMobileコンソールでNetScaler Gateway設定を確認します:「XenMobileでNetScaler証明書の配信を構成するには」の説明に従って、[Deliver user certificate for authentication][ON]で、[Credential provider]で適切なプロファイルが選択されていることを確認してください。


クライアント証明書がモバイルデバイスに配信されたかどうかを判定するには:

1. XenMobileコンソールで、[Manage]>[Devices]と移動して、デバイスを選択します。

2.[Edit]または[Show More]をクリックします。

3.[Delivery Groups]セクションに移動し、このエントリを検索します。

NetScaler Gateway資格情報: 要求された資格情報、CertId=


クライアント証明書ネゴシエーションが有効かどうか確認するには:

1. このnetshコマンドを実行して、IIS WebサイトにバインドされたSSL証明書構成を表示します。

netsh http show sslcert

2.[Negotiate Client Certificate]の値が[Disabled]の場合、次のコマンドを実行して有効化します。

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

XenMobileを介してWindows Phone 8.1デバイスにルート証明書または中間証明書を配信できない場合:

  • 電子メールを介してWindows Phone 8.1デバイスにルート証明書または中間証明書(.cer)ファイルを送信し、直接インストールします。

Secure MailがWindows Phone 8.1に正常にインストールされない場合:

  • Enterpriseハブデバイスポリシーを使用して、XenMobile経由でアプリケーション登録トークン(.AETX)ファイルが配信されていることを確認します。
  • アプリケーション登録トークンが、Secure MailのラップおよびSecure Hubアプリの署名に使用された証明書プロバイダーからのエンタープライズ証明書と同じものを使用して作成されたことを確認します。
  • Secure Hub、Secure Mail、アプリケーション登録トークンのラップと署名に同一の発行者IDが使用されていることを確認します。