Configuring LDAP Servers
Configure LDAP authentication
Identity verification, typically with passwords. Authentication precedes authorization. servers for your Fortify Software Security Center server to use from the Configuration section of the ADMINISTRATION view.
Important! Before you configure the properties on the LDAP page, you must prepare for LDAP authentication as described in LDAP User Authentication.
Note: Fortify recommends that you maintain a couple of local administrator accounts in case you encounter problems with your LDAP server at some point.
To configure one or more LDAP server connections for Fortify Software Security Center:
-
On the Fortify header, click ADMINISTRATION.
- In the left panel, select Configuration, and then select LDAP Servers.
-
On the Integration with LDAP servers page, click NEW.
The CREATE NEW LDAP CONFIGURATION dialog box opens.
-
Configure the attributes described in the following table.
Field
Description
BASIC SERVER PROPERTIES
Enable this LDAP Integration
Select this check box to make this LDAP server available for Fortify Software Security Center to use.
Server Name
Important! If you configure multiple LDAP servers, you must make sure that you specify a unique server name for each.
Type a unique name for this server.
Server URL (
ldap://<host>:<port>)Type the LDAP authentication server URL.
If you use unsecured LDAP, enter the URL in the following format:
ldap://<hostname>:<port>If you use secured LDAPS, enter the URL in the following format:
ldaps://<hostname>:<port>LDAPS ensures that only encrypted user credentials are transmitted.
Base DN
Important! If you configure more than one LDAP server for Fortify Software Security Center, then you must set a unique Base DN for each of them.
Type the Base Distinguished Name (DN) for LDAP directory structure searches.
For example, the Base DN for
companyName.comisdc=companyName,dc=com.All DN values are case-sensitive, must not contain extra spaces, and must exactly match LDAP server entries.
If you specify no value, Fortify Software Security Center searches from the root of LDAP objects tree. With multiple LDAP servers, the Base DN must be unique for each. If the Base DN for one server is empty, it cannot be empty for another LDAP server.
Bind User DN
Type the full distinguished name (DN) of the account Fortify Software Security Center uses to connect to the authentication server.
The general format for an account specifier is:
cn=<accountName>, ou=users,dc=<domainName>,dc=comwhere
<accountName>represents the minimum privilege, read-only authentication server account you created for exclusive use by Fortify Software Security Center.Caution! For security reasons, never use a real user account name in a production environment.
If you use Active Directory, specify the domain name and username in the following format:
<domain_name>\<username>Bind User Password
Type the password for the Bind User DN account.
Show Password Select this check box to show entered passwords. Relative Search DNs (1 per line) (Optional) Type the Relative Distinguished Name (RDN). An RDN defines the starting point from the Base DN for LDAP directory searches. Fortify recommends that you search from the base DN. However, if your LDAP directory is so large that searching for Fortify Software Security Center users takes too long, use an RDN to limit the number of LDAP entries searched. You can also use an RDN to hide some part of the LDAP tree from Fortify Software Security Center for security reasons.
For example: To search within the base DN companyName.com and all entries under that base DN, specify the following to recursively search all entries under that path:
cn=usersor
cn=users,ou=divisionNameIgnore Partial Result Exception
To avoid search failures when search results include more records than the LDAP server can return, leave this check box selected.
You can also enable this flag to hide LDAP server misconfiguration. For example, if the LDAP server limits the number of query results to 500, but there are 600 actual results, with this flag enabled, Fortify Software Security Center silently returns only 500 records.
Because most people use Microsoft Active Directory, the remaining LDAP attributes on the page are configured to work with the default Active Directory configuration. However, if your LDAP server is set up differently, you can change these attribute values.
BASE SCHEMA
Object class attribute
Type the class of the object. For example, if this is set to objectClass, Fortify Software Security Center looks at the objectClass attribute to determine the entity type to search. The default value is objectClass.
Organizational unit class
Type the object class that defines an LDAP object as an organizational unit. The default value is
container.User class
Type the object class that identifies an LDAP object type as a user. The default value is
organizationalPerson.Organizational unit name attribute
Type the group attribute that specifies the organizational unit name. The default value is
cn.Group class
Type the object class that identifies an LDAP object type as a group. The default value is
group.Distinguished name (DN) attribute
Type the value that determines the attribute Fortify Software Security Center looks at to find the distinguished name of the entity. The default value is
distinguishedName.USER LOOKUP SCHEMA
User first name attribute
Type the user object attribute that specifies a user’s first name.
The default value is
givenName.User lastname attribute
Type the user object attribute that specifies a user’s last name.
The default value is
sn.Group name attribute
Type the group attribute that specifies the group name.
The default value is
cn.User username attribute
Type the user object attribute that specifies a username. The default value is
sAMAccountName.User password attribute
Type the user object attribute that specifies a user’s password. The default value is
userPassword.Group member attribute
Type the group attribute that defines the members of the group. The default value is
member.User email attribute
Type the user object attribute that specifies a user’s email address. The default value is
mail.User memberOf attribute
Type the name of an LDAP attribute that includes the LDAP group names for LDAP users. USER PHOTO
User photo enabled
Select this check box to enable the retrieval of user photos from the LDAP server.
User thumbnail photo attribute
ThumbnailPhoto attribute for Active Directory.
User thumbnail mime default attribute
Thumbnail mime default attribute
ADVANCED INTEGRATION PROPERTIES
Cache LDAP User Data
Note: Fortify recommends that you leave LDAP user caching enabled. Changes to user information made directly in the LDAP server may not be reflected in Fortify Software Security Center for up to an hour. However, a slow connection between Fortify Software Security Center and the LDAP server or a large LDAP directory with slow searches could degrade Fortify Software Security Center performance. User data are seldom changed directly in the LDAP server.
Select this check box to enable LDAP user data caching in Fortify Software Security Center.
You can refresh the LDAP cache manually from the ADMINISTRATION view in Fortify Software Security Center. For instructions, see Refreshing LDAP Entities Manually.
Cache: Max threads per cache
Type the maximum number of threads dedicated for each update process (user action). Each time a user clicks Update, a new update process starts.
The default value is 4.
Cache: Max object lifetime
(ms,
"-1"to turn off)If you want objects in the cache refreshed more frequently than the default refresh time (typically 1 hour), type the maximum amount of time (in milliseconds) that an object can be in the cache before it is refreshed with new information from the LDAP server.
The default value is -1.
Cache: Initial thread pool size
Type the initial number of available cache update threads. This value is used to configure the thread pool for the task executor, which updates the LDAP cache in several threads simultaneously.
The default value is 4.
Cache: Max thread pool size
Type the maximum number of threads that can be made available if the initial thread pool size is not adequate for the update process. The default value is 12.
Enable paging in LDAP search queries
Select this check box to enable paging in LDAP search queries.
Note: Not all LDAP servers support paging. Check to make sure that your LDAP server supports this feature.
Page size of LDAP search request results
If your LDAP server limits the size of the search results by a certain number of objects and Enable paging in LDAP search queries is selected, type a value that is less than or equal to your LDAP server limit. The default value is
999.LDAP referrals processing strategy
Note: If referrals are not used on your LDAP server, see About the LDAP Server Referrals Feature."
If you have only one LDAP server, Fortify recommends that you select ignore so that LDAP works faster. If you have a multi-domain LDAP configuration and you use LDAP referrals, select
follow. The default value isignore.LDAP Authenticator type
From this list, select one of the following LDAP authentication types to use:
- BIND_AUTHENTICATOR— Authentication directly to the LDAP server ("bind" authentication).
- PASSWORD_COMPARISON_AUTHENTICATOR—The password the user supplies is compared to the one stored in the repository.
For more information about LDAP authentication types, see http://docs.spring.io/spring-security/site/docs/3.1.x/reference/ldap.html.
LDAP Password Encoder type
Select a value from this list only if the LDAP authentication method
An action that a web service performs. For instance, one web service may have one WSDL that contains four operations. Those might be, for example, Update, Create, Delete, and Diagnostic. (Same as operation). is password comparison.You must select the encoder type that the LDAP server uses. Fortify Software Security Center compares encoded passwords. If, for example, the LDAP server uses LDAP_SHA_PASSWORD_ENCODER to encode passwords, but you select MD4_PASSWORD_ENCODER, password comparisons will fail.
Enable Nested LDAP Groups
Note: Use nested LDAP groups only if you absolutely must. Enabling nested LDAP groups forces Fortify Software Security Center to perform extra tree traversals during authentication. Fortify strongly recommends that you clear this check box if you do not plan to use nested groups.
Select this check box to enable nested group support for LDAP in Fortify Software Security Center (wherein a given group member might itself be a group).
Interval between LDAP server validation attempts (ms)
Number of milliseconds the LDAP server waits after a validation attempt before next attempting a validation.
The default value is
5000.Time to wait LDAP validation (ms)
Type the length of time (in milliseconds) that Fortify Software Security Center is to wait for a response after sending a request to the LDAP server to update the cache. If a response is not received at the end of the designated time, the update is not performed. The request is sent again at the frequency determined by the value set for the Interval between LDAP server validation attempts field.
The default value is
5000.Base SID of Active Directory objects
Specify the base security identifier (SID) of LDAP directory objects.
Object SID (objectSid) attribute
Type the name of the attribute that contains the LDAP entity's objectSid (Object Security Identifier).
This attribute is used to search for users based on their object security IDs. It is required if you use Active Directory and more than one LDAP server.
SSL Trust Check Select this check box to verify that the certificate presented by the LDAP server was issued by a trusted authority. Hostname Validation Select this check box to ensure that the LDAP server hostname matches the hostname the certificate was issued for. -
To check the validity of the configuration, click VALIDATE CONNECTION.
- To check the validity of and save the configuration, click SAVE.
-
To configure another LDAP server, repeat steps 3 through 6.
Important! If you configure multiple LDAP servers, you must make sure that you specify a unique server name and a unique BASE DN for each.
Although Fortify supports the use of multiple LDAP servers, it does not support the use of multiple LDAP servers behind a load balancer.
About Managing LDAP User Roles