XenMobile® Server

証明書と認証

XenMobile® の運用中に認証で役割を果たすコンポーネントはいくつかあります。

  • XenMobile Server: XenMobile Server は、登録セキュリティと登録エクスペリエンスを定義する場所です。ユーザーのオンボーディングオプションには、以下が含まれます。
    • 登録をすべての人に公開するか、招待者のみにするか。
    • 2要素認証または3要素認証を要求するかどうか。XenMobile のクライアントプロパティを通じて、Citrix PIN 認証を有効にし、PIN の複雑さと有効期限を設定できます。
  • Citrix ADC: Citrix ADC は、マイクロ VPN SSL セッションの終端を提供します。Citrix ADC は、ネットワークの転送中のセキュリティも提供し、ユーザーがアプリにアクセスするたびに使用される認証エクスペリエンスを定義できます。
  • Secure Hub: Secure Hub と XenMobile Server は、登録操作で連携します。Secure Hub は、Citrix ADC と通信するデバイス上のエンティティです。セッションの有効期限が切れると、Secure Hub は Citrix ADC から認証チケットを取得し、そのチケットを MDX アプリに渡します。Citrix は、中間者攻撃を防ぐ証明書ピンニングを推奨しています。詳細については、Secure Hub の記事のこのセクションを参照してください: 証明書ピンニング

    Secure Hub は、MDX セキュリティコンテナも促進します。Secure Hub はポリシーをプッシュし、アプリがタイムアウトしたときに Citrix ADC とセッションを作成し、MDX のタイムアウトと認証エクスペリエンスを定義します。Secure Hub は、ジェイルブレイク検出、位置情報チェック、および適用するすべてのポリシーも担当します。

  • MDX ポリシー: MDX ポリシーは、デバイス上にデータボールトを作成します。MDX ポリシーは、マイクロ VPN 接続を Citrix ADC に戻し、オフラインモードの制限を強制し、タイムアウトなどのクライアントポリシーを強制します。

認証の構成に関する詳細情報(単一要素認証と2要素認証の概要を含む)については、展開ハンドブックの記事「認証」を参照してください。

XenMobile では、証明書を使用して安全な接続を作成し、ユーザーを認証します。この記事の残りの部分では、証明書について説明します。その他の構成の詳細については、以下の記事を参照してください。

証明書

XenMobile は、インストール中に自己署名 Secure Sockets Layer (SSL) 証明書を生成し、サーバーへの通信フローを保護します。SSL 証明書は、よく知られた CA からの信頼された SSL 証明書に置き換える必要があります。

XenMobile は、独自の公開鍵基盤 (PKI) サービスも使用するか、クライアント証明書のために CA から証明書を取得します。すべての Citrix 製品は、ワイルドカード証明書とサブジェクト代替名 (SAN) 証明書をサポートしています。ほとんどの展開では、2つのワイルドカード証明書または SAN 証明書のみが必要です。

クライアント証明書認証は、モバイルアプリに追加のセキュリティ層を提供し、ユーザーが HDX™ アプリにシームレスにアクセスできるようにします。クライアント証明書認証が構成されている場合、ユーザーは Citrix PIN を入力して、XenMobile 対応アプリへのシングルサインオン (SSO) アクセスを行います。Citrix PIN は、ユーザー認証エクスペリエンスも簡素化します。Citrix PIN は、クライアント証明書を保護したり、Active Directory 資格情報をデバイスにローカルに保存したりするために使用されます。

XenMobile で iOS デバイスを登録および管理するには、Apple から Apple Push Notification Service (APNs) 証明書を設定および作成します。手順については、「APNs 証明書」を参照してください。

次の表は、各 XenMobile コンポーネントの証明書形式と種類を示しています。

