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

最終公開日 : Oct 21, 2026
ネットワークアクセス制御 (NAC) ソリューションを使用して、Android および Apple デバイスの XenMobile® デバイスセキュリティ評価を拡張できます。NAC ソリューションは、XenMobile セキュリティ評価を使用して認証の決定を容易にし、処理します。NAC アプライアンスを構成すると、XenMobile で構成したデバイスポリシーと NAC フィルターが適用されます。
NAC ソリューションと XenMobile を使用すると、QoS と、ネットワーク内部のデバイスに対するよりきめ細かな制御が追加されます。NAC と XenMobile を統合する利点の概要については、「アクセス制御」を参照してください。
Citrix® は、XenMobile との統合のために以下のソリューションをサポートしています。
  • シトリックス ゲートウェイ
  • シスコ アイデンティティ サービス エンジン (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 を使用するサードパーティが、そのデバイスプロパティを変更します。
失効ステータス: デバイス証明書が失効しているかどうかを確認します。失効したデバイスは、再度承認されるまで再登録できません。
Root化された Android および Jailbreakされた iOS デバイス: Android または iOS デバイスが Jailbreakされているかどうかを確認します。
管理対象外デバイス: デバイスが XenMobile の制御下で管理状態にあるかどうかを確認します。たとえば、MAM に登録されているデバイスや未登録のデバイスは管理対象外です。
注:
暗黙的な準拠/非準拠フィルターは、XenMobile が管理しているデバイスにのみデフォルト値を設定します。たとえば、ブロックされたアプリがインストールされているデバイスや登録されていないデバイスは、非準拠としてマークされます。NAC アプライアンスは、これらのデバイスをネットワークからブロックします。

構成の概要

記載されている順序でNACコンポーネントを構成することをお勧めします。
  1. NACをサポートするようにデバイスポリシーを構成します。
    iOSデバイスの場合: NACをサポートするようにVPNデバイスポリシーを構成するを参照してください。
    Android Enterpriseデバイスの場合: Citrix SSOのAndroid Enterprise管理対象構成を作成するを参照してください。
    Androidデバイスの場合: Android向けCitrix SSOプロトコルを構成するを参照してください。
  2. NACソリューションを構成します。

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

  1. XenMobileコンソールで、**「設定」>「ネットワークアクセスコントロール」**に移動します。
    ネットワークアクセスコントロール設定の画像
  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
  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. LDAP高度認証ポリシーを作成してSecure Hub接続を有効にします。以下を入力します。
    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