Configuring LDAP Servers
The following procedure describes how to configure an LDAP authentication
Identity verification, typically with passwords. Authentication precedes authorization. server for use with Fortify Software Security Center.
Important! Before you configure the properties on the LDAP page, you must prepare for LDAP authentication as described in LDAP User Authentication. That section includes requirements and recommendations for configuring multiple LDAP servers.
Important! 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 an LDAP server connection for Fortify Software Security Center:
-
On the Fortify header, click ADMINISTRATION.
- In the navigation pane
When you conduct or view a scan, the navigation pane is on the left side of the Fortify WebInspect window. It includes the Site, Sequence, Search, and Step Mode buttons, which determine the contents (or "view”) presented in the navigation pane. on the left, 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 configuration
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, 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 specify an
ldap://protocol, and either the SSL trust check or the Hostname validation check box is selected, StartTLS is used to connect to the LDAP server. Otherwise, an unencrypted connection is used.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.
LDAP server type From this list, select the type of LDAP server you are connecting with Fortify Software Security Center (either ACTIVE_DIRECTORY or OTHER). SECURITY SSL trust check If the domain controller is enabled for SSL, leave this check box selected to verify that the certificate presented by the LDAP server was issued by a trusted authority. If the domain controller is not configured for SSL, clear this check box. Hostname validation If the domain controller is enabled for SSL, leave this check box selected to ensure that the LDAP server hostname matches the hostname for which the certificate was issued. If the domain controller is not configured for SSL, clear this check box. Enable user status mapping (Microsoft Active Directory only) Select this check box to enable Fortify Software Security Center to retrieve status information for users on this LDAP server. The information is used for enhanced authentication checks during token-based and SSO-based authentication schemes. 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 theobjectClassattribute to determine the entity type to search. The default value isobjectClass.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 firstname 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
The 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: 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
Note: Not all LDAP servers support paging. Check to make sure that your LDAP server supports this feature.
Select this check box to enable paging in LDAP search queries.
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 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
(Microsoft Active Directory only) Specify the base security identifier (SID) of LDAP directory objects.
Object SID (objectSid) attribute
(Microsoft Active Directory only) 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.
-
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, unless those servers are identical.