XenMobile® Server

ネットワークアクセスコントロール

ネットワークアクセスコントロール (NAC) ソリューションを使用すると、Android および Apple デバイス向けの XenMobile® デバイスセキュリティ評価を拡張できます。NAC ソリューションは、XenMobile セキュリティ評価を使用して認証決定を容易にし、処理します。NAC アプライアンスを構成すると、XenMobile で構成したデバイスポリシーと NAC フィルターが適用されます。

XenMobile を NAC ソリューションと併用すると、ネットワーク内部のデバイスに対する QoS とより詳細な制御が追加されます。NAC と XenMobile を統合する利点の概要については、「アクセスコントロール」を参照してください。

Citrix® は、XenMobile との統合のために以下のソリューションをサポートしています。

  • Citrix Gateway
  • Cisco Identity Services Engine (ISE)
  • ForeScout

Citrix は、他の NAC ソリューションとの統合を保証しません。

ネットワークに NAC アプライアンスがある場合:

  • XenMobile は、iOS、Android Enterprise、および Android デバイスのエンドポイントセキュリティ機能として NAC をサポートしています。

  • XenMobile でフィルターを有効にして、ルールまたはプロパティに基づいて、NAC のデバイスを準拠または非準拠として設定できます。例:

    • XenMobile の管理対象デバイスが指定された基準を満たさない場合、XenMobile はそのデバイスを非準拠としてマークします。NAC アプライアンスは、ネットワーク上の非準拠デバイスをブロックします。

    • XenMobile の管理対象デバイスに非準拠アプリがインストールされている場合、NAC フィルターは VPN 接続をブロックできます。その結果、非準拠のユーザーデバイスは VPN を介してアプリや Web サイトにアクセスできません。

    • NAC に Citrix Gateway を使用している場合、スプリットトンネリングを有効にして、Citrix Gateway プラグインが不要なネットワークトラフィックを Citrix Gateway に送信するのを防ぐことができます。スプリットトンネリングの詳細については、「スプリットトンネリングの構成」を参照してください。

サポートされている NAC 準拠フィルター

XenMobile Server は、以下の NAC 準拠フィルターをサポートしています。

匿名デバイス: デバイスが匿名モードであるかどうかを確認します。このチェックは、デバイスが再接続しようとしたときに XenMobile がユーザーを再認証できない場合に利用できます。

Samsung Knox 認証の失敗: デバイスが Samsung Knox 認証サーバーへのクエリに失敗したかどうかを確認します。

禁止アプリ: デバイスに、アプリアクセスのデバイスポリシーで定義されている禁止アプリがあるかどうかを確認します。このポリシーの詳細については、「アプリアクセスのデバイスポリシー」を参照してください。

非アクティブデバイス: サーバープロパティ[デバイス非アクティブ日数しきい値] 設定で定義されているように、デバイスが非アクティブであるかどうかを確認します。詳細については、「サーバープロパティ」を参照してください。

不足している必須アプリ: デバイスに、アプリアクセスポリシーで定義されている必須アプリが不足しているかどうかを確認します。

推奨されないアプリ: デバイスに、アプリアクセスポリシーで定義されている推奨されないアプリがあるかどうかを確認します。

非準拠パスワード: ユーザーパスワードが準拠しているかどうかを確認します。iOS および Android デバイスでは、XenMobile は、デバイス上の現在のパスワードがデバイスに送信されたパスコードポリシーに準拠しているかどうかを判断できます。たとえば、iOS では、XenMobile がパスコードポリシーをデバイスに送信した場合、ユーザーは 60 分以内にパスワードを設定する必要があります。ユーザーがパスワードを設定する前は、パスコードが非準拠である可能性があります。

非準拠デバイス: デバイスが、非準拠デバイスプロパティに基づいて非準拠であるかどうかを確認します。通常、自動化されたアクションまたは XenMobile API を使用するサードパーティが、そのデバイスプロパティを変更します。

失効ステータス: デバイス証明書が失効しているかどうかを確認します。失効したデバイスは、再度承認されるまで再登録できません。

ルート化された Android およびジェイルブレイクされた iOS デバイス: Android または iOS デバイスがジェイルブレイクされているかどうかを確認します。

