ネットワークアクセスコントロール
Network Access Control(NAC)ソリューションを使用して、AndroidおよびAppleデバイス向けのCitrix Endpoint Managementデバイスセキュリティ評価を拡張できます。NACソリューションは、Citrix Endpoint Managementのセキュリティ評価を使用して、認証判断を容易にし、処理します。NACアプライアンスを構成すると、Citrix Endpoint Managementで構成したデバイスポリシーとNACフィルターが適用されます。
- Citrix Endpoint ManagementをNACソリューションと併用すると、QoSと、ネットワーク内部のデバイスに対するより詳細な制御が追加されます。NACとCitrix Endpoint Managementを統合する利点の概要については、「アクセスコントロール」を参照してください。
Citrixは、Citrix Endpoint Managementとの統合のために以下のソリューションをサポートしています。
- NetScaler Gateway
-
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経由でアプリやウェブサイトにアクセスできません。
- NACにNetScaler Gatewayを使用する場合、スプリットトンネリングを有効にして、NetScaler Gatewayプラグインが不要なネットワークトラフィックをNetScaler Gatewayに送信するのを防ぐことができます。スプリットトンネリングの詳細については、「[スプリットトンネリングの構成](/en-us/citrix-gateway/13/vpn-user-config/configure-plugin-connections/ng-plugin-split-tunneling-tsk.html)」を参照してください。
サポートされるNAC準拠フィルター
Citrix Endpoint Managementは、以下のNAC準拠フィルターをサポートしています。
匿名デバイス: デバイスが匿名モードであるかどうかを確認します。このチェックは、デバイスが再接続しようとしたときにCitrix Endpoint Managementがユーザーを再認証できない場合に利用できます。
禁止アプリ: アプリケーションアクセスデバイスポリシーで定義されているように、デバイスに禁止されているアプリがあるかどうかを確認します。このポリシーの詳細については、「アプリケーションアクセスデバイスポリシー」を参照してください。
非アクティブデバイス: サーバープロパティのデバイス非アクティブ日数しきい値設定で定義されているように、デバイスが非アクティブであるかどうかを確認します。詳細については、「サーバープロパティ」を参照してください。
必須アプリの欠落: アプリケーションアクセスデバイスポリシーで定義されているように、デバイスに必須アプリが欠落しているかどうかを確認します。
非推奨アプリ: アプリケーションアクセスデバイスポリシーで定義されているように、デバイスに非推奨アプリがあるかどうかを確認します。
非準拠パスワード: ユーザーパスワードが準拠しているかどうかを確認します。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コンポーネントは、記載されている順序で構成することをお勧めします。
-
NACをサポートするようにデバイスポリシーを構成する:
iOSデバイスの場合: 「NACをサポートするようにVPNデバイスポリシーを構成する」を参照してください。
Android Enterpriseデバイスの場合: 「Citrix SSO用のAndroid Enterprise管理対象構成を作成する」を参照してください。
Androidデバイスの場合: 「Android用のCitrix SSOプロトコルを構成する」を参照してください。
-
NACソリューションを構成する:
-
NetScaler Gatewayについては、「NACをサポートするようにNetScaler Gatewayポリシーを更新する」で詳細に説明されています。
デバイスにCitrix SSOをインストールする必要があります。「NetScaler Gatewayクライアント」を参照してください。
-
ForeScout:ForeScoutのドキュメントを参照してください。
-
Citrix Endpoint ManagementでNACフィルターを有効にする
-
Citrix Endpoint Managementコンソールで、[設定] > [ネットワークアクセスコントロール] に移動します。

-
有効にする[非準拠として設定] フィルターのチェックボックスをオンにします。
-
[保存] をクリックします。
NACをサポートするようにNetScaler Gatewayポリシーを更新する
VPN仮想サーバーで、高度な(クラシックではない)認証ポリシーとVPNセッションポリシーを構成する必要があります。
これらの手順は、以下のいずれかの特性を持つNetScaler Gatewayを更新します。
- Citrix Endpoint Managementと統合されている。
- または、VPN用に設定されており、Citrix Endpoint Management環境の一部ではないが、Citrix Endpoint Managementに到達できる。
コンソールウィンドウから仮想VPNサーバーで、以下を実行します。コマンドと例のFQDNとIPアドレスは架空のものです。
-
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> -
対応する高度なセッションポリシーを次のように入力して作成します。
add vpn sessionPolicy <policy_name> <rule> <session action>例:
add vpn sessionPolicy vpn_nac true AC_OS_10.10.1.1_A_ -
次のように入力して、ポリシーをVPN仮想サーバーにバインドします。
bind vpn vserver _XM_EndpointManagement -policy vpn_nac -priority 100 -
次のように入力して、認証仮想サーバーを作成します。
add authentication vserver <authentication vserver name> <service type> <ip address>例:
add authentication vserver authvs SSL 0.0.0.0この例では、0.0.0.0は認証仮想サーバーがパブリックに公開されていないことを意味します。 -
次のように入力して、SSL証明書を仮想サーバーにバインドします。
bind ssl vserver <authentication vserver name> -certkeyName <Webserver certificate>例:
bind ssl vserver authvs -certkeyName Star_mpg_citrix.pfx_CERT_KEY -
VPN仮想サーバーから認証仮想サーバーに認証プロファイルを関連付けます。まず、次のように入力して認証プロファイルを作成します。
add authentication authnProfile <profile name> -authnVsName <authentication vserver name>例:
add authentication authnProfile xm_nac_prof -authnVsName authvs -
次のように入力して、認証プロファイルをVPN仮想サーバーに関連付けます。
set vpn vserver <vpn vserver name> -authnProfile <authn profile name>例:
set vpn vserver _XM_EndpointManagement -authnProfile xm_nac_prof -
次のように入力して、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 <!--NeedCopy--> -
前の手順が成功したら、Citrix Endpoint ManagementへのWeb認証アクションを作成します。まず、iOS VPNプラグインからデバイスIDを抽出するためのポリシー式を作成します。次のように入力します。
add policy expression xm_deviceid_expression "HTTP.REQ.BODY(10000).TYPECAST_NVLIST_T(\'=\',\'&\').VALUE(\"deviceidvalue\")" -
次のように入力して、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である必要があります。 -
次のように入力して、アクションを関連付ける認証ポリシーを作成します。
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 -
次のように入力して、既存の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 -
次のように入力して、LDAPポリシーを関連付けるポリシーラベルを追加します。
add authentication policylabel <policy_label_name>例:
add authentication policylabel ldap_pol_label -
次のように入力して、LDAPポリシーをポリシーラベルに関連付けます。
bind authentication policylabel ldap_pol_label -policyName ldap_xm_test_pol -priority 100 -gotoPriorityExpression NEXT -
準拠デバイスを接続してNACテストを実行し、LDAP認証が成功したことを確認します。次のように入力します。
bind authentication vserver <authentication vserver> -policy <web authentication policy> -priority 100 -nextFactor <ldap policy label> -gotoPriorityExpression END -
認証仮想サーバーに関連付けるUIを追加します。デバイスIDを取得するには、次のコマンドを入力します。
add authentication loginSchemaPolicy <schema policy>-rule <rule> -action lschema_single_factor_deviceid -
次のように入力して、認証仮想サーバーをバインドします。
bind authentication vserver authvs -policy lschema_xm_nac_pol -priority 100 -gotoPriorityExpression END -
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_LDAPbind authentication vserver authvs -policy ldap_xm_test_pol -priority 110 -gotoPriorityExpression NEXT