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 set up SAML with AuthPoint.
This integration was tested with NS13.0: Build 52.24.nc of Citrix Gateway.
Citrix Gateway SAML Authentication Data Flow with AuthPoint
AuthPoint communicates with various cloud-based services and service providers with the SAML 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
- The integration with Citrix Products XenApp and XenDesktop is done
- The Citrix Gateway virtual server login page exists
- A token is assigned to a user in AuthPoint
- You have an AuthPoint identity provider (IdP) certificate (see Certificate Management)
You can bind Citrix Gateway with other Citrix products. In this integration guide, we bind XenApp and XenDesktop.
Configure Citrix Gateway
To start, you must download the metadata file and the certificate file from the Resources page in the AuthPoint management UI. Once you have those, you can configure Citrix Gateway.
From the WatchGuard Cloud web UI:
- From the navigation menu, select Configure > AuthPoint. If you have a Service Provider account, you must first pivot to your Subscriber view.
- Select Resources.
- Click Certificate.
- Next to AuthPoint certificate you will associate with your resource, click ,select Download Metadata and Download Certificate. We recommend that you choose the certificate with the latest expiration date.
The AuthPoint metadata provides your resource, in this case Citrix Gateway, with information necessary to identify AuthPoint as a trusted identity provider.
- Log in to the Citrix Gateway admin interface as an administrator.
- Select the Configuration tab.
- Navigate to Traffic Management > SSL > Certificates > CA Certificates.
- Click Install.
- In the Certificate-Key Pair Name text box, type an easily identifiable name.
- For Certificate File Name, click Choose File and upload the certificate file you downloaded from AuthPoint.
- Click Install.
- Select Citrix Gateway > Policies > Authentication > SAML.
- Select the Servers tab.
- Click Add.
- In the Name text box, type an easily identifiable name. In our example, we type AuthPoint.
- Clear the Import Metadata check box.
- In the Redirect URL text box, type the SingleSignOnService Location value from the AuthPoint metadata file.
- In the Single Logout URL text box, type the SingleLogoutService Location value from the AuthPoint metadata file.
- From the SAML Binding drop-down list, select POST.
- From the Logout Binding drop-down list, select POST.
- From the IDP Certificate Name drop-down list, select the certificate you uploaded from AuthPoint.
- In the User Field text box, type Name ID.
- From the Signing Certificate Name drop-down list, select the certificate that you installed when you integrate with XenApp and XenDesktop.
- In the Issuer Name text box, type the name used to log in to the Citrix Gateway Virtual Server.
- From the Reject Unsigned Assertion drop-down list, select ON.
- For Signature Algorithm, select RSA-SHA256.
- For Digest Method, select SHA256.
- Click Create.
- On the SAML page, select the Policies tab. Click Add.
- In the Name text box, type an easily identifiable name. In our example, we type AuthPoint_Policy.
- From the Server drop-down list, select your SAML server.
- Under Expression, from the second Select drop-down list, select ns_true.
- Click Create.
- Navigate to Citrix Gateway > Virtual Servers.
- Select your Virtual Server.
- In the Basic Authentication section, unbind the exist LDAP Policy.
- Click +.
- From the Choose Policy drop-down list, select SAML.
- From the Choose Type drop-down list, select Primary.
- Click Continue.
- In the Select Policy section, click >.
- Select your SAML policy. Click Select.
- Leave the default settings.
- Click Bind.
- On the VPN Virtual Server configuration page, click Done.
- Navigate to Citrix Gateway > Policies > Authentication > SAML.
- Select the Servers tab.
- Select your SAML server and then click Export SAML Metadata.
- Select your VPN server and click Export.
- On the metadata page, find and copy the entityID, Assertion Consumer Service and SingleLogoutService values. You need these values to create a SAML resource in AuthPoint.
Before AuthPoint can receive authentication requests from Citrix Gateway, you must specify the Citrix Gateway client as a SAML resource in AuthPoint. You must also assign the Citrix Gateway resource to the user group that will authenticate through Citrix Gateway.
Add a SAML Resource in AuthPoint
From the AuthPoint management UI:
- From the navigation menu, select Resources.
- From the Choose a Resource Type drop-down list, select SAML. Click Add Resource.
- On the SAML page, in the Name text box, type a name for this resource.
- From the Application Type drop-down list, select Citrix Gateway.
- In the Service Provider Entity ID text box, type the entityID value from the Citrix Gateway matadata page.
- In the Assertion Consumer Service text box, type the Assertion Consumer Service value from the Citrix Gateway matadata page.
- From the User ID sent on redirection to service provider drop-down list, select User Name.
- From the Signature Method drop-down list, select SHA-256.
- From the AuthPoint Certificate drop-down list, select the certificate to associate with your resource. This must be the same certificate that you downloaded the metadata for in the previous section.
- Click Save.
Add an Access Policy to AuthPoint
You must have at least one user group in AuthPoint for authentication with Citrix Gateway, and you must assign an access policy for the Citrix Gateway resource to that group. If you already have a group, you do not have to add another group.
In the AuthPoint management UI:
- From the navigation menu, select Groups.
- To add a new group, click Add Group. If you already have a group that you want to use, select the group to edit it.
- In the Name text box, type a descriptive name for the group.
- (Optional) In the Description text box, type a description of the group.
- In the Access Policy section, click Add Policy.
- In the Add Policy dialog box, from the Resource drop-down list, select the resource you want to add an access policy for.
- (Optional) To require that users type their password before they authenticate for this resource, enable the Require Password Authentication toggle.
- Select the authentication options that users in this group can select from when they authenticate.
For SAML resources, if you select more than one authentication option, users must select one of the available options when they authenticate. For example, if you select OTP and Push, users can choose to type their OTP or approve a push to authenticate. You cannot require that they do both.
- Click Add.
- (Optional) Add one or more safe locations to your group. For more information about safe locations and detailed instructions to add them, see About Safe Locations.
- Click Save.
Before you assign users to a group, you must add the users to AuthPoint. You can manually add user accounts or import user accounts from an external user database. For more information on how to add user accounts, see Add User Accounts.
Test the Integration
To test the integration of AuthPoint and the configuration of Citrix Gateway, you can authenticate with a mobile token on your mobile device. You can choose any method (one-time password, QR code, or push).
In this example, we show the push authentication method (users receive a push notification in the mobile app that they must approve to authenticate).
- In a web browser, go to the Citrix Gateway virtual server login URL.
You see the AuthPoint authentication page.
- Type your email address or AuthPoint user name. Click Next.
- If required, in the Password text box, type your password.
- For the authentication method, select Send Push.
- Approve the authentication request that is sent to your mobile device.
You are logged in to Citrix Gateway virtual server.