NetScaler Gateway

Configuring Network Access Control device check for the NetScaler Gateway virtual server for single factor login

This topic provides information on configuring the NetScaler Gateway to connect to an internal network from a mobile device (iOS and Android) with the Network Access Compliance (NAC) security offered by Microsoft Intune. When a user tries to connect to NetScaler Gateway from an iOS or Android VPN client, the gateway first checks with the Intune service if the device is a managed and a compliant device.

  • Managed: The device is enrolled using the Intune Company Portal client.
  • Compliant: Required policies pushed from the Intune MDM server are applied.

Only if the device is both managed and compliant, the VPN session is established and the user is provided access to the internal resources.

Note:

  • In this setup, NetScaler Gateway at the back-end talks to the Intune service. The SSL profiles handle the incoming connections to the NetScaler Gateway. The NetScaler Gateway back-end communication handles any SNI requirements of the back-end cloud services (Intune).

Licensing

Citrix Enterprise Edition license is required for this functionality.

System requirements

  • NetScaler Gateway release 11.1 build 51.21 or later
  • iOS VPN – 10.6 or later
  • Android VPN – 2.0.13 or later
  • Microsoft
    • Azure AD access (having tenant and admin privileges)
    • Intune enabled tenant
  • Firewall Enable firewall rules to all DNS and SSL traffic from subnet IP address to https://login.microsoftonline.com and https://graph.windows.net (port 53 and port 443)

Prerequisites

  • All existing authentication policies must be converted from classic to advanced policies. For information on how to convert from classic policies to advanced policies, see https://support.citrix.com/article/CTX131024.
  • Configure the OAuth policy on the NetScaler Gateway application that you created using the following application specific information.
    • Client ID / Application ID
    • Client secret / Application key
    • Azure tenant ID

References

To add a NetScaler Gateway Virtual Server with nFactor for Gateway deployment

  1. Navigate to Virtual Servers under the NetScaler Gateway tree node.

    Virtual servers page

  2. Click Add.

    Add virtual server

  3. Provide the required information in the Basic Settings area and click OK.

    Set basic settings

  4. Select Server Certificate.

    Select server certificate

  5. Select required server certificate and click Bind.

    Bind server certificate

  6. Click Continue.

  7. Click Continue.

  8. Click Continue.

  9. Click the plus icon [+] next to Policies and select Session from the Choose Policy list and select Request from the Choose Type list and click Continue.

  10. Click the plus icon [+] next to Select Policy.

  11. On the Create NetScaler Gateway Session Policy page, provide a name for the Session policy.

  12. Click the plus icon [+] next to Profile and on the Create NetScaler Gateway Session Profile page, provide a name for the Session profile.

  13. On the Client Experience tab, click the check box next to Clientless Access and select Off from the list.

  14. Click the check box next to Plug-in Type and select Windows/Mac OS X from the list.

  15. Click Advanced Settings and select the check box next to Client Choices and set its value to ON.

  16. On the Security tab, click the check box next to Default Authorization Action and select Allow from the list.

  17. On the Published Applications tab, click the check box next to ICA Proxy and select OFF from the list.

  18. Click Create.

  19. Enter NS_TRUE under Expression area on the Create NetScaler Gateway Session Policy page.

  20. Click Create.

  21. Click Bind.

  22. Select Authentication Profile in Advanced Settings.

    Authentication Profile

  23. Click the plus icon [+] and provide a name for the Authentication Profile.

    Add name for Authentication Profile

  24. Click the plus icon [+] to create an authentication virtual server.

    Add authentication virtual server

  25. Specify name and IP address type for authentication virtual server under Basic Settings area and click OK. The IP address type can be Non Addressable as well.

    Set basic settings

  26. Click Authentication Policy.

    Authentication Policy

  27. Under the Policy Binding view, click the plus icon [+] to create an authentication policy.

    Create Authentication Policy

  28. Select OAUTH as an Action Type and click the plus icon [+] to create an OAuth action for NAC.

    OAuth action type

  29. Create an OAuth action using Client ID, Client Secret, and Tenant ID.

    Client ID, Client Secret, and Tenant ID are generated after configuring the NetScaler Gateway application on the Azure portal.

    Ensure that you have an appropriate DNS name server configured on your appliance to resolve and reach https://login.microsoftonline.com/, https://graph.windows.net/, and *.manage.microsoft.com.

    ID and secret for Azure portal

  30. Create an authentication policy for OAuth Action.

    Rule:

    http.req.header("User-Agent").contains("NAC/1.0")&& ((http.req.header("User-Agent").contains("iOS") &&    http.req.header("User-Agent").contains("NSGiOSplugin")) || (http.req.header("User-Agent").contains("Android") &&    http.req.header("User-Agent").contains("CitrixVPN")))
    

    Authentication policy rule

  31. Click the plus icon [+] to create a nextFactor policy label.

    Create next factor policy label

  32. Click the plus icon [+] to create a login schema.

    Create login schema

  33. Select noschema as an authentication schema and click Create.

    Select authentication schema

  34. After selecting the created login schema, click Continue.

    Click Continue

  35. In Select Policy, select an existing authentication policy for user login or click the plus icon + to create an authentication policy. For details on creating an authentication policy, see Configuring advanced authentication policies.

    Select or create an authentication policy

  36. Click Bind.

    Click Bind

  37. Click Done.

    Click Done

  38. Click Bind.

    Click Bind

  39. Click Continue.

    Click Continue

  40. Click Done.

    Click Done

  41. Click Create.

    Click Create

  42. Click OK.

    Click OK

  43. Click Done.

    Click Done

To bind authentication login schema to authentication virtual server to indicate VPN plug-ins to send device ID as part of /cgi/login request

  1. Navigate to Security > AAA - Application Traffic > Virtual Servers.

    Virtual servers page

  2. Select the previously selected virtual-server and click Edit.

    Edit virtual server

  3. Click Login Schemas under Advanced Settings.

    Select login schema

  4. Click Login Schemas to bind.

    Bind login schema

  5. Click [>] to select and bind the existing build in login schema policies for NAC device check.

    Select an existing login schema

  6. Select the required login schema policy appropriate for your authentication deployment and click Select.

    In the explained deployment, single factor authentication (LDAP) along with the NAC OAuth Action policy is used, hence lschema_single_factor_deviceid has been selected.

    select single factor authentication policy

  7. Click Bind.

    Click Bind

  8. Click Done.

    Click Done

Configuring Network Access Control device check for the NetScaler Gateway virtual server for single factor login