管理対象外デバイス: デバイスが XenMobile の制御下で管理状態にあるかどうかを確認します。たとえば、MAM に登録されているデバイスや登録解除されたデバイスは管理対象外です。

注:

暗黙的な準拠/非準拠フィルターは、XenMobile が管理しているデバイスにのみデフォルト値を設定します。たとえば、ブロックされたアプリがインストールされているデバイスや登録されていないデバイスは、非準拠としてマークされます。NAC アプライアンスは、ネットワークからこれらのデバイスをブロックします。

構成の概要

NAC コンポーネントは、記載されている順序で構成することをお勧めします。

  1. NAC をサポートするようにデバイスポリシーを構成します。

    iOS デバイスの場合:NAC をサポートするように VPN デバイスポリシーを構成する」を参照してください。

    Android Enterprise デバイスの場合:Citrix SSO 用の Android Enterprise 管理対象構成を作成する」を参照してください。

    Android デバイスの場合:Android 用 Citrix SSO プロトコルを構成する」を参照してください。

  2. XenMobile で NAC フィルターを有効にする

  3. NAC ソリューションを構成します。

XenMobile で NAC フィルターを有効にする

  1. XenMobile コンソールで、[設定] > [ネットワークアクセスコントロール] に移動します。

    Image of Network Access Control Settings

  2. 有効にする [非準拠として設定] フィルターのチェックボックスをオンにします。

  3. [保存] をクリックします。

NAC をサポートするように Citrix Gateway ポリシーを更新する

VPN 仮想サーバーで、高度な (従来のポリシーではない) 認証ポリシーと VPN セッションポリシーを構成する必要があります。

これらの手順は、以下のいずれかの特性を持つ Citrix Gateway を更新します。

  • XenMobile Server 環境と統合されている。
  • または、VPN 用に設定されており、XenMobile Server 環境の一部ではないが、XenMobile に到達できる。

