14.5 Configuring LDAP Objects

An OpenText eDirectory installation creates an LDAP server object and an LDAP Group object. The default configuration for LDAP Services is located in the directory on these two objects. You can modify the default configuration by using the LDAP Management task in OpenText Identity Console.

The LDAP server object represents server-specific configuration data.

The LDAP Group object contains configuration information that can be conveniently shared among multiple LDAP servers. This object provides common configuration data and represents a group of LDAP servers. The servers have common data.

You can associate multiple LDAP server objects with one LDAP Group object. All the associated LDAP servers then get their server-specific configuration from their LDAP server object but get common or shared information from the LDAP Group object.

By default, the OpenText eDirectory installation program installs a single LDAP Group object and a single LDAP server object for each nldap.nlm or nldap.dlm. Later, you can associate multiple LDAP server objects with a single LDAP Group object.

IMPORTANT:Although it is possible to associate newer versions of an LDAP server object with older versions of LDAP Group objects, we recommend that you don't mix versions. For example, avoid associating an LDAP Group object in eDirectory 8.7.3 SP9 with an LDAP server object in OpenText eDirectory 9.0 or later.

The amount of common information held in an LDAP Group object is limited. LDAP doesn’t need to read many attributes because the data contained in the attributes is incredibly common. Many LDAP servers will need to use the same data. Without a common or shared Group object, you would have to replicate that data across each LDAP server.

The LDAP server object allows more server-specific configuration options and data than the LDAP Group object allows.

Both objects have DN-syntax attributes that point to each other.

An additional association must be made so that the LDAP server can find its configuration data. This association is through the NCP™ server, which holds the customary OpenText eDirectory configuration data. The OpenText eDirectory installation program automatically makes the association.

Every OpenText eDirectory server has an NCP Server object. The following figure illustrates the objects as displayed in OpenText Identity Console:

This object has an LDAP Server attribute, which points to the LDAP server object for a particular host OpenText eDirectory server. The following figure illustrates this attribute:

Typically, the LDAP server object, the LDAP Group object, and the NCP Server object are located in the same container. You name this container during the OpenText eDirectory installation, when you name the server and Admin context.

If you move the LDAP server object, you must place it in a writable replica.

14.5.1 Configuring LDAP Server and LDAP Group Objects on Linux

The LDAP configuration utility is ldapconfig. You can use ldapconfig on Linux, systems to modify, view, and refresh the attributes of LDAP server and LDAP Group objects.

Use the following syntax to view LDAP attribute values on Linux, systems:

ldapconfig get [...] | set attribute-value-list  [-t treename | -p hostname[:port]] [-w password] [-a user FDN] [-f]
ldapconfig [-t tree_name | -p host_name[:port]] [-w password] [-a user FDN] [-V] [-R] [-H] [-f] -v attribute,attribute2...

Use the following syntax to modify values of LDAP attributes on Linux:

ldapconfig [-t tree_name | -p host_name[:port]] [-w password] [-a admin_FDN] -s attribute=value,... 

Parameter

Description

-t treename

Name of the OpenText eDirectory tree where the component will be installed.

-p hostname

The name of the host. You could specify the DNS name or IP address also.

-w

The password of the user having administration rights.

-a

The fully distinguished name of the user having administration rights. For example:

cn=user.o=org1

get | -V

Lets you view all LDAP server/group attributes.

get | -v attribute list

Displays the current values of the attributes in the attribute list.

set | -s attribute-value pairs

Sets the attributes to the specified values.

-v

Lets you view the value of the LDAP attribute.

-s

Sets a value for an attribute of the installed components.

-R

Refreshes the LDAP server.

-V

Lets you view the current LDAP configuration settings.

-H

Lets you view the usage and help strings.

-f

Allows operations on a filtered replica.

attribute

A configurable LDAP server or group attribute name. For more information, see Attributes on the LDAP Server Object and Attributes on the LDAP Group Object.

