証明書と認証
XenMobileの動作では、複数のコンポーネントが認証に関与します。
-
XenMobile Server: XenMobile Serverでは、登録に関するセキュリティと登録の動作を定義します。導入するユーザーの選択肢には次が含まれます:
- 登録を全員にオープンにするか、または招待のみにするか。
- 2要素認証または3要素認証を必須にするかどうか。XenMobileのクライアントプロパティを介して、Citrix PIN認証を有効化して、PINの複雑度や有効期限を構成できます。
- Citrix ADC: Citrix ADCは、Micro 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を参照させ、オフラインモード制限を強制し、タイムアウトなどのクライアントポリシーを強制します。
一要素または二要素による認証方法の概要など、認証の構成について詳しくは、『Deployment Handbook』の Authentication に関するトピックを参照してください。
XenMobileでは証明書を使用し、セキュリティで保護された接続を作成してユーザーを認証します。この記事の残りの部分では、証明書について説明します。そのほかの構成について詳しくは、以下の記事を参照してください。
- ドメインまたはドメイン+セキュリティトークン認証
- クライアント証明書、または証明書とドメイン認証の組み合わせ
- PKIエンティティ
- 資格情報プロバイダー
- APNs証明書
- Citrix FilesでのSAMLによるシングルサインオン
- Microsoft Azure Active Directoryサーバー設定
- 証明書をデバイスに送信してWi-Fiサーバーを認証するには:Wi-Fiデバイスポリシー
- 内部ルート証明機関(CA)証明書などのような認証や、特定のポリシーに使用されない一意の証明書をプッシュする場合: 資格情報デバイスポリシー
証明書
XenMobileでは、サーバーへの通信フローを保護するため、インストール中に自己署名SSL(Secure Sockets Layer)証明書が生成されます。このSSL証明書を、既知のCAからの信頼される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コンポーネント | 証明書の形式 | 必要な証明書の種類 |
---|---|---|
Citrix Gateway | PEM(BASE64)、PFX(PKCS#12) | SSL、ルート(Citrix 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ビットの証明書は簡単に改ざんされます。
Citrix GatewayおよびXenMobile Serverの場合は、Verisign、DigiCert、Thawteなどの商用CAからサーバー証明書を取得することをお勧めします。Citrix GatewayまたはXenMobile構成ユーティリティから証明書署名要求(Certificate Signing Request:CSR)を作成できます。CSRの作成後、CAへ署名のために送信します。CAから署名入り証明書を受け取ったら、Citrix GatewayまたはXenMobileに証明書をインストールできます。
重要:iOS、iPadOS、およびmacOSでの信頼された証明書の要件
Appleは、TLSサーバー証明書の新しい要件を設定しています。すべての証明書が新しいAppleの要件に準拠していることを確認します。アップルの出版物である「https://support.apple.com/en-us/HT210176」を参照してください。
AppleはTLSサーバー証明書の最大許容有効期間を短縮しています。この変更は、2020年9月以降に発行されたサーバー証明書にのみ影響します。アップルの出版物である「https://support.apple.com/en-us/HT211025」を参照してください。
XenMobileでの証明書のアップロード
アップロードする各証明書は、[証明書]の表で1つのエントリを持ち、その内容がまとめられています。証明書が必要な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を選択した場合、エイリアスフィールドは表示されません。
-
XenMobileコンソールで、右上の歯車アイコンをクリックします。[設定]ページが開きます。
-
[証明書] をクリックします。[証明書] ページが開きます。
-
[インポート] をクリックします。[インポート] ダイアログボックスが開きます。
-
次の設定を構成します:
- インポート: ボックスの一覧から、[キーストア] を選択します。[インポート] ダイアログボックスが、使用可能なキーストアオプションを反映した表示に変わります。
- キーストアの種類: ボックスの一覧から、[PKCS#12] を選択します。
-
使用目的: 一覧から、証明書の使用方法を選択します。以下の種類から選択できます。
- サーバー。サーバー証明書はXenMobile Serverで機能上使用される証明書で、XenMobile Webコンソールにアップロードされます。サーバー証明書には、CA証明書、RA証明書、およびインフラストラクチャのほかのコンポーネントでのクライアント認証用の証明書が含まれます。また、デバイスに展開する証明書のストレージとしてサーバー証明書を使用することができます。これは特に、デバイスで信頼性を確立するために使用されるCAに適用されます。
- SAML。Security Assertion Markup Language(SAML)証明書を使用すると、サーバー、Webサイト、およびアプリへのSSOアクセスを提供できます。
- APNs。AppleのAPNs証明書を使用すると、Apple Push Networkを使用してモバイルデバイスを管理できます。
- SSLリスナー。SSL(Secure Sockets Layer)リスナーは、XenMobileにSSL暗号化アクティビティを通知します。
- キーストアファイル: インポートするファイル形式.p12(または、Windowsベースのコンピューターで.pfx)のキーストアを参照して指定します。
- パスワード: 証明書に割り当てられたパスワードを入力します。
- 説明: 任意で、キーストアの説明を入力します。この説明は、ほかのキーストアと区別するときに役立ちます。
-
[インポート] をクリックします。キーストアが[証明書]の表に追加されます。
証明書をインポートするには
ファイルまたはキーストアエントリから証明書をインポートするときに、XenMobileは入力から証明書チェーンの作成を試行します。XenMobileはそのチェーンのすべての証明書をインポートして、各証明書のサーバー証明書エントリを作成します。この操作は、ファイルまたはキーストアエントリの証明書がチェーンを形成する場合にのみ機能します。たとえば、チェーン内の連続する各証明書が前の証明書発行者である場合などです。
インポートされた証明書にオプションで説明を追加できます。説明はチェーンの1つ目の証明書にのみ追加されます。ほかの証明書の説明は後から更新できます。
-
XenMobileコンソールで、右上の歯車アイコンをクリックした後、[証明書] をクリックします。
-
[証明書] ページで [インポート] をクリックします。[インポート] ダイアログボックスが開きます。
-
[インポート] ダイアログボックスの [インポート] の一覧から、まだ選択していない場合は [証明書] を選択します。
-
[インポート] ダイアログボックスが、使用可能な証明書オプションを反映した表示に変わります。[使用目的] で、キーストアの使用方法を選択します。以下の種類から選択できます。
- サーバー。サーバー証明書はXenMobile Serverで機能上使用される証明書で、XenMobile Webコンソールにアップロードされます。サーバー証明書には、CA証明書、RA証明書、およびインフラストラクチャのほかのコンポーネントでのクライアント認証用の証明書が含まれます。また、デバイスに展開する証明書のストレージとしてサーバー証明書を使用することができます。このオプションは特に、デバイスで信頼性を確立するために使用されるCAに適用されます。
- SAML。Security Assertion Markup Language(SAML)証明書を使用すると、サーバー、Webサイト、およびアプリへのシングルサインオン(Single Sign-On:SSO)アクセスを提供できます。
- SSLリスナー。SSL(Secure Sockets Layer)リスナーは、XenMobileにSSL暗号化アクティビティを通知します。
-
インポートするファイル形式.p12(または、Windowsベースのコンピューターで.pfx)のキーストアを参照して指定します。
-
任意で、証明書の秘密キーファイルを参照して指定します。秘密キーは、証明書と共に暗号化と復号化で使用されます。
-
任意で、証明書の説明を入力します。この説明は、ほかの証明書と区別するときに役立ちます。
-
[インポート] をクリックします。証明書が[証明書]の表に追加されます。
REST APIを使用したiOSデバイスへの証明書の一括アップロード
証明書を一度に1つずつアップロードすることが現実的でない場合は、REST APIを使用してiOSデバイスに一括でアップロードできます。この方法は、.p12形式の証明書をサポートします。REST APIについて詳しくは、「REST API」を参照してください。
-
各証明書ファイルの名前を、
device_identity_value.p12
の形式に変更します。device_identity_value
は、各デバイスのIMEI、シリアル番号、またはMEIDです。例として、識別方法としてシリアル番号を使用するとします。あるデバイスのシリアル番号が
A12BC3D4EFGH
であれば、そのデバイスにインストールする証明書ファイルにA12BC3D4EFGH.p12
という名前を付けます。 -
.p12証明書のパスワードを保存するテキストファイルを作成します。そのファイルで、新しい行に各デバイスのデバイス識別子とパスワードを入力します。
device_identity_value=password
の形式を使用します。以下を参照してください:A12BC3D4EFGH.p12=password1! A12BC3D4EFIJ.p12=password2@ A12BC3D4EFKL.p12=password3# <!--NeedCopy-->
- 作成したすべての証明書とテキストファイルを.zipファイルに入れます。
- REST APIクライアントを起動し、XenMobileにログインして、認証トークンを取得します。
-
証明書をインポートし、メッセージ本文に次の情報を入力してください:
{ "alias": "", "useAs": "device", "uploadType": "keystore", "keystoreType": "PKCS12", "identityType":"SERIAL_NUMBER", # identity type can be "SERIAL_NUMBER","IMEI","MEID" "credentialFileName":"credential.txt" # The credential file name in .zip } <!--NeedCopy-->
- 資格情報タイプに [Always on IKEv2]、およびデバイス認証方法に [デバイスIDベースのデバイス証明書] を使用してVPNポリシーを作成します。証明書ファイル名で使用した [デバイスIDの種類] を選択します。「VPNデバイスポリシー」を参照してください。
-
iOSデバイスを登録し、VPNポリシーが展開されるのを待ちます。デバイスのMDM構成をチェックして、証明書のインストールを確認します。XenMobileコンソールでデバイスの詳細を確認することもできます。
削除する証明書ごとにdevice_identity_value
が一覧表示されたテキストファイルを作成して、証明書を一括で削除することもできます。REST APIで削除APIを呼び出し、次のリクエストを使用して、device_identity_value
を適切な識別子に置き換えます:
```
{
"identityType"="device_identity_value"
}
<!--NeedCopy--> ```
証明書の更新
XenMobileで同時に存在できるのは1つの公開キーにつき1つの証明書のみです。既にインポートされている証明書と同じキーペアの証明書をインポートしようとする場合:既存のエントリを置き換えるか、または削除することができます。
XenMobileコンソールで、証明書を最も効率的に更新するには、以下の手順に従います。コンソールの右上にある歯車アイコンをクリックして [設定] ページを開き、[証明書] をクリックします。[インポート] ダイアログボックスで、新しい証明書をインポートします。
サーバー証明書を更新すると、以前の証明書を使用していたコンポーネントが新しい証明書を使用するように自動的に切り替わります。同様に、デバイスにサーバー証明書を展開している場合、証明書は次回展開するときに自動的に更新されます。
証明書の書き換え
XenMobile Serverは、内部的にPKIのために次の認証機関を使用します:ルートCA、デバイスCA、およびサーバーCA。それらのCAは論理グループとして分類され、グループ名が与えられます。新しいXenMobile Serverインスタンスがプロビジョニングされると、3つのCAが生成され、グループ名が「default」になります。
サポートされているiOS、macOS、およびAndroidデバイスのCAを更新するには、XenMobile Serverコンソールまたは公開REST APIを使用します。登録済みWindowsデバイスの場合、ユーザーは新しいデバイスCAを受信するためにデバイスを再登録する必要があります。
XenMobile Serverで内部PKI CAを書き換えまたは再生成し、これらの証明機関によって発行されたデバイス証明書を更新するには、次のAPIを使用します。
- グループ証明機関(CA)を作成します。
- 新しいCAをアクティブにし、古いCAを無効にします。
- 設定済みのデバイスリストでデバイス証明書を更新します。既に登録済みのデバイスは、中断することなく動作し続けます。デバイスがサーバーに接続すると、デバイス証明書が発行されます。
- 古いCAを使用しているデバイスのリストを返します。
- すべてのデバイスに新しいCAが割り当てられたら、古いCAを削除します。
詳しくは、PDFファイル「RESTサービスのためのPublic API」の次のセクションを参照してください:
- 第3.16.58項「デバイス証明書の更新」
- 第3.23項「内部PKI CAグループ」
[デバイスの管理] コンソールには、デバイスの登録証明書を更新するために使用されるセキュリティアクションである [証明書の書き換え] が含まれています。
前提条件
- デフォルトでは、この証明書の書き換え機能は無効になっています。証明書の書き換え機能を有効にするには、サーバープロパティrefresh.internal.caの値をTrueに設定します。
重要:
Citrix ADCでSSLオフロードが設定されている場合は、新しい証明書を生成するときに、必ず新しいcacert.permを使ってロードバランサーを更新してください。Citrix Gatewayの設定について詳しくは、「To use SSL Offload mode for NetScaler VIPs」を参照してください。
クラスタノードのサーバーCA証明書パスワードをリセットするCLIオプション
1つのXenMobile ServerノードでサーバーCA証明書を生成したら、XenMobile CLIを使用して他のクラスタノードの証明書パスワードをリセットします。CLIのメインメニューから、[システム]>[詳細設定]>[CA証明書パスワードをリセットする] を選択します。新しいCA証明書がないときにパスワードをリセットしても、XenMobileはパスワードをリセットしません。
XenMobile証明書の管理
XenMobile展開で使用する証明書の情報、特に有効期限と関連パスワードを記録することをお勧めします。このセクションは、XenMobileで証明書をより簡単に管理する方法について説明します。
ご使用の環境には以下の一部、またはすべての証明書が含まれている可能性があります:
- XenMobile Server
- MDM FQDNのSSL証明書
- SAML証明書(Citrix Files用)
- 上記証明書およびその他の内部リソース(StoreFrontやプロキシなど)用のルートCA証明書と中間CA証明書
- iOSデバイス管理用のAPN証明書
- XenMobile Server Secure Hub通知用の内部APN証明書
- PKIに接続するためのPKIユーザー証明書
- MDX Toolkit
- Apple Developer証明書
- 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プッシュ通知サービス(APNs)証明書は毎年有効期限が切れます。証明書の有効期限が切れる前に、APNs SSL証明書を作成し、Citrixポータルで証明書を更新してください。証明書の期限が切れた場合、Secure Mailプッシュ通知に一貫性がなくなります。また、アプリのプッシュ通知を送信することもできなくなります。
iOSデバイス管理用のAPNs証明書
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
<!--NeedCopy-->
MDX Toolkit(iOS配布証明書)
物理的なiOSデバイス(Apple App Storeのアプリ以外)上で実行するアプリの署名要件は次のとおりです:
- プロビジョニングプロファイルでアプリに署名します。
- 対応する配布用証明書でアプリに署名します。
有効なiOS配布証明書があるかを確認するには、以下の操作を行います:
- Apple Enterprise Developerポータルから、MDX Toolkitでラップする各アプリで新しいプロビジョニングプロファイルと一意で明示的なApp IDを作成します。有効なApp IDの例:
com.CompanyName.ProductName
- Apple Enterprise Developerポータルから、[Provisioning Profiles]>[Distribution] に移動して、社内プロビジョニングプロファイルを作成します。前述の手順で作成されたApp IDごとに、この手順を繰り返します。
- すべてのプロビジョニングプロファイルをダウンロードします。詳しくは、「iOSモバイルアプリのラップ」を参照してください。
すべてのXenMobile Server証明書が有効であることを確認するには、以下の操作を行います。
- XenMobileコンソールで、[設定]>[証明書] の順にクリックします。
- APNs証明書、SSL証明書、リスナー証明書、ルート証明書、中間証明書を含むすべての証明書が有効であることを確認してください。
Androidキーストア
キーストアはAndroidアプリに署名するために使用する証明書を含むファイルです。キーの有効期間が切れると、アプリの新しいバージョンにシームレスにアップグレードできなくなります。
Citrix ADC
Citrix ADCの証明書の有効期限について詳しくは、Citrix Support Knowledge Centerで「How to handle certificate expiry on NetScaler」を参照してください。
Citrix ADC証明書の有効期限が切れると、ユーザーはストアに登録したり、アクセスすることができなくなります。Citrix Gateway証明書の有効期限が切れると、ユーザーはSecure Mailを使用するときにExchange Serverに接続することもできなくなります。また、ユーザーは(証明書の有効期限切れによって)HDXアプリを一覧にしたり起動することもできなくなります。
Expiry MonitorおよびCommand Centerによって、Citrix ADC証明書の記録を確認できます。証明書の有効期限が切れるとCommand Centerから通知が送信されます。これらのツールは、以下のCitrix ADC証明書の監視に役立ちます:
- MDM FQDNのSSL証明書
- Gateway FQDNのSSL証明書
- ShareFile SZC FQDNのSSL証明書
- Exchange負荷分散用のSSL証明書(オフロード構成)
- StoreFront負荷分散用のSSL証明書
- 上記証明書のルート証明書および中間CA証明書