証明書と認証

XenMobileの動作では、複数のコンポーネントが認証に関与します。

  • XenMobile Server: XenMobile Serverでは、登録に関するセキュリティと登録の動作を定義します。導入するユーザーの選択肢には次が含まれます:
    • 登録を全員にオープンにするか、または招待のみにするか。
    • 2要素認証または3要素認証を必須にするかどうか。XenMobileのクライアントプロパティを介して、Citrix PIN認証を有効化して、PINの複雑度や有効期限を構成できます。
  • NetScaler: NetScalerはマイクロVPN SSLセッションを終了させます。NetScalerはネットワーク転送中セキュリティも提供し、ユーザーがアプリにアクセスするたびに使用される認証エクスペリエンスを定義できるようにします。
  • Secure Hub: Secure HubとXenMobile Serverは、登録操作で連携します。Secure HubはNetScalerと通信するデバイス上のエンティティです。セッションが期限切れになると、Secure HubはNetScalerから認証チケットを取得して、MDXアプリにチケットを渡します。中間者攻撃を防げる証明書ピン留めの使用をお勧めします。詳しくは、「Secure Hub」にある次のセクションを参照してください:「証明書ピンニング

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

  • MDXポリシー: MDXポリシーは、デバイス上にデータ格納場所を作成します。MDXポリシーは、マイクロVPN接続にNetScalerを参照させ、オフラインモード制限を強制し、タイムアウトなどのクライアントポリシーを強制します。

一要素または二要素による認証方法の概要など、認証の構成について詳しくは、『Deployment Handbook』の Authentication に関するトピックを参照してください。

XenMobileでは証明書を使用し、セキュリティで保護された接続を作成してユーザーを認証します。この記事の残りの部分では、証明書について説明します。そのほかの構成について詳しくは、以下の記事を参照してください:

証明書

XenMobileには、サーバーへの通信フローを保護するためにインストール中に生成される自己署名SSL(Secure Sockets Layer)証明書がデフォルトで含まれています。このSSL証明書を、既知のCA(Certificate Authority:証明機関)からの信頼されるSSL証明書に置き換えることをお勧めします。

注:

iOS 10.3デバイスでは、自己署名証明書はサポートされません。XenMobileが自己署名証明書を使用する場合は、ユーザーはiOS 10.3デバイスをXenMobileに登録することができません。iOS 10.3以降を実行するデバイスをXenMobileに登録するには、XenMobileで信頼されるSSL証明書を使用する必要があります。

XenMobileはまた、独自のPKI(Public Key Infrastructure:公開キーのインフラストラクチャ)サービスを使用するか、CAからクライアント証明書を取得します。すべてのCitrix製品でワイルドカード証明書とSAN(Subject Alternative Name:サブジェクトの別名)証明書がサポートされます。ほとんどの展開では、2つのワイルドカード認証またはSAN認証のみが必要です。

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

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

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

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

XenMobileはSSLリスナー証明書およびクライアント証明書をサポートします。ビット長は4096、2048および1024です。1024ビットの証明書は簡単に改ざんされることに注意してください。

NetScaler GatewayおよびXenMobile Serverの場合は、Verisign、DigiCert、Thawteなどの商用CAからサーバー証明書を取得することをお勧めします。NetScaler GatewayまたはXenMobile構成ユーティリティから証明書署名要求(Certificate Signing Request:CSR)を作成できます。CSRの作成後、CAへ署名のために送信します。CAから署名入り証明書を受け取ったら、NetScaler GatewayまたはXenMobileに証明書をインストールできます。

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

アップロードする各証明書は、[証明書]の表で1つのエントリを持ち、その内容がまとめられています。証明書が必要なPKI統合コンポーネントを構成するときは、コンテキスト依存の条件を満たすサーバー証明書を選択します。たとえば、XenMobileをMicrosoft CAと統合するように構成する場合があります。Microsoft CAへの接続はクライアント証明書を使用して認証されます。

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

秘密キーの要件

XenMobileは、特定の証明書に対して秘密キーを所有する場合と所有しない場合があります。同様に、XenMobileは、アップロードする証明書に対して秘密キーを要求する場合と要求しない場合があります。

