In This Section: |
Single Sign On (SSO) eliminates the need for users to re-authenticate to an application when they access it for a second time, during a Mobile Access session, or between sessions. The authentication credentials used to log in to the Mobile Access portal can be re-used automatically to authenticate to multiple applications accessed through Mobile Access. You can also record other credentials for the application, and store them for future use. SSO user credentials are securely stored on Mobile Access and therefore remain valid even if the user logs in from a different client machine.
Mobile Access supports Single Sign On for authentication to internal Web and other application servers. The supported authentication protocols are:
Certificate attribute forwarding is a Single Sign-on method that transfers details from a user's certificate to internal servers without the need for a username and password. It forwards the certificate attributes as HTTP headers to the internal servers when a user logs in with a certificate. Users can then log in to other applications automatically with Single Sign-on.
Configure Certificate attribute forwarding in the Mobile Access configuration file: $CVPNDIR/conf/cvpnd.C
Important! After every change to cvpnd.C
, you must restart the cvpn services: cvpnrestart
To: |
Parameter=value in |
---|---|
Enable |
|
Disable |
|
To configure which attributes of the certificate are forwarded in the HTTP headers:
Add parameters to the CertHeaders
section in $CVPNDIR/conf/cvpnd.C
.
To forward: |
Parameter=value in |
---|---|
Complete certificate, encoded in base 64 |
|
Certificate Issuer DN |
|
Serial number of the certificate |
|
Subject DN |
|
Alternative subject DN |
|
Valid start date, before which the certificate cannot be used |
|
Certificate expiration date |
|
Example:
To forward the certificate Issuer DN, edit cvpnd.C
for this (where X-Cert-IssuerDN is the header name):
:EnableCertHeadersForwarding (true) :CertHeaders ( : ("X-Cert-IssuerDN : CERT.ISSUER.DN") ) |
For applications that perform authentication at the HTTP level, HTTP-based SSO is available, in which the credentials are forwarded in HTTP headers. This applies to the Basic, Digest, Integrated Windows Authentication, and Credential forwarding in HTTP headers authentication protocols.
When the user attempts to access these sites, a browser-specific form opens:
The user must enter his/her user name and password for that application, and click OK.
Single Sign On is not supported if:
Most Web applications have their own Web forms for authentication. For these applications, Mobile Access supports Web form (HTML) based SSO.
The advantage of Web form based SSO authentication over HTTP authentication is that users are presented with the login page of the application itself, rather than a more obtrusive browser-specific page.
A typical Web form is shown below, for Outlook Web Access, together with a Mobile Access SSO popup that assists the user.
It is recommended to use the Web form based SSO for every application that is configured to work with Web form authentication. Do not enable Web form SSO for other applications, in order to maintain performance and connectivity.
Web form based SSO in its default configuration can be configured by selecting a single check box in SmartDashboard. In order for the default settings to work, the application must:
Web form based SSO does not support:
This feature prevents problems with SSO caused by different formats of credentials required by different applications. You configure the credential format for each application, and the Mobile Access gateway sends the credentials to the organizational server in the correct format. This applies to Web, Mobile Mail, and ActiveSync applications and works with Web Form based SSO.
Note - This feature is for LDAP users who connect to the Mobile Access portal. Internal users who connect to web applications though the portal with SSO authentication use a default of $$user. |
For example, SSO can apply to both of these applications:
This feature is supported in R77.20 and higher. In R80.10 and higher you can configure it in SmartConsole.
To configure the format of credentials required for an application:
The following table shows which SSO methods are available for each Mobile Access application:
Mobile Access Application |
Supports HTTP Based SSO |
Supports Web Form Based SSO |
---|---|---|
Web applications |
Yes |
Yes |
File shares |
Yes |
Not relevant |
Citrix services |
Yes |
Yes |
Web Mail |
Simplified |
No |
Native applications |
No |
Not relevant |
Mobile Mail |
Yes |
Not relevant |
ActiveSync |
Yes |
Not relevant |
Most Mobile Access Web Applications and Citrix Services support Web Form SSO, with either no configuration, or minimal configuration required. Some applications have been tested and found to require manual configuration (of the HTTP Post details). Some applications do not support Web Form SSO at all.
For a list of common applications that are certified by Check Point to work with Web Form SSO, see SecureKnowledge solution sk35080.
To configure a basic SSO for a web application:
For Web applications, File Shares and Citrix Services:
Prompt the users for their credentials and store them for future use
For Web Mail applications this same option is called:
Prompt user for credentials
With this option, the application credentials are stored and reused. The portal credentials are not used to authenticate to applications.
Web form SSO is supported only for Mobile Access Web applications and Citrix services.
In the default settings, Web Form Single Sign On automatically analyzes the sign-in Web page of the application. The default settings assume:
To configure Web Form SSO with default settings:
In the Single Sign On page of the Mobile Access application, select This application uses a Web form to accept credentials from other users
Note - Only enable Web form SSO for applications that use a Web form to accept user credentials, in order to maintain performance and connectivity. |
Native applications that you access with SSL Network Extender can use Single Sign-On (SSO) functionality. With SSO support, users connect automatically to native applications that require login. The native application gets the Mobile Access portal login username and password parameters from the internal server.
This feature is supported in R77.20 and higher. It requires a SSL Network Extender client upgrade.
Use the dynamic parameters $$user and $$password to configure SSO for a native application. These parameters are resolved to the actual username and password of the logged-in user when the gateway sends the parameters to the native application.
These instructions show you how to configure the new $$password parameter in for a Simple native application. You can also use the $$password parameter in the application parameters in Advanced native applications.
Note - When SSO is configured for a native application, it sends the end-user's password back to the client side.
To configure SSO for a native application:
D:\rdp.exe
/u:acme\$$user /p:$$password /v:192.0.2.2 /f
This setting defines how the gateway sends the username and password of a locally logged-in user to the native application.
Users must have an upgraded SSL Network Extender client on their computer to use SSO with native applications. To upgrade users' clients, make sure the Client upgrade setting is set to one of these:
Upgraded SSL Network Extender clients can still connect to gateways of earlier versions.
To change the Client upgrade settings:
SmartDashboard opens and shows the Mobile Access tab.
The SSL Network Extender - Advanced Settings window opens.
The following configuration instructions apply to both HTTP based SSO and to Web form based SSO. The advanced configuration options are supported for Web applications, file shares, and Citrix services.
For configuration options that are specific to Web form SSO, see Advanced Configuration of Web Form SSO.
There are a number of Single Sign On methods. The different options allow you to configure how to handle portal credentials, and how to handle other credentials used to authenticate to the application.
To configure the Single Sign On methods:
These are the available single sign on methods.
SSO Method |
Single Sign On is On/Off |
Forward portal credentials |
Learn other credentials |
---|---|---|---|
Turn on Single Sign On for this application - Unchecked |
Off |
No |
No |
Prompt users for their credentials, and store them for future use |
On |
No |
Yes |
This application reuses the portal |
On |
Yes |
No |
This application reuses the portal credentials. If authentication fails, Mobile Access prompts users and stores their credentials. |
On |
Yes |
Yes |
Login settings allow you to configure the default Windows domain (if Windows authentication is being used), to notify users that their credentials will be stored, and to specify a hint to help users supply the correct credentials.
To configure the login settings for Single Sign On:
The Login Settings window opens.
Windows Domain
Specify the Windows domain or workgroup (for example "LOCALDOMAIN") if Windows authentication is used. Integrated Windows authentication requires the domain to be forwarded with the user name and password.
If Accept the portal credentials from the gateway Single Sign On method is used, Mobile Access does not know the domain, because the user does not supply it with the portal credentials. The domain is fetched from the one specified here.
User Notification
When users access the application login page for the first time, they see a message that their credentials will be stored for future access.
When users access the application login page for the first time, they see a message from which they can select not to record their credentials.
Administrator Message
Show a hint to the user about the credentials they must supply. for example, whether or not they should supply the domain name and user name (for example: AD/user) or just the user name (for example: user). After clicking the Help me choose credentials link, the user sees the hint. The message can include ASCII characters only.
Use the advanced Single Sign On settings for Web form credentials to configure an application for Web form SSO if there is one of these:
You can specify different criteria for:
To configure Sign In success or failure criteria:
The Web Application window opens.
<protocol>://<host>/[<path>][?< query>]
By default, Mobile Access looks for the user name and password fields at the application URL. If the default settings do not work, you can either configure an automatic credential detection method, or you can manually hard-code the POST details.
To configure automatic credential handling:
The Credentials Handling window opens.
Mobile Access regards the following URL as the sign in Web form:
If the application presents a Web form that requires credentials, before the actual login form, so that Mobile Access is unable to automatically analyze the sign-in Web page, you can specify the URL of the actual login form.
Syntax: <protocol>://<host>/[<path>][?< query>]
Mobile Access sends the following password:
Clients need to submit the sign on Web form with a user name and password. However, it is not secure to store the password on the client for future SSO use. Mobile Access therefore generates a dummy password that it sends to the client, and replaces it upon sign on with the real password. Some applications check the dummy password on the client side. If the Mobile Access dummy password is not compatible with the application, you can define a different one.
Note - This password cannot include special characters. Use ASCII characters only. |
If automatic Web form SSO does not work, you can define HTTP POST details.
To manually specify how to handle credentials:
<protocol>://<host>/[<path>][?< query>]
When manual credential handling is configured for Web form SSO, the HTTP authentication request window appears, when credentials are requested for the first time.
Kerberos is a network protocol that lets people and computers securely authenticate over a non-secure network. In Windows 2000 and higher, Kerberos is the default authentication protocol.
To use Kerberos with Mobile Access:
$CVPNDIR/var/krb5.auto.conf
Warning: Do not manually edit krb5.auto.conf
.
krb5.auto.conf
, do it in the template file, krb5.auto.conf.template
. The template is used to create the krb5.auto.conf
file.To edit krb5.auto.conf.template:
$CVPNDIR/var/krb5.auto.conf.template
and add your changes. The file contains Kerberos conf file information and place holders for the Account Unit settings - the place holders are in the form of <++PlaceHolderName++>.
Important: Do not change the place holder names.
cvpnd_admin policy
Example of the template file, krb5.auto.conf.template
:
|
Example of how it looks in krb5.auto.conf
:
|
These steps assume you defined the Microsoft AD server as a Check Point LDAP Account Unit object. If that object does not exist, create one: Objects > New > More > Server > LDAP Account Unit.
To make sure Microsoft Active Directory is configured for the default settings:
In the General tab of the LDAP Account Unit Properties window, the value of Profile is Microsoft_AD.
To configure Microsoft Active Directory server priorities:
If there is more than one, do these steps for each.
By default, the gateways use all Domain Controllers of the AD. If there is a connectivity issues (no or poor connectivity) from a gateway to a Domain Controller, adjust the priorities.
When this is selected, the Selected AUs list is available. If the list is empty, click Add to add an LDAP Account Unit defined for Microsoft_AD.
The Servers priorities for selected AU is available.
The Priority field is available.
For example: Priority 1 is highest. Priority 5 is lower.
If you are working with a directory that is not Microsoft AD, or experiencing problems with automatic configuration, manually configure Kerberos authentication.
To manually configure Kerberos:
$CVPNDIR/var/krb5.manual.conf
.krb5.manual.conf
with values that specify your domain addresses and domain controllers.Use this format:
[libdefaults]
default_realm = YOUR.AD.NAME
[realms]
YOUR.AD.NAME = {
admin_server = your.domain.controller.name
default_domain = your.dns.domain
}
[domain_realm]
.your.dns.domain = YOUR.AD.NAME
your.dns.domain = YOUR.AD.NAME
In the file:
YOUR.AD.NAME
is the Windows domain name.[realms]
section and to [domain_realm]
section.admin_server
statement use several statements of the type:[realms]
<DOMAIN_NAME> = {
kdc = <1st domain controller address>
kdc = <2nd domain controller address>
}
Important: If you specify multiple domain addresses (realms) and domain controllers in krb5.manual.conf
, you must also add them to the Mobile access configuration in $CVPNDIR/conf/cvpnd.C
.
To add them, use these cvpnd_settings
commands:
cvpnd_settings $CVPNDIR/conf/cvpnd.C
listAdd kerberosRealms YOUR.AD.NAME
cvpnd_settings $CVPNDIR/conf/cvpnd.C
listAdd kerberosRealms YOUR.OTHER.AD.NAME
KRB5_CONFIG
as an environment variable in the shell to point to the relevant configuration file:export
KRB5_CONFIG=$CVPNDIR/var/krb5.manual.conf
setenv KRB5_CONFIG $CVPNDIR/var/krb5.manual.conf
kinit your-ad-username
.kinit
syntax applies to the default realm. kinit your-ad-username@YOUR.OTHER.AD.NAME
You should get a prompt similar to: Password for your-ad-username@YOUR.DOMAIN:
klist
The Ticket cache
list shows one ticket.
kdestroy
.$CVPNDIR/conf/cvpnd.C
for editing.kerberosConfigMode
attribute from auto
to manual
.Alternatively, run: cvpnd_settings $CVPNDIR/conf/cvpnd.C set kerberosConfigMode manual
Note: If you assign the value none
to kerberosConfigMode
, it disables Kerberos SSO.
cvpnrestart
.Important: In a cluster environment, repeat steps 1 to 6 on each cluster member.
Kerberos constrained delegation is a Single Sign-on method that uses Kerberos authentication for users to access internal resources without the need to enter a password. It is supported for the Mobile Access portal and Capsule Workspace.
To enable Kerberos constrained delegation:
cvpnd_settings $CVPNDIR/conf/cvpnd_internal_settings.C set EnableKCD true
cvpnrestart
on the gateway.Before you begin, make sure:
The configuration includes:
A delegate user can have specified permissions without being part of a higher privileged group. For Kerberos Constrained Delegation, the delegate user can allow access to other users for specified services.
To configure a delegate user on the Active Directory (AD) server:
setspn –A HTTP/<user name> <domain name>\<user name>
<user name> - The user name for the user that was created.
<domain name> - The domain name that the created user belongs to.
Kerberos Constrained Delegation is supported with Web Applications and Mobile Mail applications.
To configure Kerberos Constrained Delegation in SmartDashboard:
The Web Application window opens.
If you have issues with Kerberos Constrained Delegation:
$CVPNDIR/conf/cvpnd_internal_settings.c
is true.cvpnrestart
on the gateway through SSH and see if there is a Kerberos Constrained Delegation failure entry in the Mobile Access logs in SmartLog.Certificate attribute forwarding is a Single Sign-on method that transfers details from a user's certificate to internal servers without the need for a username and password. It forwards the certificate attributes as HTTP headers to the internal servers when a user logs in with a certificate. Users can then log in to other applications automatically with Single Sign-on.
Configure Certificate attribute forwarding in the Mobile Access configuration file: $CVPNDIR/conf/cvpnd.C
Important! After every change to cvpnd.C
, you must restart the cvpn services: cvpnrestart
To: |
Parameter=value in |
---|---|
Enable |
|
Disable |
|
To configure which attributes of the certificate are forwarded in the HTTP headers:
Add parameters to the CertHeaders
section in $CVPNDIR/conf/cvpnd.C
.
To forward: |
Parameter=value in |
---|---|
Complete certificate, encoded in base 64 |
|
Certificate Issuer DN |
|
Serial number of the certificate |
|
Subject DN |
|
Alternative subject DN |
|
Valid start date, before which the certificate cannot be used |
|
Certificate expiration date |
|
Example:
To forward the certificate Issuer DN, edit cvpnd.C
for this (where X-Cert-IssuerDN is the header name):
:EnableCertHeadersForwarding (true) :CertHeaders ( : ("X-Cert-IssuerDN : CERT.ISSUER.DN") ) |