Documentation

Introduction

Use this guide to enable 2-Factor Authentication and Single Sign-on (SSO) access via SAML to Citrix NetScaler AGEE 10.5.X Published Apps.

Citrix Desktop Receiver does not support SAML authentication and Citrix Mobile Receiver will support SAML authentication in Web Interface Setup only

Prerequisites

1. Have Citrix NetScaler 10.5.X with a valid license

2. Have NS platform license and separate AG license for Access Gateway (AG) functionality

Refer to detailed Citrix license information

3. Ensure that the Citrix NetScaler server has a valid identity certificate installed

An SSL Certificate can be purchased from SSL certificate providers (Entrust, VeriSign, GoDaddy, etc.)

4. Have Citrix NetScaler Published App(s) and access to the configuration

5. Create a New Realm for the Citrix NetScaler AGEE Published App integration in the SecureAuth IdP Web Admin

6. Configure the following tabs in the Web Admin before configuring the Post Authentication tab:

  • Overview – the description of the realm and SMTP connections must be defined
  • Data – an enterprise directory must be integrated with SecureAuth IdP
  • Workflow – the way in which users will access this application must be defined
  • Registration Methods – the 2-Factor Authentication methods that will be used to access this page (if any) must be defined
SecureAuth IdP Configuration Steps
Post Authentication

 

1. Select SAML 2.0 (SP Initiated by Post) Assertion Page from the Authenticated User Redirect dropdown in the Post Authentication tab in the Web Admin

2. An unalterable URL will be auto-populated in the Redirect To field, which will append to the domain name and realm number in the address bar (Authorized/SAML20SPInitPost.aspx)

3. A customized post authentication page can be uploaded, but it is not required

User ID Mapping

 

4. Select Authenticated User ID from the User ID Mapping

In typical scenarios, the Authenticated User ID is sent; however, if the Citrix Published App ID is contained in a different SecureAuth IdP Property, select that value from the dropdown

5. Select urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified from the Name ID Format dropdown (default)

Select a different option if the app requires it, which the Service Provider (SP) will provide

6. Select False from the Encode to Base64 dropdown

SAML Assertion / WS Federation

 

7. Set the WSFed/SAML Issuer to a Unique Name that will be shared with Citrix NetScaler

The WSFed/SAML Issuer must match exactly on the SecureAuth IdP side and the Citrix side

8. Provide the SP Start URL to enable SSO and to redirect users appropriately to access Citrix NetScaler Published Apps

This would be the Citrix NetScaler VPN domain URL

9. Set the SAML Offset Minutes to make up for time differences between devices

10. Set the SAML Valid Hours to limit for how long the SAML assertion is valid

No configuration is required for the WSFed Reply To/SAML Target URL, SAML Consumer URL, SAML Recipient, or SAML Audience fields

 

11. Leave the Signing Cert Serial Number as the default value, unless there is a third-party certificate being used for the SAML assertion

If using a third-party certificate, click Select Certificate and choose the appropriate certificate

12. Download the Assertion Signing Certificate, export it as Base64, and store it on a local PC or Citrix NetScaler appliance to be used below

13. Provide the Domain in order to Download the Metadata File to send to Citrix (if required)

Click Save once the configurations have been completed and before leaving the Post Authentication page to avoid losing changes

Forms Auth / SSO Token

 

14. Click View and Configure FormsAuth keys / SSO token to configure the token/cookie settings and to configure this realm for SSO

These are optional configurations

 To configure this realm's token/cookie settings, follow these steps:
Forms Authentication

1. If SSL is required to view the token, select True from the Require SSL dropdown

2. Choose whether SecureAuth IdP will deliver the token in a cookie to the user's browser or device:

  • UseCookies enables SecureAuth IdP to always deliver a cookie
  • UseUri disables SecureAuth IdP to deliver a cookie, and instead deliver the token in a query string
  • AutoDetect enables SecureAuth IdP to deliver a cookie if the user's settings allow it
  • UseDeviceProfile enables SecureAuth IdP to deliver a cookie if the browser's settings allow it, no matter the user's settings

3. Set the Sliding Expiration to True if the cookie remains valid as long as the user is interacting with the page

4. Set the Timeout length to determine for how many minutes a cookie is valid

No configuration is required for the Name, Login URL, or Domain fields

Machine Key

 

5. No changes are required in the Validation field, unless the default value does not match the company's requirement

If a different value is required, select it from the dropdown

6. No changes are required in the Decryption field, unless the default value does not match the company's requirement

If a different value is required, select it from the dropdown

No configuration is required for the Validation Key or Decryption Key fields

Authentication Cookies

 

7. Enable the cookie to be Persistent by selecting True - Expires after Timeout from the dropdown

Selecting False - Session Cookie enables the cookie to be valid as long as the session is open, and will expire once the browser is closed or the session expires

No configuration is required for the Pre-Auth Cookie, Post-Auth Cookie, or the Clean Up Pre-Auth Cookie fields

Click Save once the configurations have been completed and before leaving the Forms Auth / SSO Token page to avoid losing changes

To configure this realm for SSO, refer to SecureAuth IdP Single Sign-on Configuration

To configure this realm for Windows Desktop SSO, refer to Windows Desktop SSO Configuration Guide

Citrix NetScaler Configuration Steps

 

