Description:
The document describes how to setup an encrypted communication channel between the CA Single Sign On - Policy Server and the Domain Controller hosting the Active Directory (AD) to be integrated as SSO User Data Store.
This is accomplished by featuring the LDAPs (LDAP-Secure) interface provided by the DC (Domain Controller) and utilizing SSL as communication protocol. Issuing the needed x509-certificates will be accomplished by the embedded CA Directory's DXCertGen utility.
It is assumed that the Microsoft Certificate Services are installed and operational on any of the Domain Controllers.
OpenSSL libraries attached for convenience (openSSL.zip).
Solution:
AD is integrated into the SSO Server by means of the embedded CA Directory's DXlink, also referred to as LDAP-Router.
By default, payload data transferred via LDAP is not encrypted. This causes sensitive data like user and application passwords being exposed in an unacceptable manner.
Mitigating this risk, DXlink can be configured accordingly to encrypt all data sent and received by utilizing the Active Directory's LDAPs interface and communicating over SSL.
To set up SSL between the SSO Server and the Directory and AD datastore, you need to complete the following steps:
- Download MS-CA Root Certificate
- On the SSO Server machine download OpenSSL, (openSSL.zip) for your convenience, attached to this document, or from its community site and unzip the archive to disk.
With Internet Explorer navigate to the Certificate Server web page running on the Domain Controller
http://hostname_DomainController/certsrv
- Once connected to the Certificate Server web page, please click the "Download a CA certificate, certificate chain, or CRL" option.
- Click the "Base 64" radio button, and click the "Download CA certificate" link.
- Save the CA certificate in the ..\certs folder, e.g. ..\certs\MS-Root_cert.cer
- Convert the MS-CA Root Certificate into PEM format
- Open a cmd-prompt, cd to the openSSL folder and run the following command to convert this pfx file into a pem file:
openssl x509 -in ..\certs\MS-Root_cert.cer -outform PEM -out ..\certs\CAcert.pem
- Establish the Trust between the SSO Server and the Domain Controller
- On the SSO Server map a network drive to the Domain Controller and copy the MS-CA Root Certificate to the embedded CA Directory's Trusted Root Certificates store copy
..\certs\CAcert.pem "%DXHOME%\config\ssld\CAcert.pem"
- Import the MS-CA Root Certificate into the CA Directory's Trusted Root Certificates store open a cmd-prompt and run the following command
DXCERTGEN -n "%DXHOME%\config\ssld\CAcert.pem" importca
- Create the CA Directory Server DSA Certificates
- Open a cmd prompt and enter the following command:
DXCERTGEN certs
- Install the CA Directory ssld service
- To create the CA Directory's SSL online keystore run the following command from a cmd-prompt
ssld install caDIRssld -certfiles "%DXHOME%\config\ssld\personalities" -ca "%DXHOME%\config\ssld\trusted.pem"
- Start the ssld service
net start ssld_caDIRssld
(you can also accomplish this task by starting the "eTrust Directory SSL daemon - caDIRssld" service from the services control panel)
- Configure DXlink to utilize the LDAPs interface of AD
- Open the %dxhome%\config\knowledge\ad_name_router.dxc file and make sure it contains the following:
address = tcp "ADServer1" port 636
auth-levels = anonymous, clear-password, ssl-auth
link-flags = dsp-ldap, ssl-encryption, ms-ad
- Edit the %dxhome%\config\knowledge\PS_<servername>.dxc file
auth-levels = anonymous, clear-password, ssl-auth
- Configure the SSO Server to utilize SSL while communicating with the AD_userDIR
- Testing and Verification
- Test an SSL encrypted LDAP connection to Microsoft Active Directory using JXplorer (this is an optional step)