Using the SAML Server

This topic describes the local SAML authentication server. It includes the following information:

Overview

This section describes support for using the local SAML authentication server. It includes the following sections:

Understanding SAML

SAML is an XML-based framework for communicating user authentication, entitlement, and attribute information. The standard defines the XML-based assertions, protocols, bindings, and profiles used in communication between SAML entities. SAML is used primarily to implement Web browser single sign-on (SSO). SAML enables businesses to leverage an identity-based security system like Connect Secure to enforce secure access to web sites and other resources without prompting the user with more than one authentication challenge.

For complete details on the SAML standard, see the OASIS web site:

http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security

SAML Feature Support

When deployed as SAML service provider, IPS runs a local SAML server that relies on the SAML identity provider authentication and attribute assertions when users attempt to sign in to IPS. Note that authentication is only part of the IPS security system. The access management framework determines access to the system and protected resources.

IPS supports:

  • HTTP Redirect binding for sending AuthnRequests
  • HTTP Redirect binding for sending/receiving SingleLogout requests/responses
  • HTTP POST and HTTP Artifact bindings for receiving SAML responses
  • RequestedAuthnContext context class specifications

IPS currently supports SAML server as Service Provider and IPS as SAML Identity Provider (IdP) is not supported.

Interoperability Requirements and Limitations

Before you begin:

  • Check to see whether the SAML identity provider implements SAML 2.0 or SAML 1.1.
  • Check to see whether the SAML identity provider uses HTTP POST or HTTP Artifact bindings for SAML assertions.
  • Check to see whether the SAML identity provider has published a SAML metadata file that defines its configuration. If the SAML identity provider metadata file is available, configuration is simpler and less prone to error.
  • Complete the system-wide SAML settings if you have not already done so. Select System > Configuration > SAML > Settings. For details, see Configuring Global SAML Settings
  • Add metadata for the SAML identity provider to the metadata provider list if you have not already done so. Select System > Configuration > SAML. For details, see Managing SAML Metadata Files.

The sign-in URL for which a session needs to be established for Connect Secure as a service provider is identified by the RelayState parameter (HTTP URL parameter for artifact and HTML form parameter for POST.) In a service provider initiated case, the system populates RelayState as an HTTP URL parameter while sending AuthnRequest. In the IdP-Initiated scenario (Connect Secure is a service provider and there is a third-party IdP), the IdP must be configured to set the appropriate Sign-in URL of Connect Secure in the RelayState parameter of the HTML form containing the SAML response. For more information, see SAML Feature Support.

Configuring Authentication with the SAML Server

To configure the SAML server:

  1. Select Authentication > Auth. Servers.
  2. Select SAML Server and click New Server to display the configuration page.
  3. Complete the configuration as described in table.
  4. Save the configuration.

Settings

Guidelines

Name

Specify a name to identify the server instance.

Settings

SAML Version

Select 2.0 or 1.1, depending on the SAML version used by the SAML IdP.

Policy Secure Entity Id

This value is prepopulated. It is generated by the system, based on the value for the Host FQDN for SAML setting on the System > Configuration > SAML > Settings page.

Configuration Mode

Select Manual or Metadata. If a metadata file or location is available from the SAML identity provider, use the metadata option to make configuration simpler and less prone to error. To upload or set the location for the published metadata file, select System > Configuration > SAML and click the New Metadata Provider button.

Identity Provider Entity ID

The identity provider entity ID is sent as the Issuer value in the assertion generated by the SAML identity provider.

If you use the metadata option, this setting can be completed by selecting the identity provider entity ID from the list. The list is populated by the identity provider entities defined in metadata files added to the System > Configuration > SAML page.

If you complete this setting manually, specify the Issuer value in assertions generated by the SAML identity provider. Typically, you ask the SAML identity provider administrator for this setting.

Identity Provider Single Sign On Service URL

The identity provider SSO service URL is a URL provisioned by the SAML identity provider. The setting is required to support service-provider-initiated SSO. If missing, the system cannot successfully redirect the user request.

If you use the metadata option, this setting can be completed by selecting the SSO service URL from the list. The list is populated by the identity provider entities defined in metadata files added to the System > Configuration > SAML page.

If you complete this setting manually, ask the SAML identity provider administrator for this setting.

User Name Template

Specify how the system is to derive the username from the assertion. If the field is left blank, it uses the string received in the NameID field of the incoming assertion as the username.

If you choose a certificate attribute with more than one value, the system uses the first matched value. For example, if you enter <certDN.OU> and the user has two values for the attribute (ou=management, ou=sales), the system uses “management”. To use all values, add the SEP attribute to the variable. For example, if you enter <certDN.OUT SEP=”:”>, the system uses “management:sales”. The attributes received in the attribute statement in the incoming assertion are saved under userAttr. These variables can also be used with angle brackets and plain text. If the username cannot be generated using the specified template, the login fails. If the NameID filed of the incoming assertion is of type X509Nameformat, then the individual fields can be extracted using system variable “assertionNameDN”.

Currently supported NameIDs are - EMAIL, X509_SUBJECT, WIN_DOMAIN_QUALIFIED. If a SAML request is received with a different NameId format, then processing of the request fails with unsupported NameId format error message.

Allowed Clock Skew (minutes)

Specify the maximum allowed difference in time between the system clock and the SAML identity provider server clock.

SAML is a time sensitive protocol. The time-based validity of a SAML assertion is determined by the SAML identity provider. If the SAML identity provider and SAML service provider clocks are askew, the assertion can be determined invalid, and you will receive the following error:

"SAML Transferred failed. Please contact your system administrator. Detail: Failure: No valid assertion found in SAML response."

Ensure that the clocks are synchronized using NTP server and that you set an Allowed Clock Skew value that accommodates any expected or permissible skew.