Examples

To view the value of the attribute in the attribute list, enter the following command:

ldapconfig [-t tree_name | -p host_name[:port]] 
[-w password] [-a user_FDN] -v "Require TLS for simple binds with password","searchTimeLimit"

To configure the LDAP TCP port number and search size limit to 1000, enter the following command:

ldapconfig [-t tree_name | -p host_name[:port]] 
[-w password] [-a admin_FDN] -s "LDAP TCP Port=389","searchSizeLimit=1000"

Attributes on the LDAP Server Object

Use the LDAP server object to set up and manage the OpenText LDAP server properties.

The following table provides a description of the LDAP server attributes:

Attribute

Description

LDAP Server

The fully distinguished name of the LDAP server object in OpenText eDirectory.

LDAP Host Server

The fully distinguished name of the host OpenText eDirectory server that the LDAP server runs on.

LDAP Group

The LDAP Group object in OpenText eDirectory that this LDAP server is a member of.

LDAP Server Bind Limit

The number of clients that can simultaneously bind to the LDAP server. A value of 0 (zero) indicates no limit.

LDAP Server Idle Timeout

The period of inactivity from a client after which LDAP server terminates the connection with this client. A value of 0 (zero) indicates no limit.

LDAP Enable TCP

This option is deprecated. It is available through ldapInterfaces.

For more information, see ldapInterfaces.

LDAP Enable TLS

This option has been deprecated. However, it is available through ldapInterfaces.

For more information, see ldapInterfaces.

LDAP TCP Port

This option has been deprecated. However, it is available through ldapInterfaces.

For more information, see ldapInterfaces.

LDAP TLS Port

This option has been deprecated. However, it is available through ldapInterfaces.

For more information, see ldapInterfaces.

keyMaterialName

The name of the Certificate object in OpenText eDirectory that is associated with this LDAP server and will be used for SSL LDAP connections.

searchSizeLimit

The maximum number of entries that the LDAP server will return to an LDAP client in response to a search. A value of 0 (zero) indicates no limit.

If the user has the administrator rights on the LDAP server object, the searchSizeLimit value is not considered. Any changes made to the administrative rights for a user will not be effective immediately because the administrative rights are cached. The changes to the administrative rights will be effective with the next LDAP server refresh. By default, the LDAP server refreshes once in every 30 minutes

searchTimeLimit

The maximum number of seconds after which an LDAP search will be timed out by the LDAP server. A value of 0 (zero) indicates no limit.

If the user has the administrator rights on the LDAP server object, the searchTimeLimit value is not considered. Any changes made to the administrative rights for a user will not be effective immediately because the administrative rights are cached. The changes to the administrative rights will be effective with the next LDAP server refresh. By default, the LDAP server refreshes once in every 30 minutes.

filteredReplicaUsage

Specifies whether the LDAP server should use a filtered replica for an LDAP search.

Values=1 (use filtered replica), 0 (do not use filtered replica)

sslEnableMutualAuthentication

Specifies whether SSL-based mutual authentication (Certificate-based client authentication) is enabled on the LDAP server.

ldapTLSVerifyClientCertificate

Enables or disables verification of the client certificate for a TLS operation through LDAP.

ldapNonStdAllUserAttrsMode

Enables or disables the non standard, all user, and operational attributes.

ldapBindRestrictions

