These instructions are for the Juniper-branded SA SSL VPN. If you have updated to Pulse firmware or devices, please see the Pulse Connect Secure SSL VPN instructions.
See our alternate RADIUS instructions if you'd like to control the "failmode" (how the system will act if network communication with Duo is interrupted) or integrate Duo into a single Juniper sign-in URL with multiple authentication realms.
This application communicates with Duo's service on TCP port 636. Firewall configurations that restrict outbound access to Duo's service with rules using destination IP addresses or IP address ranges aren't recommended, since these may change over time to maintain our service's high availability. If your organization requires IP-based rules, please review this Duo KB article.
Before moving on to the deployment steps, it's a good idea to familiarize yourself with Duo administration concepts and features like options for applications, available methods for enrolling Duo users, and Duo policy settings and how to apply them. See all Duo Administrator documentation.
Make sure that Duo is compatible with your Juniper Networks Secure Access SSL VPN. Log on to your SA, IVE or MAG administrator interface and verify that your firmware is version 6.x, 7.x, or 8.x (up to 8.2).
You should already have a working primary authentication configuration for your SSL VPN users before you begin to deploy Duo, e.g. LDAP authentication to Active Directory.
Then you'll need to:
The security of your Duo application is tied to the security of your secret key (skey). Secure it as you would any sensitive credential. Don't share it with unauthorized individuals or email it to anyone under any circumstances!
In the left menu, navigate to Authentication → Signing In → Sign-in Pages, click Upload Custom Pages..., and fill in the form:
|Templates file||Upload the Duo Juniper package zip file downloaded from the Duo Admin Panel earlier.|
Check the Skip validation checks during upload box. If you don't you'll see some warnings after uploading the file, which you can ignore.
Click Upload Custom Pages.
In the left menu, navigate to Authentication → Auth. Servers.
Select LDAP Server from the Auth Server Type list, click New Server, and fill out the form:
|LDAP Server||Your API hostname (i.e.
|LDAP Server Type||Generic|
In the "Authentication required?" section, check the Authentication required to search LDAP box and fill in the form (replacing INTEGRATION_KEY and SECRET_KEY with your application-specific keys).
In the "Finding user entries" section:
Click Save. (After you click Save you might receive a message indicating that the LDAP server is unreachable. You can disregard this message.)
To configure a user realm for the Duo LDAP server, you can do one or more of the following:
If you create a new realm as part of deploying Duo, be sure to create role mapping rules to add users to the new realm.
To add 2FA to a user realm:
On the Users realm configuration page, select the Additional authentication server check box and fill out the form:
|Username is||predefined as <USERNAME>|
|Password is||specified by user on sign-in page|
Check the End session if authentication against this server fails box.
Click Save Changes.
In the "Options for additional authentication server" section, select Allow all users.
Click Save Changes.
To finish setting up your integration, configure a sign-in policy for secondary authentication. In this example we'll use the default
*/ URL policy, but you can set up a new sign-in policy at a custom URL (like
*/Duo-testing/) for testing.
Choose the user realm you configured earlier, and click Add to move it to the Selected realms box on the right. Make sure this is the only selected realm for this sign-in page.
Click Save Changes.
To test your Juniper two-factor authentication setup, go to the URL that you defined for your sign-in policy. After you complete primary authentication, the Duo enrollment/login prompt appears.
Need some help? Take a look at the Juniper Frequently Asked Questions (FAQ) page or try searching our Juniper Knowledge Base articles or Community discussions. For further assistance, contact Support.