XenMobile コンポーネント 証明書形式 必要な証明書の種類
Citrix Gateway PEM (BASE64)、PFX (PKCS #12) SSL、ルート (Citrix Gateway は PFX を自動的に PEM に変換します。)
XenMobile Server .p12 (Windows ベースのコンピューターでは .pfx) SSL、SAML、APNs (XenMobile はインストールプロセス中に完全な PKI も生成します。) 重要: XenMobile Server は .pem 拡張子の証明書をサポートしていません。.pem 証明書を使用するには、.pem ファイルを証明書とキーに分割し、それぞれを XenMobile Server にインポートします。
StoreFront™ PFX (PKCS #12) SSL、ルート

XenMobile は、4096、2048、1024 ビット長の SSL リスナー証明書とクライアント証明書をサポートしています。1024 ビット証明書は簡単に侵害されます。

Citrix Gateway および XenMobile Server の場合、Citrix は Verisign、DigiCert、Thawte などのパブリック CA からサーバー証明書を取得することを推奨しています。Citrix Gateway または XenMobile 構成ユーティリティから証明書署名要求 (CSR) を作成できます。CSR を作成したら、署名のために CA に提出します。CA が署名済み証明書を返したら、Citrix Gateway または XenMobile に証明書をインストールできます。

重要: iOS、iPadOS、および macOS での信頼された証明書の要件

Apple には、TLS サーバー証明書に関する新しい要件があります。すべての証明書が新しい Apple の要件に従っていることを確認してください。Apple の公開情報 https://support.apple.com/en-us/HT210176 を参照してください。

Apple は、TLS サーバー証明書の最大許容有効期間を短縮しています。この変更は、2020年9月以降に発行されたサーバー証明書にのみ影響します。Apple の公開情報 https://support.apple.com/en-us/HT211025 を参照してください。

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

アップロードする各証明書には、その内容の概要を含むエントリが証明書テーブルにあります。証明書を必要とする PKI 統合コンポーネントを構成する場合、コンテキスト依存の基準を満たすサーバー証明書を選択します。たとえば、XenMobile を Microsoft 認証局 (CA) と統合するように構成したい場合があります。Microsoft CA への接続は、クライアント証明書を使用して認証する必要があります。

このセクションでは、証明書をアップロードするための一般的な手順について説明します。クライアント証明書の作成、アップロード、および構成の詳細については、「クライアント証明書または証明書とドメイン認証」を参照してください。

秘密鍵の要件

XenMobile は、特定の証明書の秘密鍵を所有している場合とそうでない場合があります。同様に、XenMobile は、アップロードされた証明書に秘密鍵を必要とする場合とそうでない場合があります。

証明書のアップロード

証明書をアップロードするには、2つのオプションがあります。

  • 証明書を個別にコンソールにアップロードする。
  • REST API を使用して、iOS デバイスに証明書を一括アップロードする。

証明書をコンソールにアップロードする場合、主に2つのオプションがあります。

  • クリックしてキーストアをインポートします。次に、PKCS #12 形式をアップロードする場合を除き、インストールするキーストアレポジトリ内のエントリを特定します。
  • クリックして証明書をインポートします。

CA が要求に署名するために使用する CA 証明書(秘密鍵なし)をアップロードできます。クライアント認証のために SSL クライアント証明書(秘密鍵あり)をアップロードすることもできます。

Microsoft CA エンティティを構成する場合、CA 証明書を指定します。CA 証明書は、CA 証明書であるすべてのサーバー証明書のリストから選択します。同様に、クライアント認証を構成する場合、XenMobile が秘密鍵を所有するすべてのサーバー証明書のリストから選択できます。

キーストアをインポートするには

設計上、セキュリティ証明書のリポジトリであるキーストアには、複数のエントリを含めることができます。したがって、キーストアからロードする場合、ロードするエントリを識別するエントリエイリアスを指定するように求められます。エイリアスを指定しない場合、ストアの最初のエントリがロードされます。PKCS #12 ファイルには通常1つのエントリしか含まれていないため、キーストアタイプとして PKCS #12 を選択した場合、エイリアスフィールドは表示されません。

  1. XenMobile コンソールで、コンソールの右上隅にある歯車アイコンをクリックします。設定ページが表示されます。

  2. 証明書をクリックします。証明書ページが表示されます。

    Certificates configuration page

  3. インポートをクリックします。インポートダイアログボックスが表示されます。

  4. これらの設定を構成します。

    • インポート: リストで、キーストアをクリックします。インポートダイアログボックスが、利用可能なキーストアオプションを反映するように変更されます。

    Certificates configuration page

    • キーストアタイプ: リストで、PKCS #12 をクリックします。
    • 用途: リストで、証明書の使用方法をクリックします。利用可能なオプションは次のとおりです。
      • サーバー。 サーバー証明書は、XenMobile Server が機能的に使用する証明書であり、XenMobile Web コンソールにアップロードされます。これには、CA 証明書、RA 証明書、およびインフラストラクチャの他のコンポーネントとのクライアント認証用の証明書が含まれます。さらに、サーバー証明書をデバイスに展開する証明書のストレージとして使用できます。この用途は、特にデバイス上の信頼を確立するために使用される CA に適用されます。
      • SAML。 Security Assertion Markup Language (SAML) 認証により、サーバー、Web サイト、およびアプリへの SSO アクセスを提供できます。
      • APNs。 Apple からの APNs 証明書により、Apple Push Network を介したモバイルデバイス管理が可能になります。
      • SSL リスナー。 Secure Sockets Layer (SSL) リスナーは、SSL 暗号化アクティビティを XenMobile に通知します。
    • キーストアファイル: インポートする .p12 (または Windows ベースのコンピューターでは .pfx) ファイルタイプのキーストアを参照して見つけます。
    • パスワード: 証明書に割り当てられたパスワードを入力します。
    • 説明: オプションで、他のキーストアと区別するために、キーストアの説明を入力します。
  5. インポートをクリックします。キーストアが証明書テーブルに追加されます。

証明書をインポートするには

ファイルまたはキーストアエントリから証明書をインポートする場合、XenMobile は入力から証明書チェーンを構築しようとします。XenMobile は、そのチェーン内のすべての証明書をインポートして、それぞれにサーバー証明書エントリを作成します。この操作は、ファイルまたはキーストアエントリ内の証明書がチェーンを形成する場合にのみ機能します。たとえば、チェーン内の後続の各証明書が前の証明書の発行者である場合です。

インポートされた証明書にオプションの説明を追加できます。説明はチェーン内の最初の証明書にのみ添付されます。残りの証明書の説明は後で更新できます。

  1. XenMobile コンソールで、コンソールの右上隅にある歯車アイコンをクリックし、証明書をクリックします。

  2. 証明書ページで、インポートをクリックします。インポートダイアログボックスが表示されます。

  3. インポートダイアログボックスのインポートで、まだ選択されていない場合は、証明書をクリックします。

  4. インポートダイアログボックスが、利用可能な証明書オプションを反映するように変更されます。用途で、キーストアの使用方法を選択します。利用可能なオプションは次のとおりです。

    • サーバー。 サーバー証明書は、XenMobile Server が機能的に使用する証明書であり、XenMobile Web コンソールにアップロードされます。これには、CA 証明書、RA 証明書、およびインフラストラクチャの他のコンポーネントとのクライアント認証用の証明書が含まれます。さらに、サーバー証明書をデバイスに展開する証明書のストレージとして使用できます。このオプションは、特にデバイス上の信頼を確立するために使用される CA に適用されます。
    • SAML。 Security Assertion Markup Language (SAML) 認証により、サーバー、Web サイト、およびアプリへのシングルサインオン (SSO) アクセスを提供できます。
    • SSL リスナー。 Secure Sockets Layer (SSL) リスナーは、SSL 暗号化アクティビティを XenMobile に通知します。
  5. インポートする .p12 (または Windows ベースのコンピューターでは .pfx) ファイルタイプのキーストアを参照して見つけます。

  6. 証明書用のオプションの秘密鍵ファイルを参照して見つけます。秘密鍵は、証明書とともに暗号化と復号化に使用されます。

  7. オプションで、他の証明書と区別するために、証明書の説明を入力します。

  8. インポートをクリックします。証明書が証明書テーブルに追加されます。

REST API を使用して iOS デバイスに証明書を一括アップロードする

証明書を一度に1つずつアップロードするのが実用的でない場合は、REST API を使用して iOS デバイスに一括アップロードできます。この方法では、.p12 形式の証明書がサポートされます。REST API の詳細については、「REST API」を参照してください。

  1. 各証明書ファイルを device_identity_value.p12 の形式で名前変更します。device_identity_value は、各デバイスの IMEI、シリアル番号、または MEID にすることができます。

    たとえば、シリアル番号を識別方法として使用することを選択した場合、あるデバイスのシリアル番号が A12BC3D4EFGH であるため、そのデバイスにインストールする証明書ファイルの名前を A12BC3D4EFGH.p12 にします。

  2. .p12 証明書のパスワードを保存するテキストファイルを作成します。そのファイルに、各デバイスのデバイス識別子とパスワードを新しい行に入力します。device_identity_value=password の形式を使用します。以下を参照してください。

    A12BC3D4EFGH.p12=password1!
    A12BC3D4EFIJ.p12=password2@
    A12BC3D4EFKL.p12=password3#
    <!--NeedCopy-->
    
  3. 作成したすべての証明書とテキストファイルを .zip ファイルにパックします。
  4. REST API クライアントを起動し、XenMobile にログインして認証トークンを取得します。
  5. メッセージ本文に以下を記述して、証明書をインポートします。

{ “alias”: “”, “useAs”: “device”, “uploadType”: “keystore”, “keystoreType”: “PKCS12”, “identityType”:”SERIAL_NUMBER”, # 識別タイプは “SERIAL_NUMBER”、”IMEI”、”MEID” のいずれかです。 “credentialFileName”:”credential.txt” # .zip ファイル内の資格情報ファイル名 }


![REST APIクライアント](/en-us/xenmobile/server/media/bulk-import-certificates.png)

1.  資格情報タイプを **Always on IKEv2**、デバイス認証方法を **Device Certificate Based on Device Identity** に設定してVPNポリシーを作成します。証明書ファイル名で使用した **デバイス識別タイプ** を選択します。[VPNデバイスポリシー](/ja-jp/xenmobile/server/policies/vpn-policy.html)を参照してください
1.  iOSデバイスを登録し、VPNポリシーが展開されるのを待ちます。デバイスのMDM構成を確認して、証明書のインストールを確認します。XenMobileコンソールでデバイスの詳細を確認することもできます

![iOS MDM管理](/en-us/xenmobile/server/media/bulk-certificate-ios.jpeg)

![デバイスの詳細](/en-us/xenmobile/server/media/bulk-certificate-device-details.png)

`device_identity_value` を削除する各証明書についてリストしたテキストファイルを作成することで、証明書を一括削除することもできます。REST APIで、削除APIを呼び出し、`device_identity_value` を適切な識別子に置き換えて、次のリクエストを使用します。

<!--NeedCopy-->

{ “identityType”=”device_identity_value” }


![REST APIクライアント](/en-us/xenmobile/server/media/bulk-delete-certificates.png)

#### 証明書の更新

XenMobileでは、システム内に公開鍵ごとに1つの証明書のみが存在できます。すでにインポートされている証明書と同じキーペアの証明書をインポートしようとすると、既存のエントリを置き換えるか、エントリを削除することができます。

XenMobileコンソールで証明書を最も効果的に更新するには、次の手順を実行します。コンソールの右上隅にある歯車アイコンをクリックして **[設定]** ページを開き、**[証明書]** をクリックします。**[インポート]** ダイアログボックスで、新しい証明書をインポートします。

サーバー証明書を更新すると、以前の証明書を使用していたコンポーネントは自動的に新しい証明書を使用するように切り替わります。同様に、デバイスにサーバー証明書を展開している場合、証明書は次回の展開時に自動的に更新されます。

#### 証明書の再発行

XenMobile Serverは、PKI用に内部的に次の認証局(CA)を使用します: ルートCA、デバイスCA、およびサーバーCA。これらのCAは論理グループとして分類され、グループ名が提供されます。新しいXenMobile Serverインスタンスがプロビジョニングされると、3つのCAが生成され、「default」というグループ名が付けられます。

XenMobile Serverコンソールまたは公開REST APIを使用して、サポートされているiOS、macOS、およびAndroidデバイスのCAを再発行できます。登録済みのWindowsデバイスの場合、ユーザーは新しいデバイスCAを受け取るためにデバイスを再登録する必要があります。

XenMobile Serverの内部PKI CAを再発行または再生成し、これらの認証局によって発行されたデバイス証明書を再発行するために、次のAPIが利用可能です。

-  グループ認証局(CA)の作成
-  新しいCAのアクティブ化と古いCAの非アクティブ化
-  構成済みデバイスリスト上のデバイス証明書の再発行。すでに登録されているデバイスは中断なく動作し続けます。デバイスがサーバーに再接続すると、デバイス証明書が発行されます
-  古いCAをまだ使用しているデバイスのリストを返す
-  すべてのデバイスが新しいCAを取得した後、古いCAを削除する

詳細については、[RESTサービス用公開API](/en-us/xenmobile/server/downloads/public-rest-api.pdf) PDFの次のセクションを参照してください。

-  セクション 3.16.58、デバイス証明書の再発行
-  セクション 3.23、内部PKI CAグループ

**[デバイスの管理]** コンソールには、デバイスの登録証明書を再発行するために使用されるセキュリティアクション **[証明書の再発行]** が含まれています。

##### 前提条件

-  デフォルトでは、この証明書更新機能は無効になっています。証明書更新機能を有効にするには、サーバープロパティ **refresh.internal.ca** の値を **True** に設定します

> **重要:**
>
> Citrix ADCがSSLオフロード用に設定されている場合、新しい証明書を生成するときは、新しいcacert.permでロードバランサーを更新してください。Citrix Gatewayのセットアップの詳細については、「[NetScaler VIPでSSLオフロードモードを使用するには](https://docs.netscaler.com/en-us/citrix-gateway/current-release/integrate-citrix-gateway-with-citrix-products/configure-citrix-endpoint-management-settings-to-integrate-with-citrix-gateway/configure-load-balancing-servers-for-citrix-endpoint-management.html#to-use-ssl-offload-mode-for-netscaler-vips)」を参照してください。

##### クラスターノードのサーバーCA証明書パスワードをリセットするCLIオプション

1つのXenMobile ServerノードでサーバーCA証明書を生成した後、XenMobile CLIを使用して他のクラスターノードで証明書パスワードをリセットします。CLIのメインメニューから、**[System] > [Advanced Settings] > [Reset CA certs password]** を選択します。新しいCA証明書がないときにパスワードをリセットしても、XenMobileはパスワードをリセットしません。

![XenMobile CLIの画像](/en-us/xenmobile/server/media/cli-system-advanced-settings.png)

## XenMobile証明書管理

XenMobile展開で使用する証明書、特にその有効期限と関連するパスワードをリストすることをお勧めします。このセクションは、XenMobileでの証明書管理を容易にすることを目的としています。

お使いの環境には、次の証明書の一部またはすべてが含まれている場合があります。

-  XenMobile Server
    -  MDM FQDN用SSL証明書
    -  SAML証明書(Citrix Files用)
    -  上記の証明書およびその他の内部リソース(StoreFront/Proxyなど)のルートおよび中間CA証明書
    -  iOSデバイス管理用APN証明書
    -  XenMobile Server Secure Hub通知用内部APNs証明書
    -  PKI接続用PKIユーザー証明書

-  MDX Toolkit
    -  Apple開発者証明書
    -  Appleプロビジョニングプロファイル(アプリケーションごと)
    -  Apple APNs証明書(Citrix Secure Mail™用)
    -  Androidキーストアファイル

MAM SDKはアプリをラップしないため、証明書は必要ありません。

-  Citrix ADC
    -  MDM FQDN用SSL証明書
    -  Gateway FQDN用SSL証明書
    -  ShareFile SZC FQDN用SSL証明書
    -  Exchangeロードバランシング用SSL証明書(オフロード構成)
    -  StoreFrontロードバランシング用SSL証明書
    -  上記の証明書のルートおよび中間CA証明書

### XenMobile証明書の有効期限ポリシー

証明書の有効期限が切れると、その証明書は無効になります。環境で安全なトランザクションを実行できなくなり、XenMobileリソースにアクセスできなくなります。

> **注:**
>
> 認証局(CA)は、有効期限が切れる前にSSL証明書を更新するように促します。

### Citrix Secure Mail用APNs証明書

Apple Push Notification Service(APNs)証明書は毎年有効期限が切れます。証明書の有効期限が切れる前に、APNs SSL証明書を作成し、Citrixポータルで更新してください。証明書の有効期限が切れると、ユーザーはSecure Mailのプッシュ通知で不整合に直面します。また、アプリのプッシュ通知を送信できなくなります。

### iOSデバイス管理用APNs証明書

XenMobileでiOSデバイスを登録および管理するには、AppleからAPNs証明書を設定および作成します。証明書の有効期限が切れると、ユーザーはXenMobileに登録できなくなり、iOSデバイスを管理できなくなります。詳細については、[APNs証明書](/ja-jp/xenmobile/server/authentication/apns.html)を参照してください。

Apple Push Certificates Portalにログインすることで、APNs証明書のステータスと有効期限を表示できます。証明書を作成したのと同じユーザーとしてログインしてください。

また、有効期限の30日前と10日前にAppleからメール通知が届きます。通知には次の情報が含まれています。

<!--NeedCopy-->

Apple ID CustomerID用に作成された以下のApple Push Notification Service証明書は、Dateに有効期限が切れます。この証明書を取り消すか、有効期限が切れることを許可すると、既存のデバイスは新しいプッシュ証明書で再登録する必要があります。

新しいリクエスト(署名済みCSR)を生成するにはベンダーに連絡し、https://identity.apple.com/pushcertにアクセスしてApple Push Notification Service証明書を更新してください。

よろしくお願いいたします。

Apple Push Notification Service


### MDX Toolkit(iOS配布証明書)

物理的なiOSデバイスで実行されるアプリ(Apple App Storeのアプリを除く)には、次の署名要件があります。

-  プロビジョニングプロファイルでアプリに署名する
-  対応する配布証明書でアプリに署名する

有効なiOS配布証明書があることを確認するには、次の手順を実行します。

1.  Apple Enterprise Developerポータルから、MDX Toolkitでラップする予定の各アプリに対して明示的なApp IDを作成します。許容されるApp IDの例は、`com.CompanyName.ProductName`です
1.  Apple Enterprise Developerポータルから、**[Provisioning Profiles] > [Distribution]** に移動し、社内プロビジョニングプロファイルを作成します。前の手順で作成した各App IDに対してこの手順を繰り返します
1.  すべてのプロビジョニングプロファイルをダウンロードします。詳細については、「[iOSモバイルアプリのラッピング](/ja-jp/mdx-toolkit/10/xmob-mdx-kit-app-wrap-ios.html)」を参照してください

すべてのXenMobile Server証明書が有効であることを確認するには、次の手順を実行します。

1.  XenMobileコンソールで、**[設定] > [証明書]** をクリックします
1.  APNs、SSLリスナー、ルート、および中間証明書を含むすべての証明書が有効であることを確認します

### Androidキーストア

キーストアは、Androidアプリの署名に使用される証明書を含むファイルです。キーの有効期間が切れると、ユーザーはアプリの新しいバージョンにシームレスにアップグレードできなくなります。

### Citrix ADC

Citrix ADCの証明書の有効期限の処理方法の詳細については、Citrixサポート知識センターの「[NetScalerでの証明書の有効期限の処理方法](https://support.citrix.com/article/CTX213342)」を参照してください。

有効期限が切れたCitrix ADC証明書は、ユーザーがStoreに登録してアクセスすることを妨げます。また、有効期限が切れた証明書は、Secure Mailを使用しているときにユーザーがExchange Serverに接続することを妨げます。さらに、ユーザーはHDXアプリを列挙して開くことができません(どの証明書が有効期限切れになったかによります)。

Expiry MonitorとCommand Centerは、Citrix ADC証明書を追跡するのに役立ちます。Centerは、証明書の有効期限が切れると通知します。これらのツールは、次のCitrix ADC証明書を監視するのに役立ちます。

-  MDM FQDN用SSL証明書
-  Gateway FQDN用SSL証明書
-  ShareFile SZC FQDN用SSL証明書
-  Exchangeロードバランシング用SSL証明書(オフロード構成)
-  StoreFrontロードバランシング用SSL証明書
-  上記の証明書のルートおよび中間CA証明書
<!--NeedCopy-->
証明書と認証

この記事の概要