ネットワークアクセス制御
ネットワークアクセス制御(NAC)ソリューションを使用して、AndroidデバイスおよびAppleデバイスのCitrix Endpoint Managementデバイスのセキュリティ評価を拡張できます。NACソリューションはCitrix Endpoint Managementのセキュリティ評価を使用して、認証の決定を効率的に処理します。Citrix Endpoint Managementで構成するデバイスポリシーとNACフィルターは、NACアプライアンスを構成した後に適用されます。
Citrix Endpoint ManagementをNACソリューションと組み合わせると、ネットワーク内部のデバイスに対するQoSを向上させ、よりきめ細かい制御を行うことができます。NACとCitrix Endpoint Managementを統合する利点の概要については、「アクセス制御」を参照してください。
CitrixではCitrix Endpoint Managementと統合するための以下のソリューションをサポートしています:
- NetScaler Gateway
- ForeScout
他のNACソリューションとの統合は保証されていません。
ネットワーク内のNACアプライアンスを使用する場合:
-
Citrix Endpoint Managementでは、iOS、Android Enterprise、およびAndroidデバイスのエンドポイントセキュリティ機能としてNACがサポートされています。
-
Citrix Endpoint Managementでフィルターを有効にして、規則またはプロパティに基づいてデバイスをNACの準拠または非準拠として設定できます。例:
-
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がユーザーを再認証できない場合に使用できます。
禁止アプリ: デバイス上にアプリアクセスポリシーで定義された禁止アプリがないかを確認します。このポリシーについて詳しくは、「アプリアクセスデバイスポリシー」を参照してください。
非アクティブデバイス: [サーバープロパティ] で デバイスの[非アクティブな日数のしきい値] で定義された期間、非アクティブであったかを確認します。詳しくは、「サーバープロパティ」を参照してください。
不足必須アプリ: デバイスにアプリアクセスポリシーで定義された必須アプリの不足がないかを確認します。
非推奨アプリ: デバイスにアプリアクセスポリシーで定義された非推奨アプリがないかを確認します。
非準拠パスワード: ユーザーパスワードが正しいかを確認します。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コンソールで、[設定]>[ネットワークアクセス制御] に移動します。
-
有効にする [非準拠として設定] フィルターのチェックボックスをオンにします。
-
[Save] をクリックします。
NACをサポートするようにNetScaler Gatewayポリシーを更新する
VPN仮想サーバーでは、(クラシックではない)高度な認証ポリシーとVPNセッションポリシーを構成する必要があります。
これらの手順では、次のいずれかの特性を利用してNetScaler Gatewayを更新します:
- Citrix Endpoint Managementと統合されている。
- Citrix Endpoint Management環境の一部ではなくVPNに設定されており、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_LDAP
bind authentication vserver authvs -policy ldap_xm_test_pol -priority 110 -gotoPriorityExpression NEXT