Enables LDAP bind restrictions and cipher level on LDAP client connections.This attribute can be used to control client connections. You can set any of the following seven LDAP bind restrictions using OpenText Identity Console:

  • NONE: This is enabled by default. This option enables both anonymous simple bind and non-anonymous simple bind. The value of this option is 0.

  • Disallow anonymous simple bind: Set the value to 1 to disable the anonymous simple bind. Non-anonymous simple bind will be enabled.

  • Disallow non-anonymous simple bind: Set the value to 2 to disable non-anonymous simple bind.

  • Disallow anonymous simple bind and non-anonymous simple bind: Set the value to 3 to disable anonymous simple bind and non-anonymous simple bind.

    NOTE:Disabling non-anonymous simple bind will enforce appropriate grace login limits.

  • Disallow unauthenticated bind: Set the value to 4 to disable simple bind with no password.

  • Disallow anonymous and unauthenticated bind: Set the value to 5 to disable anonymous simple bind and unauthenticated bind.

  • Disallow non-anonymous simple bind and unauthenticated bind: Set the value to 6 to disable non-anonymous simple bind and unauthenticated bind. Anonymous simple bind will be enabled in this scenario.

  • Disallow anonymous simple bind, non-anonymous simple bind and unauthenticated bind: Set the value to 7 to disable anonymous simple bind, non-anonymous simple bind and unauthenticated bind.

NOTE:The value from 4 to 7 can be set from the ldapconfig utility. OpenText Identity Console doesn’t allow to set this value. For more information, see Table 14-1.

For RSA and Elliptic Curve Digital Signature (ECDSA) algorithms, OpenText eDirectory allows you to use the following values to restrict the cipher usage:

  • RSA: Use the following values:

    • High Cipher (greater than 128-bit): Set the value to 48 to specify the use of a cipher level larger than 128-bit encryption and some cipher suites with 128-bit keys.

    • Medium Cipher: Set the value to 32 to specify the use of cipher level of 128-bit encryption.

    • Low Cipher: Set the value to 16 to specify the use of 64 or 56-bit encryption excluding export cipher suites.

    • Export: Specifies the use of a cipher level including 40 and 56-bit encryption.Value 0.

    The default is High with a cipher level larger than 128-bit encryption. If this value is set to 0, after upgrading to OpenText eDirectory 9.1 SP4, the value will automatically be changed to High.

    NOTE:If FIPS mode is enabled for TLS, OpenText eDirectory ignores the cipher configuration and allows only High ciphers.

 

Suite B Mode: Use the following values:

  • Suite B Cipher (128-bit): Set value to 64 to enable Suite B mode operation by using 128-bit level of security. When you select this option, OpenText eDirectory permits both 128-bit and 192-bit level of security by peers (any LDAP clients). You can use either ECDSA 256 or ECDSA 384 certificate with this option.

  • Use Suite B Cipher (128-bit only): Set value to 80 to enable Suite B mode operation by using 128-bit level of security. When you select this option, OpenText eDirectory does not allow 192-bit level of security by peers (any LDAP clients). You can only use ECDSA 256 certificate with this option.

  • Use Suite B Cipher (192-bit): Set value to 96 to enable Suite B mode operation by using 192-bit level of security. When you select this option, OpenText eDirectory permits only 192-bit level of security by peers (any LDAP clients). You can only use ECDSA 384 certificate with this option.

OpenText eDirectory allows you to use combination values of ldapbindrestrictions and cipher levels. For more information, see Table 14-1.

ldapChainSecureRequired

This is a boolean attribute. If enabled, chaining to other OpenText eDirectory will be over secure NCP. By default, ldapChainSecureRequired is disabled.

ldapInterfaces

A multi-valued SYN_CI_STRING attribute used to store LDAP URLs on which LDAP server listens (on both cleartext and secure ports). This attribute is useful in configuring multiple instances that require each instance of the OpenText eDirectory server to listen on a specific interface. It can be configured with the IP addresses and port numbers in the LDAP URL format.The LDAP server listens on these IP addresses and ports.

The following are examples for IPv4 and IPv6 listeners.

ldap://192.168.1.1:389 - To specify for IPv4 specific address on clear text port
ldaps://192.168.2.1:636 - To specify for IPv4 specific address on secure port
ldap://[2015::3]:389 - To specify for IPv6 specific address on clear text port
ldaps://[2015::3]:636 - To specify for IPv6 specific address on secure port
ldap://[::]:389 - To specify for IPv6 unspecified address on clear text port
ldaps://[::]:636 - To specify for IPv6 unspecified address on secure port