コンソールウィンドウから仮想 VPN サーバーで、次の操作を実行します。コマンドと例の IP アドレスは架空のものです。

  1. VPN 仮想サーバーで従来のポリシーを使用している場合は、すべての従来のポリシーを削除してバインドを解除します。確認するには、次のように入力します。

    show vpn vserver <VPN_VServer>

    Classic という単語を含む結果を削除します。例: VPN Session Policy Name: PL_OS_10.10.1.1 Type: Classic Priority: 0

    ポリシーを削除するには、次のように入力します。

    unbind vpn vserver <VPN_VServer> -policy <policy_name>

  2. 次のように入力して、対応する高度なセッションポリシーを作成します。

    add vpn sessionPolicy <policy_name> <rule> <session action>

    例: add vpn sessionPolicy vpn_nac true AC_OS_10.10.1.1_A_

  3. 次のように入力して、ポリシーを VPN 仮想サーバーにバインドします。

    bind vpn vserver _XM_XenMobileGateway -policy vpn_nac -priority 100

  4. 次のように入力して、認証仮想サーバーを作成します。

    add authentication vserver <authentication vserver name> <service type> <ip address>

    例: add authentication vserver authvs SSL 0.0.0.0 この例では、0.0.0.0 は認証仮想サーバーがパブリックに公開されていないことを意味します。

  5. 次のように入力して、SSL 証明書を仮想サーバーにバインドします。

    bind ssl vserver <authentication vserver name> -certkeyName <Webserver certificate>

    例: bind ssl vserver authvs -certkeyName Star_mpg_citrix.pfx_CERT_KEY

  6. VPN 仮想サーバーから認証仮想サーバーに認証プロファイルを関連付けます。まず、次のように入力して認証プロファイルを作成します。

    add authentication authnProfile <profile name> -authnVsName <authentication vserver name>

    例:

    add authentication authnProfile xm_nac_prof -authnVsName authvs

  7. 次のように入力して、認証プロファイルを VPN 仮想サーバーに関連付けます。

    set vpn vserver <vpn vserver name> -authnProfile <authn profile name>

    例:

    set vpn vserver _XM_XenMobileGateway -authnProfile xm_nac_prof

  8. 次のように入力して、Citrix Gateway からデバイスへの接続を確認します。

    curl -v -k https://<XenMobile server>:4443/Citrix/Device/v1/Check --header "X-Citrix-VPN-Device-ID: deviceid_<device_id>"

    たとえば、このクエリは、環境に登録されている最初のデバイス (deviceid_1) の準拠ステータスを取得することで接続を確認します。

    curl -v -k https://10.10.1.1:4443/Citrix/Device/v1/Check --header "X-Citrix-VPN-Device-ID: deviceid_1"

    成功した結果は、次の例のようになります。

    HTTP/1.1 200 OK
    < Server: Apache-Coyote/1.1
    < X-Citrix-Device-State: Non Compliant
    < Set-Cookie: ACNODEID=181311111;Path=/; HttpOnly; Secure
    <!--NeedCopy-->
    
  9. 前の手順が成功したら、XenMobile への Web 認証アクションを作成します。まず、次のように入力して、iOS VPN プラグインからデバイス ID を抽出するポリシー式を作成します。

    add policy expression xm_deviceid_expression "HTTP.REQ.BODY(10000).TYPECAST_NVLIST_T(\'=\',\'&\').VALUE(\"deviceidvalue\")"

  10. 次のように入力して、XenMobile にリクエストを送信します。この例では、XenMobile Server の IP は 10.207.87.82 で、FQDN は example.em.server.com:4443 です。

    add authentication webAuthAction xm_nac -serverIP 10.207.87.82 -serverPort 4443 -fullReqExpr q{"GET /Citrix/Device/v1/Check HTTP/1.1\r\n" + "Host: example.em.server.com:4443\r\n" + "X-Citrix-VPN-Device-ID: " + xm_deviceid_expression + "\r\n\r\n"} -scheme https -successRule "HTTP.RES.STATUS.EQ(\"200\") &&HTTP.RES.HEADER(\"X-Citrix-Device-State\").EQ(\"Compliant\")"

    XenMobile NAC の成功した出力は HTTP status 200 OK です。X-Citrix-Device-State ヘッダーの値は Compliant である必要があります。

  11. 次のように入力して、アクションを関連付ける認証ポリシーを作成します。

    add authentication Policy <policy name> -rule <rule> -action <web authentication action>

    例: add authentication Policy xm_nac_webauth_pol -rule "HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"NAC\")" -action xm_nac

  12. 次のように入力して、既存の LDAP ポリシーを高度なポリシーに変換します。

    add authentication Policy <policy_name> -rule <rule> -action <LDAP action name>

    例: add authentication Policy ldap_xm_test_pol -rule true -action 10.10.1.1_LDAP

  13. 次のように入力して、LDAP ポリシーを関連付けるポリシーラベルを追加します。

    add authentication policylabel <policy_label_name>

    例: add authentication policylabel ldap_pol_label

  14. 次のように入力して、LDAP ポリシーをポリシーラベルに関連付けます。

    bind authentication policylabel ldap_pol_label -policyName ldap_xm_test_pol -priority 100 -gotoPriorityExpression NEXT

  15. 準拠デバイスを接続して NAC テストを実行し、LDAP 認証が成功したことを確認します。次のように入力します。

    bind authentication vserver <authentication vserver> -policy <web authentication policy> -priority 100 -nextFactor <ldap policy label> -gotoPriorityExpression END

  16. 認証仮想サーバーに関連付ける UI を追加します。次のように入力してデバイス ID を取得します。

    add authentication loginSchemaPolicy <schema policy>-rule <rule> -action lschema_single_factor_deviceid

  17. 次のように入力して、認証仮想サーバーをバインドします。

    bind authentication vserver authvs -policy lschema_xm_nac_pol -priority 100 -gotoPriorityExpression END

  18. Secure Hub 接続を有効にする LDAP 高度認証ポリシーを作成します。次のように入力します。

    add authentication Policy ldap_xm_test_pol -rule "HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"NAC\").NOT" -action 10.200.80.60_LDAP

    bind authentication vserver authvs -policy ldap_xm_test_pol -priority 110 -gotoPriorityExpression NEXT

ネットワークアクセスコントロール