Product Documentation

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

2018年2月21日

XenMobileで、Cisco ISEなどのNAC(Network Access Control:ネットワークアクセス制御)アプライアンスをネットワークで設定する場合は、フィルターで規則またはプロパティに基づいてデバイスをNACに準拠または非準拠として設定することができます。XenMobileの管理対象デバイスが指定された条件を満たしていない場合、デバイスは[非準拠]としてマークされます。NACアプライアンスは、ネットワーク上で非準拠デバイスをブロックします。

iOSデバイスの場合、VPNポリシーを展開し、NACフィルターを有効にして、非準拠のアプリケーションがインストールされているデバイスのVPN接続をブロックすることができます。詳しくは、このページの「iOSのNAC構成」を参照してください。

XenMobileコンソールの一覧で、デバイスを非準拠として設定する条件を1つまたは複数選択します。

XenMobileでは、次のNAC準拠フィルターがサポートされます。

匿名デバイス:デバイスが匿名モードではないかを確認します。このチェックは、デバイスが再接続を試行したときにXenMobileがユーザーを再認証できない場合に使用できます。

Samsung KNOX構成証明に失敗しました:デバイスが、Samsung KNOX構成証明サーバーのクエリに失敗していないかを確認します。

禁止アプリ:デバイス上にアプリアクセスポリシーで定義された禁止アプリがないかを確認します。アプリケーションアクセスポリシーについて詳しくは、「アプリケーションアクセスデバイスポリシー」を参照してください。

非アクティブデバイス: [サーバー プロパティ]でデバイスの[非アクティブな日数のしきい値]に定義された期間、非アクティブであったかを確認します。詳しくは、「サーバープロパティ」を参照してください。

不足必須アプリ:デバイスにアプリアクセスポリシーで定義された必須アプリの不足がないかを確認します。

非推奨アプリ: デバイスにアプリアクセスポリシーで定義された非推奨アプリがないかを確認します。

非準拠パスワード: ユーザーパスワードが正しいかを確認します。iOSデバイスおよびAndroidデバイスで、デバイス上の現在のパスワードが、デバイスに送信されるパスコードポリシーに準拠しているかをXenMobileが確認できます。例えば、iOSでは、XenMobileがデバイスにパスコードポリシーを送信する場合、ユーザーは60分間でパスワードを設定する必要があります。ユーザーがパスワードを設定するまでの間、パスコードは非準拠になる可能性があります。

コンプライアンス外デバイス:[コンプライアンス外デバイス]プロパティに基づいて、デバイスがコンプライアンス外かどうかを確認します。通常、このプロパティは自動化された操作により変更されるか、XenMobile APIを利用するサードパーティにより変更されます。

失効状態:デバイスの証明書が失効していないかを確認します。取り消されたデバイスは再認証されるまで再登録できません。

ルート化されたAndroidおよびジェイルブレイクしたiOSデバイス: AndroidまたはiOSデバイスがジェイルブレイクされていないかを確認します。

非管理デバイス:デバイスがまだXenMobileの管理下にあるかを確認します。例えば、MAMモードで実行されているデバイスや未登録のデバイスは管理されていません。

注:

[暗黙的な準拠/非準拠]または[非準拠]フィルターは、XenMobileが管理するデバイスでのみデフォルト値を設定します。例えば、ブラックリストに登録されているアプリケーションがインストールされているデバイスや、登録されていないデバイスはNACアプライアンスにより[非準拠]としてマークされます。ネットワークはこれらのデバイスをブロックします。

iOSのNAC構成

NetScalerのポリシー設定により、XenMobileはiOSデバイスのエンドポイントセキュリティ機能としてネットワークアクセス制御(NAC)をサポートします。NACフィルターを有効にすると、非準拠のアプリケーションがインストールされているデバイスのVPN接続をブロックできます。VPN接続がブロックされている場合、ユーザーはVPN経由でアプリやWebサイトにアクセスできません。

たとえば、管理者が[アプリアクセス]ポリシーで特定のアプリを[禁止]、つまりブラックリスト対象に指定したとします。ユーザーがそのアプリケーションをインストールした場合、Citrix SSOを開いてVPNに接続しようとすると、接続はブロックされます。次のエラーが表示されます:要求の処理中にエラーが発生しました。管理者に問い合わせてください。

構成では、NACをサポートするようにNetScalerポリシーを更新する必要があります。XenMobileコンソールで、NACフィルターを有効にしてVPNデバイスポリシーを展開します。この機能をデバイスで使用するには、ユーザーがApple StoreからCitrix SSO VPNクライアントをインストールします。

サポートされるNACフィルターは次のとおりです。

  • 匿名デバイス
  • 禁止アプリ
  • 非アクティブ デバイス
  • 不足必須アプリ
  • 非推奨アプリ
  • 非準拠パスワード
  • コンプライアンス外デバイス
  • 失効状態
  • Root 化された Android およびジェイルブレイクした iOS デバイス
  • 非管理デバイス

前提条件

  • NetScaler 12
  • XenMobile Server 10.18.2
  • Citrix SSO 1.0.1がインストールされたデバイス

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

構成した認証ポリシーとVPNセッションポリシーを拡張する必要があります。仮想VPNサーバー上のコンソールウィンドウで、次の操作を行います。コマンドと例の中のIPアドレスは架空のものです。

この手順では、XenMobile環境に統合されたNetScalerを更新します。XenMobile環境の一部ではないもののXenMobile Serviceにアクセスできる、VPN用にセットアップされたNetScaler Gatewayがある場合にも、この手順を使用することができます。

  1. VPN仮想サーバーでクラシックポリシーを使用している場合は、すべてのクラシックポリシーを削除してバインド解除します。クラシックポリシーを確認するには、以下のように入力します。

    show vpn vserver <VPN_VServer>

    Classicという単語が含まれている結果をすべて削除します。例:VPNセッションポリシー名:PL_OS_10.10.1.1 種類:Classic 優先度: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. 以下のように入力して、NetScalerからデバイスへの接続を確認します。

    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の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ステータス「200 OK」です。‘X-Citrix-Device-State’ヘッダーには「Compliant」の値が必要です。

  11. 以下のように入力して、アクションを関連付ける認証ポリシーを作成します。

    add authentication Policy <policy name> -rule <rule> -action <web auth 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 <webauth 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

  19. VPNデバイスポリシーを構成します。VPNデバイスポリシーの構成方法に関する一般的な情報については、「VPNデバイスポリシー」を参照してください。

ネットワークアクセス制御の構成

  1. XenMobileコンソールで、右上の歯車アイコンをクリックします。[設定] ページが開きます。

  2. [サーバー] の下の [ネットワークアクセス制御] をクリックします。[Network Access Control]ページが開きます。

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

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

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

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