Citrix Gateway SAML Integration with AuthPoint

Deployment Overview

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. To configure RADIUS authentication for Citrix Gateway, see Citrix Gateway RADIUS Integration with AuthPoint.

This integration was tested with NS13.1: Build 12.11.nc of Citrix ADC (Citrix Gateway is a part of Citrix ADC).

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.

Diagram that shows the data flow of an MFA transaction for a SAML resource with the push authentication method.

Before You Begin

Before you begin these procedures, make sure that:

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:

  1. From the navigation menu, select Configure > AuthPoint. If you have a Service Provider account, you must first pivot to your Subscriber view.
  2. Select Resources.
  3. Click Certificate.

  1. 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. If you do not have a certificate, or if all of your certificates have expired, click Add Certificate and use the newly created certificate. For more information, see Certificate Management.

    The AuthPoint metadata provides your resource, in this case Citrix Gateway, with information necessary to identify AuthPoint as a trusted identity provider.

  1. Log in to the Citrix ADC admin interface as an administrator.
  2. Select the Configuration tab.
  3. Navigate to Traffic Management > SSL > Certificates > CA Certificates.

Screen shot of the CA Certificates

  1. Click Install.
  2. In the Certificate-Key Pair Name text box, type an easily identifiable name.
  3. For Certificate File Name, click Choose File and upload the CA certificate file you get.
  4. Click Install.

Screen shot of the CA Certificates

Screen shot of the CA Certificates

  1. Select Citrix Gateway > Policies > Authentication > SAML.
  2. Select the Servers tab.
  3. Click Add.
  4. In the Name text box, type an easily identifiable name. In our example, we type AuthPoint.
  5. Clear the Import Metadata check box.
  6. In the Redirect URL text box, type the SingleSignOnService Location value from the AuthPoint metadata file.
  7. In the Single Logout URL text box, type the SingleLogoutService Location value from the AuthPoint metadata file.
  8. From the SAML Binding drop-down list, select POST.
  9. From the Logout Binding drop-down list, select POST.
  10. From the IDP Certificate Name drop-down list, select the certificate you got from AuthPoint and installed to Citrix ADC.
  11. In the User Field text box, type Name ID.
  12. From the Signing Certificate Name drop-down list, select a certificate that can be trusted by Citrix.
  13. In the Issuer Name text box, type the name used to log in to the Citrix Gateway Virtual Server.
  14. From the Reject Unsigned Assertion drop-down list, select ON.
  15. For Signature Algorithm, select RSA-SHA256.
  16. For Digest Method, select SHA256.

Screen shot of the creat authentication SAML server

  1. Click Create.

Screen shot of the creat authentication SAML server

  1. On the SAML page, select the Policies tab. Click Add.

Screen shot of the creat authentication SAML Policies

  1. In the Name text box, type an easily identifiable name. In our example, we type AuthPoint_Policy.
  2. From the Server drop-down list, select your SAML server.
  3. Under Expression, from the second Select drop-down list, select ns_true.

Screen shot of the creat authentication SAML Policies

  1. Click Create.

Screen shot of the creat authentication SAML Policies

If you get a warning about classic authentication policies, you can click OK to ignore it.

  1. Navigate to Citrix Gateway > Virtual Servers.
  2. Select the virtual servers you created. For more information about how to create virtual servers, see the Citrix documentation.
  3. Click Edit.
  4. Next to Basic Authentication, click +.
  5. From the Choose Policy drop-down list, select SAML.
  6. From the Choose Type drop-down list, select Primary.

Screen shot of the add authentication type

  1. Click Continue.

Screen shot of the add authentication type

  1. In the Select Policy section, click >.

Screen shot of the add authentication type

  1. Select your SAML policy. Click Select.
  2. Leave the default settings.

Screen shot of the add authentication type

  1. Click Bind.

Screen shot of the add authentication type

  1. On the VPN Virtual Server configuration page, click Done.
  2. Navigate to Citrix Gateway > Policies > Authentication > SAML.
  3. Select the Servers tab.
  4. Select your SAML server and then click Export SAML Metadata.
  5. Select your VPN server and click Export.
  6. 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.

Configure AuthPoint

Before AuthPoint can receive authentication requests from Citrix Gateway, you must add a SAML resource in AuthPoint. You must also create a Zero Trust authentication policy for the Citrix Gateway resource to determine which users can authenticate and log in to Citrix Gateway and which authentication methods they can use (Push, QR code, and OTP).