The LDAP Enable TCP, LDAP Enable TLS, LDAP TCP Port, and LDAP TLS Port attributes are not populated if a new server is configured from OpenText eDirectory 9.1 onwards. The ldapInterface atrribute values corresponding to the ports selected for ldap and ldaps during configuration are populated. For example, ldap://:389, ldaps://:636. By default, only IPv4 interface values are added to the ldapInterfaces attribute.

During upgrade, OpenText eDirectory is triggered to delete the LDAP Enable TCP, LDAP Enable TLS, LDAP TCP Port, LDAP TLS Port attributes. It populates corresponding values of these attributes in ldapInterface. The ldapconfig set command takes comma separated values and replaces all the existing values with the new values.

ldapStdCompliance

OpenText eDirectory LDAP server by default does not return the sub-ordinate referrals for ONE level search. To enable this, you need to turn on ldapStdCompliance with a value 1. Setting this value will make the LDAP server return the sub-ordinate referrals for ONE level search.

ldapChainSecureRequired

This is a boolean attribute. If this is enabled, the chaining to other OpenText eDirectory will be over secure NCP. By default, the attribute will be disabled.

ldapEnablePSearch

Specifies whether or not the persistent search feature is enabled on the LDAP server.

Values= yes, no

ldapMaximumPSearchOperations

An integer value that limits the number of concurrent persistent search operations possible. A value of 0 specifies unlimited search operations.

ldapIgnorePSearchLimitsForEvents

Indicates whether size and time limits should be ignored after the persistent search request has sent the initial result set.

Values= yes, no

If this attribute is set to false, the entire persistent search operation is subject to the search limits. If either limit is reached, the search fails with the appropriate error message.

ldapGeneralizedTime

Enable Generalized Time to display time in the YYYYMMDDHHmmSS.0Z format.

Values= yes, no

ldapPermissiveModify

Enable Permissive Modify Control to extend the LDAP modify operation. If an attempt is made to delete an attribute that does not exist or to add any value to an attribute that already exists, the operation goes through without displaying any error message

Values= yes, no

ldapSSLConfig

This attribute allows you to define the TLS protocols and Ciphers in the LDAP server object. By default, this attribute is disabled. This configuration attribute follows the following order of precedence:

  • Presence of ldapSSLConfig attribute value on the LDAP server object

  • Presence of ldapSSLConfig attribute value on the LDAP group object

If no protocol and cipher is defined using this attribute, the default configuration specified in the ldapBindRestrictions is followed. For more information, see Configuring Protocols and Ciphers Using ldapSSLConfig Attribute.

NOTE:ldapSSLConfig attribute is available from eDirectory 9.0 SP2 onwards.

ldapGroupSSLConfig

This attribute allows you to define the TLS protocols and Ciphers in the LDAP group object. By default, this attribute is disabled. This configuration attribute follows the following order of precedence:

  • Presence of ldapSSLConfig attribute value on the LDAP server object

  • Presence of ldapSSLConfig attribute value on the LDAP group object

If no protocol and cipher is defined using this attribute, the default configuration specified in the ldapBindRestrictions is followed. For more information, see Configuring Protocols and Ciphers Using ldapSSLConfig Attribute.

NOTE:If this attribute is set through ldapconfig get/set command, use ldapGroupSSLConfig and if set through ldif file, use ldapSSLConfig with LDAP Group object DN.

Table 14-1 Combination Values of ldapbindrestrictions and Cipher Levels

ldapbindrestriction

Certificate

Cipher Level

Combination Value

None

RSA

Export

0

RSA

High

48

RSA

Medium

32

RSA

Low

16

ECDSA 256/384

SUITEB128

64

ECDSA 256

SUITEB128ONLY

80

ECDSA 384

SUITEB192

96

Disallows anonymous simple bind

RSA

Export

1

