XenMobile

ネットワークアクセス制御

ネットワークアクセス制御(NAC)ソリューションを使用して、XenMobile Serverデバイスのセキュリティ評価を拡張できます。NACソリューションはXenMobileのセキュリティ評価を使用して、認証の決定を効率的に処理します。

XenMobileをNACソリューションと組み合わせると、ネットワーク内部のデバイスに対するQoSを向上させ、よりきめ細かい制御を行うことができます。NACとXenMobileを統合する利点の概要については、「アクセス制御」を参照してください 。

シトリックスは、XenMobileと統合するための以下のソリューションをサポートしています:

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

他のNACソリューションとの統合は保証されていません。

ネットワーク内のNACアプライアンスを使用する場合:

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

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

    • 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コンポーネントは、リストされた順序で構成することを推奨します。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コンソールで、[設定]>[ネットワークアクセス制御] に移動します。

    ネットワークアクセス制御設定の画像

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

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

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

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

これらの手順では、次のいずれかの特性を利用してCitrix Gatewayを更新します:

  • XenMobile Server環境と統合されている。
  • XenMobile Server環境の一部ではなくVPNに設定されており、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
    
  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です。

    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: 10.207.87.82: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