This document describes how to set up multi-factor authentication (MFA) for Citrix Gateway with AuthPoint as an identity provider. Citrix Gateway must already be configured and deployed before you set up MFA with AuthPoint.
Citrix Gateway can be configured to support MFA in several modes. For this integration, we configure Citrix Gateway to use the PAP authentication protocol to authenticate local AuthPoint users.
To authenticate users synced from Active Directory or an LDAP database, you must configure Citrix Gateway to use the MS-CHAPv2 authentication protocol and enable MS-CHAPv2 for your RADIUS resource in AuthPoint. You must also configure NPS. OTP authentication is not supported for MS-CHAPv2 RADIUS resources.
To use RADIUS authentication with Citrix Gateway, you must install and configure the AuthPoint Gateway. The AuthPoint Gateway functions as a RADIUS server and must be installed somewhere on your network that has Internet access and that can connect to your RADIUS clients. For more information, see About Gateways.
This integration was tested with NS11.1: Build 57.11.nc of Citrix Gateway.
Citrix Gateway Authentication Data Flow with AuthPoint
AuthPoint communicates with various cloud-based services and service providers with the RADIUS protocol. This diagram shows the data flow of an MFA transaction for a Citrix Gateway.
Before You Begin
Before you begin these procedures, make sure that:
- End-users can log in to Citrix Gateway
- A token is assigned to a user in AuthPoint
Configure Citrix Gateway
Create a RADIUS Authentication Policy and Server
- Log in to the Citrix Gateway administrator web console
- Select the Configuration tab.
- Select NetScaler Gateway > Policies > Authentication > RADIUS.
- Click Add.
- In the Name text box, type a name for the policy.
- Next to the Server text box, click +.
- In the Name text box, type a name for the server.
- Select Server IP.
- In the IP Address text box, type the IP address of the AuthPoint Gateway.
- In the Port text box, type the port for the AuthPoint Gateway. The default port for the Gateway is 1812.
- In the Secret Key and Confirm Secret Key text boxes, type a shared secret.
- In the Time-out text box, type 30.
- Click Create.
- From the Saved Policy Expressions drop-down list, select ns_true.
- Click Create.
Bind RADIUS to the Virtual Server
- Select the Configuration tab.
- Select NetScaler Gateway > Virtual Servers.
- Select the virtual servers created in XenApp and XenDesktop setup.
- Click Edit.
- Next to Basic Authentication, click +.
- From the Choose Policy drop-down list, select RADIUS.
- From the Choose Type drop-down list, select Primary. Click Continue.
- In the Policy Binding section, next to Select Policy click >.
- Select the RADIUS policy that you created.
- Click Select.
- Click Bind.
Before AuthPoint can receive authentication requests from Citrix Gateway, you must specify Citrix Gateway as a RADIUS client resource in AuthPoint. You must also create an authentication policy for the Citrix Gateway resource and you must bind the Citrix Gateway resource to the AuthPoint Gateway.
Add a Citrix Gateway Resource in AuthPoint
From the AuthPoint management UI:
- From the navigation menu, select Resources.
- From the Choose a Resource Type drop-down list, select RADIUS Client. Click Add Resource.
- In the Name text box, type a descriptive name for the resource. In our example, we name the resource Citrix Gateway.
- In the RADIUS client trusted IP or FQDN text box, type the IP address that your RADIUS client uses to send RADIUS packets to the AuthPoint Gateway. This must be a private IP address.
- From the Value sent for RADIUS attribute 11 (Filter-Id) drop-down list, specify what is sent for the attribute 11 (Filter-ID) value in RADIUS responses. You can choose to send the user's AuthPoint group or the user's Active Directory groups.
- In the Shared Secret text box, type the password that the RADIUS server (AuthPoint Gateway) and the RADIUS client will use to communicate.
- Click Save.
Add a Group in AuthPoint
You must have at least one user group in AuthPoint to configure MFA. If you already have a group, you do not have to add another group.
To add a group to AuthPoint:
- From the navigation menu, select Groups.
- Click Add Group.
The New Group page appears.
- In the Name text box, type a descriptive name for the group.
- (Optional) In the Description text box, type a description of the group.
- Click Save.
Your group is listed on the Groups page.
Add an Authentication Policy to AuthPoint
Authentication policies specify which resources users can authenticate to and which authentication methods they can use (Push, QR code, and OTP).
You must have at least one authentication policy in AuthPoint that includes the Citrix Gateway resource. If you already have authentication policies, you do not have to create a new authentication policy. You can add this resource to your existing authentication policies.
Users that do not have an authentication policy for a specific resource cannot authenticate to log in to that resource.
To configure an authentication policy:
- From the navigation menu, select Authentication Policies.
- Click Add Policy.
- Type a name for this policy.
- From the Select the authentication options drop-down list, select Authentication options and select which authentication options users can choose from when they authenticate.
If you enable the push and OTP authentication methods for a policy, RADIUS client resources associated with that policy will use push notifications to authenticate users.
QR code authentication is not supported for RADIUS client resources.
- Select which groups this policy applies to. You can select more than one group. To configure this policy to apply to all groups, select All Groups.
- Select the resource that you created in the previous section. If you want this policy to apply to additional resources, select each resource this policy applies to. To configure this policy to apply to all resources, select All Resources.
(Optional) If you have configured policy objects such as a Network Location, select which policy objects apply to this policy. When you add a policy object to a policy, the policy only applies to user authentications that match the conditions of the policy objects. For example, if you add a Network Location to a policy, the policy only applies to user authentications that come from that Network Location. Users who only have a policy that includes a Network Location do not get access to the resource when they authenticate outside of that Network Location (because they do not have a policy that applies, not because authentication is denied).
For RADIUS authentication, policies that have a Network Location do not apply because AuthPoint does not have the IP address of the user.
If you configure policy objects, we recommend that you create a second policy for the same groups and resources without the policy objects. The policy with the policy objects should have a higher priority.
- Click Save.
Your policy is created and added to the end of the policy list.
When you create a new policy, we recommend that you review the order of your policies. AuthPoint always adds new policies to the end of the policy list.
Bind the RADIUS Resource to a Gateway
To use RADIUS authentication with AuthPoint, you must have the AuthPoint Gateway installed on your corporate network and you must assign your RADIUS resources to the Gateway in the AuthPoint management UI. The Gateway functions as a RADIUS server.
If you have not already configured and installed the AuthPoint Gateway, see About Gateways.
To assign your RADIUS resources to the Gateway:
- From the navigation menu, select Gateway.
- Select the Name of the Gateway.
In the RADIUS section, in the Port text box, type the port number used to communicate with the Gateway. The default ports are 1812 and 1645.
If you already have a RADIUS server installed that uses port 1812 or 1645, you must use a different port for the AuthPoint Gateway.
- In the Select a RADIUS resource drop-down list, select your RADIUS client resource.
- Click Save.
Add Users to AuthPoint
Before you assign users to a group, you must add the users to AuthPoint. There are two ways to add AuthPoint user accounts:
- Sync users from an external user database
- Add local AuthPoint users
Each user must be a member of a group. You must add at least one group before you can add users to AuthPoint.
To import users from Active Directory, Azure Active Directory, or an LDAP database, you must add an external identity in the AuthPoint management UI. External identities connect to user databases to get user account information and validate passwords.
- To sync users from Active Directory or an LDAP database, you must add an LDAP external identity
- To sync users from Azure Active Directory, you must add an Azure AD external identity
When you sync users from an external user database, you can sync any number of users and they are all added to AuthPoint at one time. Users synced from an external user database use the password defined for their user account as their AuthPoint password.
You can create local AuthPoint users on the Users page in the AuthPoint management UI. Because you can create only one user at a time, you most commonly do this when you want to create test users or to add only a small number of users.
Unlike users synced from an external user database, local AuthPoint users define and manage their own AuthPoint password. When you add a local user account, the user receives an email that prompts them to set their password.
To learn how to add local AuthPoint user accounts, see Add Local AuthPoint Users.
Test the Integration
To test the integration of AuthPoint and configuration of your Citrix Gateway, you can authenticate with a mobile token on your mobile device. For RADIUS resources, you can choose one-time password (OTP) or push.
In this example, we show the one-time password authentication method.
- In a web browser, go to the virtual server login page
- Type your AuthPoint user name and password.
- Click Log On.
- Approve the authentication request that is sent to your mobile device.
You are logged in through Citrix Gateway Gateway.