RSA

High

49

RSA

Medium

33

RSA

Low

17

ECDSA 256/384

SUITEB128

65

ECDSA 256

SUITEB128ONLY

81

ECDSA 384

SUITEB192

97

Disallow local bind

RSA

Export

2

RSA

High

50

RSA

Medium

34

RSA

Low

18

ECDSA 256/384

SUITEB128

66

ECDSA 256

SUITEB128ONLY

82

ECDSA 384

SUITEB192

98

Disallow anonymous simple bind and unbind

RSA

Export

3

RSA

High

51

RSA

Medium

35

RSA

Low

19

ECDSA 256/384

SUITEB128

67

ECDSA 256

SUITEB128ONLY

83

ECDSA 384

SUITEB192

99

Disallows unauthenticated bind

RSA

Export

4

RSA

High

52

RSA

Medium

36

RSA

Low

20

ECDSA 256/384

SUITEB128

68

ECDSA 256

SUITEB128ONLY

84

ECDSA 384

SUITEB192

100

Disallows anonymous and unauthenticated bind

RSA

Export

5

RSA

High

53

RSA

Medium

37

RSA

Low

21

ECDSA 256/384

SUITEB128

69

ECDSA 256

SUITEB128ONLY

85

ECDSA 384

SUITEB192

101

Disallows non-anonymous simple bind and unauthenticated bind

RSA

Export

6

RSA

High

54

RSA

Medium

38

RSA

Low

22

ECDSA 256/384

SUITEB128

70

ECDSA 256

SUITEB128ONLY

86

ECDSA 384

SUITEB192

102

Disallows anonymous simple bind, non-anonymous simple bind and unauthenticated bind

RSA

Export

7

RSA

High

55

RSA

Medium

39

RSA

Low

23

ECDSA 256/384

SUITEB128

71

ECDSA 256

SUITEB128ONLY

87

ECDSA 384

SUITEB192

103

Attributes on the LDAP Group Object

Use the LDAP Group object to set up and manage the way LDAP clients access and use the information on the OpenText LDAP server.

To require TLS for simple binds, see Requiring TLS for Simple Binds with Passwords. This attribute specifies whether the LDAP server allows transmission of passwords in clear text from an LDAP client. Values=0 (no) or 1 (yes).

To specify a default referral, referralIncludeFilter, referralExludeFilter and how LDAP servers process LDAP referrals, see Using Referrals.

To specify the TLS protocols and Ciphers, you can use the ldapSSLConfig attribute. For more information, see Configuring Protocols and Ciphers Using ldapSSLConfig Attribute.

14.5.2 Configuring Protocols and Ciphers Using ldapSSLConfig Attribute

OpenText eDirectory allows you to define various TLS parameters and Ciphers required for TLS communication of LDAP server. From 9.30 onwards only TLS v1.2 and TLS1v.3 protocols are supported. Any versions below TLSv1.1 protocols are not supported.

You can specify the protocol and ciphers in JSON format in the ldapSSLConfig attribute for both LDAP server and group object. For example, you can define the protocols and ciphers as mentioned in the below JSON format:

{
    "Version": 1,
    "Info": {
        "Protocol": "+ALL",
        "Ciphers": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384", "Ciphersuites" : "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384"
    }
}

NOTE:If you specify incorrect information in the ldapSSLConfig attribute, the default configuration specified in the ldapBindRestrictions will be followed.

Supported Ciphers

OpenText eDirectory CE 24.4 (v9.3) supports the following Ciphers.

TLSv1.3 supported Ciphers -

  • TLS_AES_256_GCM_SHA384

  • TLS_CHACHA20_POLY1305_SHA256 [Non FIPS Only]

  • TLS_AES_128_GCM_SHA256