Support Single Logout

Single logout is a mechanism provided by SAML for logging out a particular user from all the sessions created by the identity provider. Select this option if the system must receive and send a single logout request for the peer SAML identity provider.

If you use the metadata option, the Single Logout Service URL setting can be completed by selecting the SLO service URL from the list. The list is populated by the identity provider entities defined in metadata files added to the System > Configuration > SAML page. The system sends Single Logout requests to this URL.

In addition, if you use the metadata option, the Single Logout Response URL setting is completed based on your selection for Single Logout Service URL. If the identity provider has left this setting empty in its metadata file, the system sends the Single Logout response to the SLO service URL.

If you complete these settings manually, ask the SAML identity provider administrator for guidance.

The Support Single Logout service for the identity provider must present a valid certificate.

This feature is supported with Ivanti Secure Access Client.

SSO Method

Artifact

When configured to use the Artifact binding, the system contacts the Artifact Resolution Service (ARS) to fetch the assertion using SOAP protocol. If the ARS is hosted on a HTTPS URL, then the certificate presented by the ARS is verified by the system. For this verification to pass successfully, the CA of the server certificate issued to the identity provider ARS must be added to the trusted server CA on the system.

Complete the following settings to configure SAML using the HTTP Artifact binding:

  • Source ID. Enter the source ID for the identity provider ARS. Source ID is Base64-encoded, 20-byte identifier for the identity provider ARS. If left blank, this value is generated by the system.
  • Source Artifact Resolution Service URL. For metadata-based configuration, this field is completed automatically from the metadata file and is not configurable. For manual configurations, enter the URL of the service to which the SP ACS is to send ArtifactResolve requests. ArtifactResolve requests are used to fetch the assertion from the artifact received by it.
  • SOAP Client Authentication. Select HTTP Basic or SSL Client Certificate and complete the related settings. If you use an SSL client certificate, select a certificate from the device certificate list.
  • Select Device Certificate for Signing. Select the device certificate the system uses to sign the AuthnRequest sent to the identity provider SSO service. If you do not select a certificate, the system does not sign AuthnRequest.
  • Select Device Certificate for Encryption. Select the device certificate the system uses to decrypt encrypted data received in the SAML response. The public key associated with the device certificate is used by the identity provider for encryption.

POST

When configured to use the POST binding, the system uses a response signing certificate to verify the signature in the incoming response or assertion. The certificate file must be in PEM or DER format. The certificate you select should be the same certificate used by the identity provider to sign SAML responses.

Complete the following settings to configure SAML using the HTTP POST binding:

  • Response Signing Certificate. If you use the metadata-based configuration option, select a certificate from the list. The list is populated by the identity provider entities defined in metadata files added to the System > Configuration > SAML page.

If you configure these settings manually, browse to and upload the certificate to be used to validate the signature in the incoming response or assertion.

If no certificate is specified, the certificate embedded in the response is used.

  • Enable Signing Certificate status checking. Select this option to check the validity of the signing certificate before verifying the signature. This setting applies to any certificate used for signature verification. If this option is enabled, the response will be rejected if the certificate is revoked, expired, or untrusted. If this option is selected, the certificate CA must be added to the Trusted Client CA store.

If this option is not enabled, then the certificate is used without any checks.

  • Select Device Certificate for Signing. Select the device certificate the system uses to sign the AuthnRequest sent to the identity provider SSO service. If you do not select a certificate, the system does not sign AuthnRequest.
  • Select Device Certificate for Encryption. Select the device certificate the system uses to decrypt encrypted data received in the SAML response. The public key associated with the device certificate is used by the identity provider for encryption.

Authentication Context Classes

Use the Add and Remove buttons to select authentication context classes to be sent in the authentication requests to the SAML identity provider. These are included in the RequestedAuthnContext element.

In the OASIS standard, an authentication context is defined as “the information, additional to the authentication assertion itself, that the relying party may require before it makes an entitlements decision with respect to an authentication assertion.”

This feature supports all authentication context classes specified in the SAML 2.0 OASIS Authn Context specification

For example, if you select X509, the system sends the following context:

<samlp:RequestedAuthnContext>
<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">

urn:oasis:names:tc:SAML:2.0:ac:classes:X509</saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext>

In response, the SAML IdP sends the context data along with the authentication results. The system stores the context data in the session cache and as a system variable named samlAuthnContextClass. The system variable can be used in role mapping rules and resource policy detailed rules.

Specify a comparison attribute within the RequestedAuthnContext element. The comparison attribute specifies the relative strengths of the authentication context classes specified in the request and the authentication methods offered by a SAML IdP. The following values defined in the SAML 2.0 OASIS core specification can be selected:

  • exact—–Requires the resulting authentication context in the authentication statement to be the exact match of at least one of the authentication contexts specified.
  • minimum—Requires the resulting authentication context in the authentication statement to be at least as strong as one of the authentication contexts specified.
  • maximum—Requires the resulting authentication context in the authentication statement to be stronger than any one of the authentication contexts specified.
  • better—Requires the resulting authentication context in the authentication statement to be as strong as possible without exceeding the strength of at least one of the authentication contexts specified.

Select the same value that is configured on the SAML IdP. If none is specified in the SAML IdP configuration, the implicit default is exact.

Service Provider Metadata Settings

Metadata Validity

Enter the number of days the metadata is valid. Valid values are 0 to 9999. 0 specifies the metadata does not expire.

Do Not Publish IPS Metadata

Select this option if you do not want to publish the metadata at the location specified by the Entity ID field.

Download Metadata

This button appears only after you have saved the authentication server configuration. Use this button to download the metadata of the current SAML service provider.

Displaying the User Accounts Table

To display user accounts, refer to the steps found in Displaying the User Accounts Table.