VPN Virtual Server is required for this integration

1. Log into the Citrix NetScaler AGEE admin console, and select Virtual Servers under NetScaler Gateway

2. Select the appropriate Virtual Server to use for this integration, or click Add to create a new one

See below for Virtual Server creation steps

 Create new VPN Virtual Server
New VPN Virtual Server

 

1. Set a Name for the new Virtual Server

2. Provide the IPAddress

3. Provide the Port number

4. Click OK

Server Certificate

 

3. Open the Virtual Server, and click on the Server Certificate option

 

4. Select the SSL Identity Certificate (Prerequisites, #3) from the Select Server Certificate dropdown; or click the + to add the SSL Identity Certificate (see below)

5. Once the SSL Identity Certificate is selected, click Bind

 Install the Identity SSL Certificate
Install Certificate

 

1. Provide a Certificate Key-Pair Name for the SSL Identity Certificate

2. Click Browse in the Certificate File Name section, and select the SSL Identity Certificate

3. Select PEM or DER from the Certificate Format options

4. Click Install

SAML Authentication Policy

 

6. In the Virtual Server, click the + in the Authentication section to add an Authentication SAML Policy

 

7. Select SAML from the Choose Policy dropdown

8. Select Primary from the Choose Type dropdown

9. Click Continue

 

10. Click to + in the Select Policy section to create a new SAML policy

11. Once the policy and profile with certificate are created (steps 13-29 below), set the Priority to a value lower than the Priority of the Authentication LDAP Policy (configured below)

12. Click Bind

Create Authentication SAML Policy

 

13. Provide a Name for the new SAML policy

14. Click the + in the Server section to create a new SAML server

15. Select the newly created SAML server (steps 18-29 below) from the Server dropdown

16. Create an ns_true Expression

17. Click Create

Create Authentication SAML Server

 

18. Provide a Name for the new SAML profile

19. Click the + in the IDP Certificate Name section to add the SAML certificate

20. Select the newly uploaded SAML certificate (steps 26-29 below) from the IDP Certificate Name dropdown

21. Set the Redirect URL to the Fully Qualified Domain Name (FQDN) of the SecureAuth IdP appliance, followed by the Citrix-integrated realm and /secureauth.aspx, e.g. https://secureauth.company.com/secureauth2/secureauth.aspx

22. Set the Issuer Name to the same Unique Name established in the WSFed/SAML Issuer field in the SecureAuth IdP Web Admin (step 7)

23. Select ON from the Two Factor options

24. Select POST from the SAML Binding dropdown

25. Click Create

Install Certificate

 

26. Provide the Certificate-Key Page Name of the certificate

27. Click Browse in the Certificate File Name section, and select the Assertion Signing Certificate from the SecureAuth IdP Web Admin (step 12)

28. Select PEM from the Certificate Format options

29. Click Install

LDAP Authentication Policy

 

30. In the Virtual Server, click the + in the Authentication section to add an Authentication LDAP Policy

 

31. Select LDAP from the Choose Policy dropdown

32. Select Primary from the Choose Type dropdown

33. Click Continue

 

34. Click the + in the Select Policy section to create a new LDAP policy

35. Once the policy and profile are created (steps 36-52 below), click Bind

Be sure that the Priority amount is higher than the Priority of the Authentication SAML Policy

Create Authentication LDAP Policy

 

36. Provide a Name for the new LDAP policy

37. Click the + in the Server section to create a new LDAP server

38. Select the newly created LDAP server (steps 41-52 below) from the Server dropdown

39. Create an ns_true Expression

40. Click Create

Create Authentication LDAP Server

 

41. Provide a Name for the new LDAP server

42. Provide the Server Name or the Server IP Address

43. Select the Security Type from the dropdown

44. Provide the Port of the LDAP directory

45. Provide the Base DN of the location of users in the LDAP directory

46. Provide the Citrix service account information in the Administrator Bind DN field

47. Select --<< New >>-- from the Server Logon Name Attribute dropdown, and set it to sAMAccountName

48. Select memberOf from the Group Attribute dropdown

49. Select --<< New >>-- from the Sub Attribute Name dropdown, and set it to Subject:CN

50. Select Disabled in the Nested Group Extraction section

51. Configure the rest as required for the LDAP directory

52. Click Create

Session Policy

 

53. In the Virtual Server, click the + in the Policies section to add a Session Policy

 

54. Select Session from the Choose Policy dropdown

55. Select Request from the Choose Type dropdown

56. Click Continue

57. (next page) Click the in the Select Policy section to create a new session policy

58. Once the policy and profile are created (steps 59-71 below), click Bind

Create Session Policy

 

59. Provide a Name for the new session policy

60. Click the + in the Action section to create a new session profile

61. Select the newly created session profile (steps 64-71 below) from the Action dropdown

62. Create an ns_true Expression

63. Click Create

Create Session Profile

 

64. Provide a Name for the new session profile

65. In the Client Experience section, check Single Sign-on to Web Applications

66. Select PRIMARY from the Credential Index

 

67. In the Published Applications section, select ON from the ICA Proxy dropdown

68. Set the Web Interface Address to the Published Application's URL

69. Select NORMAL from the Web Interface Portal Mode dropdown

70. Set the Single Sign-on Domain to the Published Application's domain, e.g. the company name

71. Click Create