TLSv1.2 supported Ciphers

  • ECDHE-ECDSA-AES256-GCM-SHA384

  • ECDHE-RSA-AES256-GCM-SHA384

  • ECDHE-ECDSA-CHACHA20-POLY1305

  • ECDHE-RSA-CHACHA20-POLY1305 [Non FIPS Only]

  • ECDHE-ECDSA-AES128-GCM-SHA256

  • ECDHE-RSA-AES128-GCM-SHA256

  • ECDHE-ECDSA-AES256-SHA384

  • ECDHE-RSA-AES256-SHA384

  • ECDHE-ECDSA-AES128-SHA256

  • ECDHE-RSA-AES128-SHA256

  • AES256-GCM-SHA384

  • AES128-GCM-SHA256

  • AES256-SHA256

  • AES128-SHA256

Configuring Ciphers

You can configure your own list of ciphers using the OpenSSL Cipher List Format. The following examples illustrate the use of Cipher list format that are used during TLS communication of LDAP server:

  • For RSA certificates: !CAMELLIA:!DH:!SRP:!MD5:HIGH+aRSA

  • For ECDSA certificates: HIGH+aECDSA

  • For Suite B 128-bit compliant cipher suite with ECDSA certificates: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256

  • For Suite B 192-bit compliant cipher suite with ECDSA certificates: ECDHE-ECDSA-AES128-GCM-SHA256

NOTE:Run the following command to find the list of TLS cipher suites supported by the LDAP server:

bash$ nmap --script /usr/share/nmap/scripts/ssl-enum-ciphers.nse -p 636 <eDirectory-server-IP>

For example,

bash$ nmap --script /usr/share/nmap/scripts/ssl-enum-ciphers.nse -p 636 192.168.1.1

For more information on Cipher List Format, refer to the OpenSSL Ciphers documentation.

Configuring Protocols

OpenText eDirectory gives you the flexibility to configure the list of protocols required during the TLS communication. To control the list of protocols, define the required protocol in JSON format in the ldapSSLConfig attribute. You can configure the following protocol strings:

  • SSLv3, TLSv1.0 and TLSv1.1 - From OpenText eDirectory 9.30 onwards these versions of protocols are not supported.

  • TLSv1.2

  • TLSv1.3

  • ALL

Each protocol string should be preceded by a “+” or a “-” symbol. The “+” symbol indicates that the protocol string(s) are allowed and the “-” symbol indicates that the protocol string(s) are not allowed by OpenText eDirectory. The following table lists a few TLS protocol configurations:

Protocol Configuration

Description

+TLSv1.2

Allows only TLSv1.2

+TLSv1.3

Allows only TLSv1.3

+ALL-TLSv1.2

Allows all except TLSv1.2

+ALL-TLSv1.3

Allows all except TLSv1.3

+ALL

Allows TLSv1.2, TLSv1.3

NOTE:A protocol can only be preceded by “-” symbol when +ALL is specified.

Examples:

Configuring Protocols and Ciphers in Suite B Compliant Mode for TLSv1.2

{
    "Version": 1,
    "Info": {
        "Protocol": "+TLSv1.2",
        "Ciphers": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384"
    }
}

In the above example, protocol is defined as +TLSv1.2 in JSON format.

Configuring Protocols and Ciphers in Suite B Compliant Mode for TLSv1.3

{
    "Version": 1,
    "Info": {
        "Protocol": "+TLSv1.3",
        "Ciphersuites": "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256"
    }
}

In the above example, protocol is defined as +TLSv1.3 in JSON format.

Configuring Protocols and Ciphers in Non-Suite B Compliant Mode

Example-1:

{
    "Version": 1,
    "Info": {
        "Protocol": "+ALL",
        "Ciphers": "HIGH+aECDSA"
    }
}

Example-2:

{
    "Version": 1,
    "Info": {
        "Protocol": "+ALL",
        "Ciphers": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384","Ciphersuites" : "TLS_AES_256_GCM_SHA384"
    }
}

In the above examples, protocol is defined as +ALL in JSON format which means all supported protocols are allowed during TLS communication.