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

最終公開日 : Nov 02, 2026
ネットワークアクセスコントロール (NAC) ソリューションを使用して、AndroidおよびAppleデバイス向けのCitrix Endpoint Managementデバイスセキュリティ評価を拡張できます。NACソリューションは、Citrix Endpoint Managementセキュリティ評価を使用して認証決定を促進および処理します。NACアプライアンスを構成すると、Citrix Endpoint Managementで構成したデバイスポリシーとNACフィルターが適用されます。
NACソリューションとCitrix Endpoint Managementを併用することで、ネットワーク内部のデバイスに対するQoSとよりきめ細かな制御が追加されます。NACとCitrix Endpoint Managementを統合する利点の概要については、「アクセス制御」を参照してください。
Citrixは、Citrix Endpoint Managementとの統合のために以下のソリューションをサポートしています。
  • ネットスケーラー ゲートウェイ
  • ForeScout
Citrix®は、他のNACソリューションとの統合を保証しません。
ネットワークにNACアプライアンスがある場合:
  • Citrix Endpoint Managementは、iOS、Android Enterprise、およびAndroidデバイスのエンドポイントセキュリティ機能としてNACをサポートしています。
  • Citrix Endpoint Managementでフィルターを有効にして、ルールまたはプロパティに基づいて、NACのデバイスを準拠または非準拠として設定できます。例:
    • Citrix Endpoint Managementで管理されているデバイスが指定された基準を満たさない場合、Citrix Endpoint Managementはそのデバイスを非準拠としてマークします。NACアプライアンスは、ネットワーク上の非準拠デバイスをブロックします。
    • Citrix Endpoint Managementで管理されているデバイスに非準拠アプリがインストールされている場合、NACフィルターはVPN接続をブロックできます。その結果、非準拠のユーザーデバイスはVPNを介してアプリやWebサイトにアクセスできません。
    • NACにNetScaler Gatewayを使用している場合、NetScaler Gatewayプラグインが不要なネットワークトラフィックをNetScaler Gatewayに送信するのを防ぐために、スプリットトンネリングを有効にできます。スプリットトンネリングの詳細については、「スプリットトンネリングの構成」を参照してください。

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

Citrix Endpoint Managementは、以下のNAC準拠フィルターをサポートしています。
匿名デバイス: デバイスが匿名モードであるかどうかを確認します。このチェックは、デバイスが再接続しようとしたときにCitrix Endpoint Managementがユーザーを再認証できない場合に利用できます。
禁止されているアプリ: デバイスに、アプリアクセスポリシーで定義されている禁止されているアプリがあるかどうかを確認します。そのポリシーの詳細については、「アプリアクセスのデバイスポリシー」を参照してください。
非アクティブなデバイス: Server PropertiesのDevice Inactivity Days Threshold設定で定義されているように、デバイスが非アクティブであるかどうかを確認します。詳細については、「サーバープロパティ」を参照してください。
不足している必須アプリ: デバイスに、アプリアクセスポリシーで定義されている必須アプリが不足しているかどうかを確認します。
推奨されないアプリ: デバイスに、アプリアクセスポリシーで定義されている推奨されないアプリがあるかどうかを確認します。
準拠していないパスワード: ユーザーパスワードが準拠しているかどうかを確認します。iOSおよびAndroidデバイスでは、Citrix Endpoint Managementは、現在デバイス上にあるパスワードが、デバイスに送信されたパスコードポリシーに準拠しているかどうかを判断できます。たとえば、iOSでは、Citrix Endpoint Managementがデバイスにパスコードポリシーを送信した場合、ユーザーは60分以内にパスワードを設定する必要があります。ユーザーがパスワードを設定する前は、パスコードが準拠していない可能性があります。
準拠していないデバイス: デバイスが、準拠していないデバイスプロパティに基づいて、準拠していないかどうかを確認します。通常、自動化されたアクションまたはCitrix Endpoint Management APIを使用するサードパーティがそのプロパティを変更します。
失効ステータス: デバイス証明書が失効しているかどうかを確認します。失効したデバイスは、再度承認されるまで再登録できません。
ルート化されたAndroidデバイスとジェイルブレイクされたiOSデバイス: AndroidまたはiOSデバイスがジェイルブレイクされているかどうかを確認します。
管理されていないデバイス: Citrix Endpoint Managementがデバイスを管理しているかどうかを確認します。たとえば、MAMに登録されているデバイスや未登録のデバイスは管理されていません。
注:
暗黙的な準拠/非準拠フィルターは、Citrix Endpoint Managementが管理しているデバイスにのみデフォルト値を設定します。たとえば、ブロックされたアプリがインストールされているデバイスや登録されていないデバイスは、非準拠としてマークされます。NACアプライアンスは、これらのデバイスをネットワークからブロックします。

構成の概要

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

Citrix Endpoint ManagementでNACフィルターを有効にする

  1. Citrix Endpoint Managementコンソールで、設定 > ネットワークアクセス制御に移動します。
    ネットワークアクセス制御設定の画像
  2. 有効にする非準拠として設定フィルターのチェックボックスをオンにします。
  3. 保存をクリックします。

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

VPN仮想サーバーで、高度な(従来の方式ではない)認証およびVPNセッションポリシーを構成する必要があります。
これらの手順は、以下のいずれかの特性を持つNetScaler Gatewayを更新します。
  • Citrix Endpoint Managementと統合されている。
  • または、VPN用に設定されており、Citrix Endpoint Management環境の一部ではないが、Citrix Endpoint Managementに到達できる。
コンソールウィンドウから仮想VPNサーバーで、次の操作を行います。コマンドと例のFQDNおよび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_EndpointManagement -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_EndpointManagement -authnProfile xm_nac_prof
  8. 次のように入力して、NetScaler Gatewayからデバイスへの接続を確認します。
    curl -v -k https://<Endpoint Management_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. 前の手順が成功したら、Citrix Endpoint Management への Web 認証アクションを作成します。まず、iOS VPN プラグインからデバイス ID を抽出するポリシー式を作成します。次のように入力します。
    add policy expression xm_deviceid_expression "HTTP.REQ.BODY(10000).TYPECAST_NVLIST_T(\'=\',\'&\').VALUE(\"deviceidvalue\")"
  10. 次のように入力して、Citrix Endpoint Management にリクエストを送信します。この例では、Citrix Endpoint Management の IP は 10.207.87.82 で、FQDN は example.em.cloud.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.cloud.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\")"
    Citrix Endpoint Management 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. Citrix 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