Add a SAML Resource in AuthPoint

From the AuthPoint management UI:

  1. From the navigation menu, select Resources. Click Add Resource.
    The Add Resource page opens.

  1. From the Type drop-down list, select SAML.
    Additional fields appear.

  1. On the SAML page, in the Name text box, type a name for this resource.
  2. From the Application Type drop-down list, select Citrix Gateway.
  3. In the Service Provider Entity ID text box, type the entityID value from the Citrix Gateway matadata page.
  4. In the Assertion Consumer Service text box, type the Assertion Consumer Service value from the Citrix Gateway matadata page. Format https://Citrix Gateway FQDN/cgi/samlauth.
  5. From the User ID sent on redirection to service provider drop-down list, select User Name.
  6. In the Logout URL text box, type the Assertion Consumer Service value from the Citrix Gateway matadata page. Format https://Citrix Gateway FQDN/cgi/tmlogout.
  7. From the Signature Method drop-down list, select SHA-256.
  8. 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.

  1. 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 WatchGuard Cloud-hosted group to the WatchGuard Cloud Directory:

  1. Go to Configure > Directories and Domain Services.
  2. Click the WatchGuard Cloud Directory domain name. If you have not yet added the WatchGuard Cloud Directory, click Add Authentication Domain and select the WatchGuard Cloud Directory.
    The New Group page appears.

Screenshot that shows the Directories and Domain Services page.

  1. In the Groups tab, click Add Group.
  2. In the Group Name text box, type a descriptive name for the group.
  3. (Optional) In the Description text box, type a description of the group.

Screen shot of the Add Group page.

  1. Click Save.
    Your group is added to the WatchGuard Cloud Directory and to AuthPoint.

Add a Zero Trust Authentication Policy

Zero Trust 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 Zero Trust authentication policy that includes the Citrix Gateway SAML resource. If you already have Zero Trust 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 a Zero Trust authentication policy:

  1. Go to Configure > Zero Trust. If you have a Service Provider account, you must select an account from Account Manager.
  2. Click Add Policy.
  3. Type a name for this policy.
  4. In the Target section, from the Content drop-down list, select which groups this policy applies to. You can make multiple selections to add multiple groups.
  5. In the Resources section, select the AuthPoint resources this policy applies to.
  6. In the Conditions section, select the conditions that apply to this policy. When you add a condition to an authentication policy, the policy applies only to user authentications that match the policy and the policy conditions. 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 more information, go to About Zero Trust Conditions.
    1. (Optional) To create a new condition, click Add New Condition. After you create a new condition, you must still add the condition to the policy.
    2. From the Type drop-down list, select the type of condition to add to the policy.
    3. From the Name drop-down list, select which condition of the chosen type to add to the policy.
    4. To add more conditions, repeat Step 6.

      If you add conditions to a policy, we recommend that you create a second policy for the same groups and resources without the conditions. Assign a higher priority to the policy with the policy objects. For more information about priority, go to About Zero Trust Policy Precedence.

  7. In the Action section, select an option to specify whether to allow or deny authentications for the resources in this policy. In our example, we want to allow authentications.
    • Allow — Allow user groups in this policy access to the resources associated with this policy.
    • Deny — Deny authentications when users in the groups associated with this policy try to authenticate to the resources associated with this policy.
  8. If you allow access with this policy, select the check box for each authentication option users can select when they authenticate to resources in this policy with MFA.

    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.

  9. Click Save.
    Your policy is created and added to the end of the policy list.
  10. Review the order of your policies and adjust as necessary. For more information about priority, go to About Zero Trust Policy Precedence.

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).

  1. In a web browser, go to the Citrix Gateway virtual server login URL.
    You see the AuthPoint authentication page.
  2. Type your email address or AuthPoint user name. Click Next.
  3. If required, in the Password text box, type your password.
  4. For the authentication method, select Send Push.
  5. Approve the authentication request that is sent to your mobile device.
    You are logged in to Citrix Gateway virtual server.

When you log in, the Citrix Gateway UI appears empty because there are no products bound after Citrix Gateway. You can bind Citrix Gateway with other Citrix products, such as XenApp and XenDesktop.

Screen shot of the add authentication type