DeploymentGuide PulseConnectSecure-SAMLauth
DeploymentGuide PulseConnectSecure-SAMLauth
DeploymentGuide PulseConnectSecure-SAMLauth
Deployment Guide
www.pulsesecure.net
SAML Authentication with Pulse Connect Secure and Pulse Secure Virtual Traffic Manager
The information in this document is current as of the date on the title page.
REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
This guide describes how to configure Pulse Secure Virtual Traffic Manager (the Traffic Manager) for SP–
initiated SAML authentication with Pulse Connect Secure (PCS) acting as the IdP.
Prerequisites
This guide assumes you are familiar with the SAML protocol, SAML-based authentication methods, and terms
such as SP and IdP.
The Traffic Manager supports configuration as a SAML SP from version 17.4 or later.
Overview
The Traffic Manager can function as a SAML SP to control access to your secure back-end web services. Access
to these services is permitted only when the client presents a valid Traffic Manager authentication cookie.
In a typical scenario, a user’s browser connects to the Traffic Manager to access a service. For the requested
service, the Traffic Manager is configured to obtain prior validation, and thus redirects the browser to PCS to
be authenticated. PCS checks the identity of the user against its own records, and obtains verification that the
user has appropriate privileges for the desired service. If successful, PCS returns the browser to the Traffic
Manager with a SAML assertion that the user is legitimate and has the declared identity (typically the email
address).
An SP requires a SAML response from the IdP only during the initial authentication exchange.
Summary of Configuration
The Traffic Manager requires certain IDP-derived details from PCS as part of its SAML configuration, and must
also provide PCS with specific configuration items in return. To operate successfully, your SAML configuration
must match on both the Traffic Manager and PCS.
2. Configure PCS to operate as a SAML IdP, with details of the Traffic Manager as an active SP.
1. Login to the Traffic Manager Admin UI and navigate to Catalogs > SAML > Trusted Identity Providers
Catalog.
2. Type the details for your PCS instance into the Create new Trusted Identity Provider dialog.
4. Set entity_id to the unique SAML identifier for the PCS. To obtain the SAML identifier, login to the PCS
Admin UI and navigate to Authentication > Signing In > Sign-in SAML > Metadata Provider.
FIGURE 4 Obtaining the PCS Entity ID
Finally, copy the certificate text and paste it into the Certificate field in the Traffic Manager Trusted
Identity Provider definition.
9. To save the Trusted Identity Provider definition, click Create New Trusted Identity Provider.
1. Login to the PCS Admin UI and navigate to Authentication > Signing In > Sign-in SAML > Identity
Provider.
4. Set Entity Id and Assertion Consumer Service URL to the equivalent values used by your Traffic
Manager SAML SP configuration (see “Configuring a Traffic Manager Virtual Server as a SAML SP
Endpoint” on page 13).
For Entity ID, ensure you match the value stored in auth!saml!sp_entity_id, and Assertion Consumer
Service URL, use the value stored in auth!saml!sp_acs_url.
7. The settings Reuse Existing NC (Pulse) Session and Reuse Existing IF-MAP Session are covered in
the use cases section in this document.
8. Select the Signin Policy from the drop-down list to be used by users as they authenticate. In this
example, "*/adc/" is selected.
9. Select the User Identity to be used. In this example, the Subject Name Format is "DN" and Subject
Name is "uid=<username>".
10. Finally, select for which Roles the IdP must issue SAML Assertions.
1. Designate a virtual server as your SAML SP endpoint. Navigate to Services > Virtual Servers and click
the name of the required virtual server.
FIGURE 13 Editing a virtual server
Pulse Secure strongly recommends against using SAML authentication without TLS encryption. Your
virtual server should therefore have SSL Decryption enabled.
5. For a typical service, leave the settings under "Authentication Session Management" as their default
values.
6. In the "SAML Service Provider" section, set auth!saml!sp_entity_id to an HTTPS URL that the IdP uses
to identify the Traffic Manager as the SAML SP (that redirected a user agent for authentication). Then
set auth!saml!sp_acs_url to the HTTPS URL of the SAML Assertion Consumer Service (ACS). In other
words, the URL at which the Traffic Manager should handle SAML assertions.
These values must match the equivalent fields specified in your PCS Service Provider configuration (see
"Configuring Pulse Connect Secure as a SAML IdP" on page 7).
In the following example, SAML Authentication is added to a Traffic Manager virtual server named
"www.example.com". This virtual server is configured to listen on an IP address that resolves to a URL of
the same name.
When the Traffic Manager receives an HTTP request through the "www.example.com" virtual server, it
first checks if the URL corresponds to the ACS URL. If yes, the Traffic Manager handles this URL as the
SAML ACS endpoint; otherwise it forwards the request to the pool nodes.
7. Select the auth!saml!idp that was created in the first step in this guide.
8. As SAML is sensitive to time, Pulse Secure recommends that both the Traffic Manager and PCS are set
to use Network Time Protocol (NTP). When using NTP, the tolerance of 5 seconds should be sufficient
for the service.
After passing authentication, PCS returns the user's browser to the Traffic Manager, complete with a SAML
assertion that the user is legitimate, to access the back-end pool resource originally requested.
The user has a Pulse Secure VPN connection to PCS and accesses the virtual server.
PCS finds an existing session from this user and reuses it.
2017-10-16 12:38:30 - ive - [127.0.0.1] System()[] - 'NC/Pulse' session detected for SAML
AuthnRequest Id '_c09ffc67-de79-cb42-e1d6-7fd0584ae974'
PCS generates a SAML Assertion giving the user SSO to the virtual server.
2017-10-16 12:38:30 - ive - [127.0.0.1] System()[] - Sending SAML response for Username:
[jogy], User Agent: [Pulse-Secure/8.3.3.919 (Windows 10) Pulse/5.3.3.919], Subject Name:
[uid=jogy], Source IP: [192.168.1.1], Type: [SP-Initiated], SP EntityID: [http://
www.example.com/saml/metadata], Session ID:
[sid225fb912dd5f3fc1cf09f3adc53df0860bf38b03e05eef26], Relay State: [/
T2lilQ6+3pIRGSCT1U0yzJ/yH2fKyl4/KhcTw/XW7lbw5Wg0gIexm4XEJU+WNSA/
8uc6oY2biSRdAWIfpM2IlK40tl9x+KBGpuyql2iRDMGuKRu3HbfUX5WAW0BUKB4U4XUxKBPke21AGw0m930Cw==],
AuthnRequest ID: [_c09ffc67-de79-cb42-e1d6-7fd0584ae974], Remote IP: [10.0.1.225]
PCS and Pulse Policy Secure (PPS) are acting as IF-MAP clients and publish user sessions to the Federation (IF-
MAP) server.
In this use case, the user is on the internal network and has an existing session with PPS. The user still gets
SSO to the protected resource served by the Traffic Manager virtual server.
The user browser is redirected to Pulse Connect Secure with the SAML AuthnRequest
PCS (the IdP) does not find any local session for the user. PCS queries the Federation (IF-MAP) server, finds a
session, and imports it.
2017-10-16 13:17:43 - ive - [127.0.0.1] System()[] - 'IF-MAP' session detected for SAML
AuthnRequest Id '_16fca8ef-38ea-bcd1-6bb6-fb9fa601f613'
2017-10-16 13:17:43 - ive - [127.0.0.1] System()[] - Sending SAML response for Username:
[jogy], User Agent: [Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/
56.0], Subject Name: [uid=jogy], Source IP: [10.0.2.50], Type: [SP-Initiated], SP EntityID:
[http://www.example.com/saml/metadata], Session ID: [], Relay State: [/
T2lilQ6+3pIRGSCT1U0y3c7tqiB3U7+zyKi9eM2tdu23Q4ccJSMm6ct14DpjduwSSWYqo4tBwJDpw/
eqnDRXeEB6nSYpOz5ymDVpb/b20ukCT45GpNiTDZc5i/
tSGl61XFVhImpWMriLxcoxwfrtjWWH33QPU4qpXFXd6ptW/M=], AuthnRequest ID: [_16fca8ef-38ea-bcd1-
6bb6-fb9fa601f613]
Note: If no session is found locally or via the federation layer, the user is presented with the standard browser
authentication experience.