Use LDAPS with ADAM
Summarize
Summary of Use LDAPS with ADAM
This guide explains how to configure LDAPS (secure LDAP) communication with the Active Directory Application Mode (ADAM) service, ensuring encrypted and secure user authentication. LDAPS requires SSL certificates on both the server and LDAP clients to protect network traffic and credentials.
Show less
Configuring LDAPS Enforcement
By default, ADAM enforces LDAPS for the userProxy object authentication. To disable this requirement, you can modify the msDS-Other-Settings attribute via the ADSIEdit console connected to the configuration partition at the object path:
- CN=Directory Service, CN=Windows NT, CN=Services, CN=Configuration
Change the RequiresSecureProxyBind value from 1 (enforced) to 0 (disabled), then restart the ADAM service to apply the new setting.
SSL Certificate Requirements
To maintain secure binds and encrypt transmitted user credentials, an SSL certificate must be installed on the ADAM server and LDAP clients. For controlled ADAM environments, a self-signed certificate is a practical option that avoids additional costs or the need for a Certificate Authority (CA). If a CA exists, you may issue a certificate from it instead.
Creating a Self-Signed Certificate
Self-signed certificates can be generated using the selfssl.exe utility, which requires Internet Information Services (IIS) to be installed temporarily on the server. If IIS is installed, create a new website to avoid impacting existing sites during certificate generation.
Key parameters for selfssl.exe include:
- /T: Adds the certificate to the Trusted Certificates on the local machine
- /N:cn: Sets the certificate’s common name, which must match the fully qualified domain name of the ADAM server
- /K: Key size in bits
- /V: Validity period in days
- /S: IIS website ID to attach the certificate
- /P: IP port of the web service
A sample command to create a 10-year certificate for the server myCompany.externaldomain.com on site ID 12345 and port 50001 is:
selfssl /N:CN=myCompany.externaldomain.com /K:1024 /V:3650 /S:12345 /P:50001 /T
After generating the certificate, you can remove it from the website or delete the temporary site if created.
Practical Considerations
- The common name on the certificate must exactly match the ADAM server’s domain name used by client instances.
- Keep track of the certificate’s expiration date to regenerate and update the certificate before it expires.
- The default IIS website ID is 1, which can be omitted if used.
This configuration enables secure LDAP communication with ADAM, protecting sensitive authentication data without necessarily requiring a full CA infrastructure.
The default configuration for userProxy object authentication is to enforce LDAPS (secure LDAP) communications. LDAPS requires SSL certificates to secure the network traffic.
Object: CN=Directory Service, CN=Windows NT, CN=Services, CN=Configuration
Attribute: msDS-Other-Setings
Value: change RequiresSecureProxyBind from 1 (enforced) to 0 (disabled)
Restart the ADAM service to use the new setting.
To support secure binds and encrypt the user and password information being transmitted, a SSL certificate must be installed on the server and any LDAP client. Since there is limited and controlled uses to the ADAM service, it is feasible to use a self-signed certificate which would meet the needs without incurring certificate costs or building a Certificate Authority (CA) infrastructure. If you already have a CA, you can issue a certificate. Otherwise, create a self-signed certificate.
Creating a Self-Signed Certificate
To use the selfssl utility, Internet Information Services (IIS) must be installed. This service can be removed after you generate the certificate. You can get the selfssl.exe utility from the IIS Resource Kit. If IIS is already installed, create a new website so that the current sites will not be impacted during the certificate generation. Selfssl needs to temporarily attach the new self-issued certificate to a valid web site.
Selfssl is a command-line tool and has the following common parameters.
| Parameter | Description |
|---|---|
| /T | Adds the cert to ‘Trusted Certificates’ on the local machine |
| /N:cn | Set the common name of the certificate. This must match the fully qualified domain name of the server running the web service using the certificate |
| /K | Sets the strength of the key size in bits |
| /V | Number of days the cert is valid |
| /S | Web site ID to attach the certificate to |
| /P | IP port of the web service |
selfssl /N:CN=myCompany.externaldomain.com /K:1024 /V:3650 /S:12345 /P:50001 /TThis statement creates a certificate that is valid for 10 years. Set the value to any duration, but be aware the new certificate must be generated and submitted to the instance before the old one expires. We recommend making a note of the expiration date on the certificate.
Once the certificate is generated you can remove it from the website, or delete the entire web site if you created a temporary site.