Citrix GatewayとXenMobile
XenMobileを使用してCitrix Gatewayを構成すると、リモートデバイスで内部ネットワークにアクセスするための認証メカニズムが確立されます。この機能を利用すると、モバイルデバイス上のアプリでイントラネット内の社内サーバーにアクセスすることができます。XenMobileにより、デバイス上のアプリからCitrix GatewayへのMicro VPNが作成されます。
XenMobileで使用するCitrix Gatewayを構成するには、Citrix Gatewayで実行するスクリプトをXenMobileからエクスポートします。
Citrix Gateway構成スクリプトを使用するための前提条件
Citrix ADCの要件:
- Citrix ADC(最小バージョン11.0、ビルド70.12)
- Citrix ADCのIPアドレスが構成済みであり、LDAPサーバーに接続できる(LDAPが負荷分散されていない場合)
- Citrix ADCのサブネットIP(SNIP:Subnet IP)アドレスが構成済みであり、必要なバックエンドサーバーに接続でき、ポート8443/TCP経由でパブリックネットワークにアクセスできる
- DNSでパブリックドメインを解決できる
- Citrix ADCにプラットフォーム/ユニバーサルライセンスまたはトライアルライセンスが付与されている。詳しくは、「https://support.citrix.com/article/CTX126049」を参照してください。
- Citrix ADCのSSL証明書をCitrix Gatewayでアップロードしインストールしている。詳しくは、https://support.citrix.com/article/CTX136023を参照してください。
XenMobileの要件
- XenMobileサーバー(最小バージョン10.6)
- LDAPサーバーが構成済みである
内部ネットワークへのリモートデバイスアクセスに対する認証の構成
XenMobileコンソールで、右上の歯車アイコンをクリックします。[設定]ページが開きます。
[サーバー]の下の[Citrix Gateway]をクリックします。[Citrix Gateway]ページが開きます。次の例では、Citrix Gatewayインスタンスが1つ存在しています。
次の設定を構成します:
- 認証:認証を有効にするかどうかを選択します。デフォルトは[オン]です。
- 認証用のユーザー証明書を配信:XenMobileでSecure Hubと認証証明書を共有し、Citrix Gatewayでクライアント証明書認証を処理できるようにするかどうかを選択します。デフォルトは[オフ]です。
- 資格情報プロバイダー:ボックスの一覧で、使用する資格情報プロバイダーを選択します。詳しくは、「資格情報プロバイダー」を参照してください。
[保存]をクリックします。
Citrix Gatewayインスタンスの追加
認証設定の保存後、Citrix GatewayインスタンスをXenMobileに追加します。
XenMobileコンソールで、右上の歯車アイコンをクリックします。[設定]ページが開きます。
[サーバー]の下の[Citrix Gateway]をクリックします。[Citrix Gateway]ページが開きます。
[追加]をクリックします。[新しいCitrix Gatewayの追加]ページが開きます。
次の設定を構成します:
- 名前:Citrix Gatewayインスタンスの名前を入力します。
- エイリアス:オプションで、Citrix Gatewayのエイリアス名を入力します。
- 外部地址:Citrix Gatewayの、パブリックにアクセスできるURLを入力します。たとえば、
https://receiver.com
などです。 - ログオンの種類:ログオンの種類を選択します。種類には、[ドメインのみ]、[セキュリティトークンのみ]、[ドメインおよびセキュリティトークン]、[証明書]、[証明書およびドメイン]、[証明書およびセキュリティトークン]があります。[パスワードが必要]フィールドのデフォルト設定は、選択した[ログオンの種類]に基づいて変化します。デフォルトは[ドメインのみ]です。
ドメインが複数ある場合は、[証明書およびドメイン]を使用します。XenMobileとCitrix Gatewayで複数ドメイン認証を構成する方法について詳しくは、「複数ドメイン認証の構成」を参照してください。
[証明書およびセキュリティトークン]を使用する場合、Citrix GatewayでSecure Hubがサポートされるようにするには、追加の設定が必要となります。詳しくは、「Configuring XenMobile for Certificate and Security Token Authentication」を参照してください。
詳しくは、展開ハンドブックの「認証」を参照してください。
- パスワードが必要:パスワード認証を必須にするかどうかを選択します。デフォルト値は、選択した[ログオンの種類]に応じて変化します。
- デフォルトとして設定:このCitrix Gatewayをデフォルトとして使用するかどうかを選択します。デフォルトは[オフ]です。
- 構成スクリプトのエクスポート:構成バンドルをエクスポートする場合はこのボタンをクリックします。エクスポートした構成バンドルはCitrix Gatewayにアップロードし、XenMobileの設定を使用して構成します。詳しくは、これらの手順の後で「XenMobile Serverで使用するオンプレミスのCitrix Gatewayの構成」を参照してください。
- [コールバックURL]と[仮想IP]:これらのフィールドを追加する前に設定を保存してください。詳しくは、この記事の「コールバックURLおよびCitrix Gateway VPNの仮想IPの追加」を参照してください。
[保存]をクリックします。
新しいCitrix Gatewayが追加され、表に表示されます。インスタンスを編集または削除するには、表で名前をクリックします。
XenMobile Serverで使用するCitrix Gatewayの構成
XenMobileで使用するオンプレミスのCitrix Gatewayを構成するには以下の一般的な手順を実行します。これらの手順の詳細は下記で説明します:
XenMobile Serverからスクリプトと関連ファイルをダウンロードします。最新の手順について詳しくは、スクリプトに付属するreadmeファイルを参照してください。
環境が前提条件を満たしていることを確認します。
環境に合わせてスクリプトを更新します。
Citrix ADCでスクリプトを実行します。
構成をテストします。
スクリプトにより、XenMobileに必要なこれらのCitrix Gatewayの設定が構成されます:
- MDMとMAMに必要なCitrix Gateway仮想サーバー
- Citrix Gateway仮想サーバー用セッションポリシー
- XenMobile Serverの詳細
- Citrix Gateway仮想サーバーの認証ポリシーとアクション。 スクリプトによってLDAPの構成設定が説明されます。
- プロキシサーバーのトラフィックアクションとポリシー
- クライアントレスアクセスプロファイル
- Citrix ADCの静的ローカルDNSレコード
- 他のバインディング:サービスポリシー、CA証明書
このスクリプトは以下の構成には対応していません。
- Exchange負荷分散
- Citrix Files負荷分散
- ICAプロキシ構成
- SSLオフロード
スクリプトをダウンロード、更新、実行するには
Citrix Gatewayを追加中の場合は、[新しいCitrix Gatewayの追加]ページで[構成スクリプトのエクスポート]をクリックします。
Citrix Gatewayインスタンスを追加しスクリプトのエクスポート前に[保存]をクリックしている場合:[設定]>[Citrix Gateway]に戻り、目的のCitrix ADCを選択して[構成スクリプトのエクスポート]をクリックし、[ダウンロード]をクリックします。
[構成スクリプトのエクスポート]をクリックすると、XenMobileにより.tar.gz形式のスクリプトバンドルが作成されます。このスクリプトバンドルの内容は次のとおりです。
- 詳細説明付きのreadmeファイル
- Citrix ADCの必須コンポーネントの構成に使用するCitrix ADC CLIコマンドを含むスクリプト
- XenMobile ServerのパブリックルートCA(認証機関:Certificate Authority)証明書および中間CA証明書(現在のリリースでは、SSLオフロードの場合これらの証明書は不要です)
- Citrix ADC構成の削除に使用するCitrix ADC CLIコマンドを含むスクリプト
スクリプト(NSGConfigBundle_CREATESCRIPT.txt)を編集し、すべてのプレースホルダーを環境の情報で置き換えます。
スクリプトバンドルに含まれるreadmeファイルの説明に従って、編集済みのスクリプトをCitrix ADCのbashシェルで実行します。例:
/netscaler/nscli -U :
: batch -f "/var/NSGConfigBundle_CREATESCRIPT.txt" スクリプトが完了すると、次の行が表示されます。
構成のテスト
Citrix Gateway仮想サーバーの状態表示が[UP]であることを確認します。
Proxy負荷分散仮想サーバーの状態表示が[UP]であることを確認します。
Webブラウザーを開いてCitrix GatewayのURLに接続し、認証を試みます。認証が失敗した場合、「HTTP Status 404 - Not Found」というメッセージが表示されます。
デバイスを登録して、MDMとMAMの両方に登録されたことを確認します。
コールバックURLおよびCitrix Gateway VPNの仮想IPの追加
Citrix Gatewayインスタンスを追加した後で、コールバックURLを追加しCitrix Gateway仮想IPアドレスを指定できます。この設定はオプションですが、特にXenMobile ServerがDMZに配置されている場合、構成することでセキュリティを強化できます。
[設定]>[Citrix Gateway]で、目的のCitrix Gatewayを選択して[編集]をクリックします。
表で[追加]をクリックします。
[コールバックURL]に完全修飾ドメイン名(FQDN)を入力します。このコールバックURLにより、要求元がCitrix Gatewayであることが証明されます。
入力したコールバックURLが、XenMobile Serverからアクセス可能なIPアドレスに解決されることを確認します。コールバックURLには、外部のCitrix GatewayのURLや他のURLも指定できます。
Citrix Gatewayの仮想IPアドレスを入力してから[保存]をクリックします。
複数ドメイン認証の構成
テスト環境、開発環境、および実稼働環境などの複数のXenMobile Serverインスタンスがある場合は、追加の環境用に手動でCitrix Gatewayを構成します。(Citrix ADC for XenMobileウィザードは1回のみ使用できます)。
Citrix Gateway構成
複数ドメイン環境でCitrix Gateway認証ポリシーとセッションポリシーを構成するには:
- Citrix Gateway構成ユーティリティの[構成]タブで[Citrix Gateway]>[ポリシー]>[認証]を展開します。
- ナビゲーションペインで[LDAP]をクリックします。
クリックしてLDAPプロファイルを編集します。[サーバーログオン名の属性]をuserPrincipalName、または検索に使用する属性に変更します。XenMobileコンソールでLDAP設定を構成するときに使用できるように、指定した属性をメモしておきます。
- 各LDAPポリシーに対してこれらの手順を繰り返します。ドメインごとに個別のLDAPポリシーが必要です。
- Citrix Gateway仮想サーバーにバインドされたセッションポリシーで、[Edit session profile]>[Published Applications]に移動します。[Single Sign-On Domain]は空白にしてください。
XenMobile Serverの構成
LDAPを複数ドメインのXenMobile環境に構成するには:
XenMobileコンソールで、[設定]>[LDAP]に移動し、ディレクトリを追加または編集します。
情報を指定します。
[ドメインエイリアス]でユーザー認証に使用する各ドメインを指定します。ドメインはコンマで区切り、ドメイン間にはスペースを入れないでください。たとえば、次のようになります:
domain1.com,domain2.com,domain3.com
[ユーザー検索基準]フィールドがCitrix网关LDAPポリシーで指定された[サーバーログオン名の属性]と一致するようにしてください。
特定のURLへの受信接続要求を破棄
ご使用の環境のCitrix GatewayがSSLオフロード用に構成されている場合は、ゲートウェイで特定のURLへの受信接続要求が破棄されるようにすることができます。
この方法でセキュリティを強化する必要がある場合は、Citrix Gatewayで2台のMDMロードバランサー仮想サーバー(ポート443用とポート8443用)を構成します。以下の情報を設定のテンプレートとして使用してください。
重要:
以下の更新は,SSLオフロード用に設定されたCitrix Gateway専用です。
名前
XMS_DropURLs
のパターンセットを作成します。add policy patset XMS_DropURLs
新しいパターンセットに次のURLを追加します。必要に応じてこの一覧をカスタマイズしてください。
bind policy patset XMS_DropURLs /zdm/shp/console -index 6 bind policy patset XMS_DropURLs /zdm/login_xdm_uc.jsp -index 5 bind policy patset XMS_DropURLs /zdm/helper.jsp -index 4 bind policy patset XMS_DropURLs /zdm/log.jsp -index 3 bind policy patset XMS_DropURLs /zdm/login.jsp -index 2 bind policy patset XMS_DropURLs /zdm/console -index 1
接続要求が指定されたサブネットから発信されていない限り、これらのURLへのすべてのトラフィックを破棄するためのポリシーを作成します。
add responder policy XMS_DROP_pol “CLIENT.IP.SRC.IN_SUBNET(192.168.0.0/24).NOT && HTTP.REQ.URL.CONTAINS_ANY(”XMS_DropURLs”)” DROP -comment "Allow only subnet 192.168.0.0/24 to access these URLs. All other connections are DROPed"
新しいポリシーを両方のMDMロードバランサー仮想サーバーにバインドします(ポート443と8443)。
bind lb vserver _XM_LB_MDM_XenMobileMDM_443 -policyName XMS_DROP_pol -priority 100 -gotoPriorityExpression END -type REQUEST bind lb vserver _XM_LB_MDM_XenMobileMDM_8443 -policyName XMS_DROP_pol -priority 100 -gotoPriorityExpression END -type REQUEST
ブラウザーからのMAM URLアクセスをブロックします
ブラウザーから直接MAM URLにアクセスすると、ユーザーはActive Directoryの資格情報を入力するよう求められます。ユーザーが自分の資格情報を検証するためのツールとして機能しますが、一部のユーザーはこれをセキュリティ違反として扱う場合があります。次のセクションでは、NetScalerのレスポンダーポリシー機能を使用して、ブラウザーによるMAM URL(NetScaler Gateway VIP)へのアクセスを制限します。
次のレスポンダーポリシーのいずれかを作成し、それをNetScaler Gateway仮想サーバーにバインドします。
add responder policy Resp_Brow_Pol "HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"Mozilla\")&&HTTP.REQ.URL.PATH_AND_QUERY.EQ(\"/vpn/index.html\")" DROP
add responder policy Resp_Brow_Pol_CR "!HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"CitrixReceiver\")&&HTTP.REQ.URL.PATH_AND_QUERY.EQ(\"/vpn/index.html\")" DROP
add responder policy Resp_Brow_Pol_CR "HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"CitrixReceiver\").NOT&&HTTP.REQ.URL.PATH_AND_QUERY.EQ(\"/vpn/index.html\")" DROP
次を使用してNetScaler Gateway仮想サーバーにバインドします:
bind vpn vserver _XM_XenMobileGateway -policy Resp_Brow_Pol_CR -priority 100 -gotoPriorityExpression END -type REQUEST
注:
_XM_XenMobileGateway
は、NetScaler Gateway仮想サーバーの名前の例です。