Juniper IVE (SAML 1.1) Integration Guide
Introduction
Use this guide to enable Multi-Factor Authentication and Single Sign-on (SSO) via SAML 1.1 to Juniper IVE VPN.
Prerequisites
1. Have Juniper IVE 6.3 or higher
2. Create a New Realm for the Juniper IVE integration in the SecureAuth IdP Web Admin
3. 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
Multi-Factor Methods – the Multi-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 1.1 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/InterSiteTransfer.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 dropdown
In typical scenarios, the Authenticated User ID is sent; however, if the Juniper IVE 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 Juniper 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 Reply To/SAML Target URL to the Juniper Signing-in URL, e.g. https://ive.company.com/saml
8. Set the SAML Consumer URL to the Fully Qualified Domain Name (FQDN) of the Juniper IVE server, followed by /dana-na/auth/saml-consumer.cgi, e.g. https://ive.company.com/dana-na/auth/saml-consumer.cgi
9. Set the WSFed/SAML Issuer to a Unique Name that will be shared with Juniper
The WSFed/SAML Issuer must match exactly on the SecureAuth IdP side and the Juniper side
Note
No configuration is required for the SAML Recipient or SAML Audience fields
10. 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
11. Download the Assertion Signing Certificate, which will be used in the Juniper IVE configuration
Warning
Click Save once the configurations have been completed and before leaving the Post Authentication page to avoid losing changes
Forms Auth / SSO Token
Optionally, in the Forms Auth / SSO Token section, click the View and Configure FormsAuth keys/SSO token link to configure the token/cookie settings and configure this realm for SSO.
Juniper IVE Configuration Steps
Server Creation Configuration
1. Log into the Juniper IVE admin console, and select Auth. Servers under Authentication
2. Select SAML Server from the New dropdown
3. Click New Server... to create a new SAML Server
4. Set a Server Name for the SAML server
5. Select 1.1 from the SAML Version options
6. Set the Source Site Inter-Site Transfer Service URL to the FQDN of the SecureAuth IdP appliance, followed by the realm number of the Juniper IVE integrated realm (configured above in SecureAuth IdP Configuration Steps), e.g. https://secureauth.company.com/secureauth2/secureauth.aspx
7. Set the Issuer Value for Source Site to the same Unique Name set in the SecureAuth IdP Web Admin (step 9)
8. Specify the maximum allowed difference in time between the system clock and the SAML IdP server clock in the Allowed Clock Skew (minutes) field
9. Select Post from the SSO Method section
10. Click Choose File to upload the Assertion Signing Certificate from the SecureAuth IdP Web Admin (step 11)
11. Click Save Changes
Authentication Realm Configuration
12. In the admin console, select User Realms under Users, and click New User Realm...
13. Set a Name for the new realm
14. Select the New Server created in the previous steps from the Authentication dropdown
15. Select the Directory from which the authorization will occur from the User Directory / Attribute dropdown
16. Click Save Changes
User Role Configuration
17. In the admin console, select User Roles under Users, and click New User Role...
18. Set a Name for the new role
19. Select Web in the Access Features section
20. Click Save Changes
Apply New Role to Authentication Realm
21. To apply the New Role to the New Realm, click User Realms under Users
22. Select the New Realm from the list provided, and go into the Role Mapping section
23. Click New Rule... to create a new rule for the New Role
24. Design the New Rule as desired
25. Select the New Role from the Available Roles field, and click Add
26. Click Save Changes
Signing-in Policy Configuration
27. In the admin console, select Signing In under Authentication, and click Sign-in Policies
28. Click New URL... to create the new Signing-in Policy
29. Select Users from the User type options
30. Set the Sign-in URL to */saml
31. Select User picks from a list of authentication realms
32. Select the New Realm created in the previous steps, and click Add
33. Click Save Changes
Note
Refer to Juniper IVE Virtual Hostname Configuration Guide and Juniper IVE Single Sign-on Configuration Guide (SAML) for additional, optional configuration
Troubleshooting / Common Issues
Second Factor SAML Password Loop
Problem: The integration of SecureAuth IdP and Juniper IVE enables the option to enter the password on Juniper, which allows users to relay that password to applications via SSO
There is a known issue where if a user enters a bad password, they are prompted again for the password; but the SAML assertion of the UserID has been lost, so an endless loop occurs
Resolution: Admins can modify the custom login page to enable Juniper to look for error 1002, and then redirect users back to the SecureAuth IdP login page
Enter the following code, and replace SecureAuthIdPFQDN with the actual FQDN of the SecureAuth IdP appliance (e.g. secureauth.company.com), and replace the X with the actual realm number of the Juniper integration (e.g. secureauth2)
Example
<%IF LoginPageErrorCode == 1002 %> <input type="hidden" name="realm" value="<% RealmList.0 %>"> <meta http-equiv="refresh" content="1;url=https://SecureAuthIdPFQDN/secureauthX/secureauth.aspx">
Note
Please follow Juniper's Custom Sign-In Pages Solution Guide for additional error codes and examples