コンソールへの証明書のアップロード

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

  • クリックしてキーストアをインポートすることができます。次にインストールするキーストアリポジトリのエントリを識別します(PKCS#12形式をアップロードする場合を除く)。
  • クリックして証明書をインポートできます。

CAがリクエストに署名するときに使用する(秘密キーなしの)CA証明書をアップロードすることができます。クライアント認証用の(秘密キー付きの)SSLクライアント証明書をアップロードすることもできます。

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

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

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

  1. XenMobileコンソールで、右上の歯車アイコンをクリックします。[設定] ページが開きます。

  2. [証明書] をクリックします。[証明書] ページが開きます。

    証明書構成ページの画像

  3. [インポート] をクリックします。[インポート] ダイアログボックスが開きます。

  4. 次の設定を構成します:

    • インポート: ボックスの一覧から、[キーストア] を選択します。[インポート] ダイアログボックスが、使用可能なキーストアオプションを反映した表示に変わります。

    証明書構成ページの画像

    • キーストアの種類: ボックスの一覧から、[PKCS#12] を選択します。
    • 使用目的: 一覧から、証明書の使用方法を選択します。以下の種類から選択できます:
      • Server。サーバー証明書はXenMobile Serverで機能上使用される証明書で、XenMobile Webコンソールにアップロードされます。サーバー証明書には、CA証明書、RA証明書、およびインフラストラクチャのほかのコンポーネントでのクライアント認証用の証明書が含まれます。また、デバイスに展開する証明書のストレージとしてサーバー証明書を使用することができます。これは特に、デバイスで信頼性を確立するために使用されるCAに適用されます。
      • SAML。Security Assertion Markup Language(SAML)証明書を使用すると、サーバー、Webサイト、およびアプリへのSSOアクセスを提供できます。
      • APNs。AppleのAPNs証明書を使用すると、Apple Push Networkを使用してモバイルデバイスを管理できます。
      • SSL Listener。SSL(Secure Sockets Layer)リスナーは、XenMobileにSSL暗号化アクティビティを通知します。
    • キーストアファイル: インポートするファイル形式.p12(または、Windowsベースのコンピューターで.pfx)のキーストアを参照して指定します。
    • パスワード: 証明書に割り当てられたパスワードを入力します。
    • 説明: 任意で、キーストアの説明を入力します。この説明は、ほかのキーストアと区別するときに役立ちます。
  5. [インポート] をクリックします。キーストアが[Certificates]の表に追加されます。

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

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

インポートされた証明書にオプションで説明を追加できます。説明はチェーンの1つ目の証明書にのみ追加されます。ほかの証明書の説明は後から更新できます。

  1. XenMobileコンソールで、右上の歯車アイコンをクリックした後、[証明書] をクリックします。

  2. [Certificates]ページで、[Import]をクリックします。[インポート] ダイアログボックスが開きます。

  3. [インポート] ダイアログボックスの [インポート] の一覧から、まだ選択していない場合は [証明書] を選択します。

  4. [インポート] ダイアログボックスが、使用可能な証明書オプションを反映した表示に変わります。[使用目的] で、キーストアの使用方法を選択します。以下の種類から選択できます。

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

  6. 任意で、証明書の秘密キーファイルを参照して指定します。秘密キーは、証明書と共に暗号化と復号化で使用されます。

  7. 任意で、証明書の説明を入力します。この説明は、ほかの証明書と区別するときに役立ちます。

  8. [インポート] をクリックします。証明書が[Certificates]の表に追加されます。

証明書の更新

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

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

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

証明書のリフレッシュ

XenMobile Serverは、内部的にPKIのために次の認証機関を使用します:ルートCA、デバイスCA、およびサーバーCA。それらのCAは論理グループとして分類され、グループ名が与えられます。新しいXenMobile Serverインスタンスがプロビジョニングされると、3つのCAが生成され、グループ名が「default」になります。

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

XenMobileサーバーで内部PKI CAを更新または再生成し、これらの証明機関によって発行されたデバイス証明書を更新するには、次のAPIを使用します。

  • 新しいグループ証明機関(CA)を作成します。
  • 新しいCAをアクティブにし、古いCAを無効にします。
  • 設定済みのデバイスリストでデバイス証明書を更新します。既に登録済みのデバイスは、中断することなく動作し続けます。デバイスがサーバーに接続すると、デバイス証明書が発行されます。
  • 古いCAを使用しているデバイスのリストを返します。
  • すべてのデバイスに新しいCAが割り当てられたら、古いCAを削除します。

詳しくは、「RESTサービスのためのXenMobile Public API」のPDFの次のセクションを参照してください:

-  第3.16.58項「デバイス証明書の更新」
-  第3.23項「XenMobile CAグループのリフレッシュ」

この機能の一部として、新しいセキュリティ操作である 証明書の書き換え[デバイスの管理] コンソールから実行できます。この操作は、そのデバイス上の登録証明書を更新します。

前提条件
  • デフォルトでは、この証明書の書き換え機能は無効になっています。証明書の書き換え機能を有効にするには、サーバープロパティrefresh.internal.caの値をTrueに設定します。
  • デフォルトでは、証明書の更新を同時に要求できるデバイスの数は100です。100を超える更新デバイス証明書要求が既に存在する場合、APIはエラーをスローします。この制限を変更するには、新しいサーバープロパティmax.renew_device_cert_requests.allowedを更新します。サーバープロパティの構成については、「サーバープロパティ」を参照してください。

重要:

NetScalerでSSLオフロードが設定されている場合は、新しい証明書を生成するときに、必ず新しいcacert.permを使ってロードバランサーを更新してください。NetScaler Gatewayの設定について詳しくは、「To use SSL Offload mode for NetScaler VIPs」を参照してください。

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

1つのXenMobileサーバーノードでサーバーCA証明書を生成したら、XenMobile CLIを使用して他のクラスタノードの証明書パスワードをリセットします。CLIのメインメニューから、 [システム]>[詳細設定]>[CA証明書パスワードをリセットする] を選択します。新しいCA証明書がないときにパスワードをリセットしても、XenMobileはパスワードをリセットしません。

 XenMobile CLIの画像

XenMobile証明書の管理

XenMobile展開で使用する証明書の情報、特に有効期限と関連パスワードを記録することをお勧めします。このセクションは、XenMobileで証明書をより簡単に管理する方法について説明します。

ご使用の環境には以下の一部、またはすべての証明書が含まれている可能性があります:

  • XenMobile Server
    • MDM FQDNのSSL証明書
    • SAML証明書(ShareFile用)
    • 上記証明書およびその他の内部リソース(StoreFrontやプロキシなど)用のルートCA証明書と中間CA証明書
    • iOSデバイス管理用のAPN証明書
    • XenMobileサーバーSecure Hub通知用の内部APN証明書
    • PKIに接続するためのPKIユーザー証明書
  • MDX Toolkit
    • Apple Developer証明書
    • Appleプロビジョニングプロファイル(アプリケーションごと)
    • Apple APNS証明書(Citrix Secure Mailで使用)
    • Androidキーストアファイル
    • Windows Phone – Symantec証明書
  • NetScaler
    • MDM FQDNのSSL証明書
    • Gateway FQDNのSSL証明書
    • ShareFile SZC FQDNのSSL証明書
    • Exchange負荷分散用のSSL証明書(オフロード構成)
    • StoreFront負荷分散用のSSL証明書
    • 上記証明書のルート証明書および中間CA証明書

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

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

注:

有効期限前に、証明機関(CA)からSSL証明書を更新するよう求められます。

Citrix Secure MailのAPN証明書

Appleプッシュ通知サービス(APNs)証明書は毎年有効期限が切れます。証明書の有効期限が切れる前に、APNs SSL証明書を作成し、Citrixポータルで証明書を更新してください。証明書の期限が切れた場合、Secure Mailプッシュ通知に一貫性がなくなります。また、アプリのプッシュ通知を送信することもできなくなります。

iOSデバイス管理用のAPN証明書

XenMobileでiOSデバイスを登録して管理するには、AppleのAPNs証明書を設定および作成します。証明書の期限が切れた場合、XenMobileに登録したり、iOSデバイスを管理したりできなくなります。詳しくは、「APNs証明書」を参照してください。

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

また、有効期限の30日前と10日前に、Appleからメール通知を受信します。この通知には、次の情報が含まれます:

The following Apple Push Notification Service certificate, created for Apple ID CustomerID will expire on Date. Revoking or allowing this certificate to expire will require existing devices to be re-enrolled with a new push certificate.

Please contact your vendor to generate a new request (a signed CSR), then visit https://identity.apple.com/pushcert to renew your Apple Push Notification Service certificate.

Thank You,

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
  2. Apple Enterprise Developerポータルから、[Provisioning Profiles]>[Distribution] に移動して、社内プロビジョニングプロファイルを作成します。前述の手順で作成されたApp IDごとに、この手順を繰り返します。
  3. すべてのプロビジョニングプロファイルをダウンロードします。詳しくは、「iOSモバイルアプリのラップ」を参照してください。

すべてのXenMobile Server証明書が有効であることを確認するには、以下の操作を行います。

  1. XenMobileコンソールで、[設定]>[証明書] の順にクリックします。
  2. APNs証明書、SSL証明書、リスナー証明書、ルート証明書、中間証明書を含むすべての証明書が有効であることを確認してください。

Androidキーストア

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

SymantecのWindows Phone用エンタープライズ証明書

Symantecは、Microsoft App Hubサービスのコード署名証明書を提供する唯一のプロバイダーです。開発者およびソフトウェアの発行元はMicrosoft App Hubに参加して、Windows MarketplaceからダウンロードされるWindows PhoneおよびXbox 360アプリケーションを配布します。詳しくは、「Symantec Code Signing Certificates for Windows Phone」を参照してください。

証明書の有効期限が切れた場合、Windows phoneユーザーは登録できません。ユーザーは同社が公開し署名したアプリのインストール、Windows phoneにインストールされた会社のアプリの起動ができなくなります。

NetScaler

NetScalerの証明書の有効期限について詳しくは、Citrix Support Knowledge Centerで「How to handle certificate expiry on NetScaler」を参照してください。

NetScaler証明書の有効期限が切れると、ユーザーはストアに登録したり、アクセスすることができなくなります。NetScaler証明書の有効期限が切れると、ユーザはSecure Mailを使用するときにExchange Serverに接続することもできなくなります。また、ユーザーは(証明書の有効期限切れによって)HDXアプリを一覧にしたり起動することもできなくなります。

Expiry MonitorおよびCommand Centerによって、NetScaler証明書の記録を確認できます。証明書の有効期限が切れるとCommand Centerから通知が送信されます。これらのツールは、以下のNetScaler証明書の監視に役立ちます:

  • MDM FQDNのSSL証明書
  • Gateway FQDNのSSL証明書
  • ShareFile SZC FQDNのSSL証明書
  • Exchange負荷分散用のSSL証明書(オフロード構成)
  • StoreFront負荷分散用のSSL証明書
  • 上記証明書のルート証明書および中間CA証明書

証明書と認証