DirX Directory Attributes
This chapter describes the DirX Directory attributes defined in the DirX Directory default DSA schema. (See the chapter titled DirX Directory Default DSA Schema in the DirX Directory Administration Reference for details.) For each attribute it provides:
-
A short description.
-
The abbreviation that can be used in dirxadm and in dirxcp for DAP binds instead of object identifiers.
-
The LDAP name(s) that can be used in dirxcp for LDAP binds instead of object identifiers.
-
The syntax for DAP protocol.
-
The syntax for LDAPv3 protocol.
Note: When this subsection is omitted, the LDAPv3 syntax is UTF-8 string. -
An example for DAP binds.
-
An example for LDAPv3 binds.
The LDAP name(s), the syntax, and an example for LDAPv3 binds are only provided for attributes that can be administered with the LDAP protocol. Only X.500 user attributes can be administered via LDAP.
For a detailed description of the attribute syntaxes, see the chapters titled DirX Directory String Representation for DAP Binds and DirX Directory String Representation for LDAP Binds.
X.500 User Application Attributes
User application attributes are attributes representing user information.
Naming Attributes
The following attributes are used in DirX Directory to identify the entries.Note that naming attributes may also be used as normal attributes for an object.
Common Name
The Common Name attribute specifies a name by which the object is commonly known and conforms to the naming conventions of the country or culture with which it is associated.
An attribute value for Common Name is chosen either by the person or organization it describes or by the organization responsible for the object it describes for devices and application entities.
Country Name
The Country Name attribute specifies a country. It identifies the country in which the named object is located or with which it is associated.
It is not checked whether the specified value is contained in the list of valid country codes.
Locality Name
The Locality Name attribute specifies a locality (for example, a city). It identifies a geographical area or locality in which the named object is located or with which it is associated.
Organization Name
The Organization Name attribute specifies an organization.
An attribute value for Organization Name is chosen by the organization.
Organizational Unit Name
The Organizational Unit Name attribute specifies an organizational unit.
The designated organizational unit is a part of an organization designated by an Organization Name attribute. An Organizational Unit Name attribute must be associated with an Organization Name attribute.
An attribute value for Organizational Unit Name is chosen by the organization of which it is a part.
State or Province Name
The State or Province Name attribute specifies a state or province. It identifies the geographical subdivision in which the named object is located or with which it is associated.
Names in General
DMD Name
The DMD Name attribute specifies a Directory Management Domain (DMD). When used as a component of a directory name, it identifies a DMD which manages the named object.
DN Qualifier
The DN Qualifier attribute specifies disambiguating information to add to the relative distinguished name of an entry. It is used for entries held in multiple DSAs. Its value is the same in a given DSA and all the entries to which this information has been added.
Generation Qualifier
The Generation Qualifier attribute contains a string, which is used to provide generation information.
Initials
The Initials attribute specifies the initials of some or all of an individual’s name, but not the surname(s).
Name
The Name attribute is the attribute supertype from which string attribute types typically used for naming are formed.
Organization Identifier
The Organization Identifier attribute specifies an identification of an organization different from the organization name.
Pseudonym
The Pseudonym attribute a pseudonym for an object. It is used to name an object and make it clear that its name is a pseudonym.
Attributes for Authentication
Authority Revocation List
The Authority Revocation List attribute identifies Certification Authority (CA) certificates that have been revoked, typically because they have been compromised, or are otherwise no longer valid. The attribute is used solely by Certification Authorities. (See Certificate-List syntax for details.)
Syntax (LDAP)
Specify the attribute value in binary format. (See section Binary Attribute Values of chapter DirX Directory String Representations for LDAP Binds for details.)
Example (DAP)
ARL={CLU={VER=V2,
SIG={AL=1.3.14.3.2.3},
IS={/O=My-Company/OU=Corporate CA },
TU=9612011200Z,
NU=9612011300Z,
RC={SN=25,
RD=9603011500Z};
{SN=75,
RD=9608231005Z}},
ALG={AL=1.3.14.3.2.3},
EV=1011010101101101011000}
Example (LDAP)
{authorityRevocationList;binary=MIIBaTCB0wIBATANBgkqhkiG9w0BAQUFADAtMQswCQYDVQQGEwJERTEMMAoGA1UEChMDUFFSMRAwDgYDVQQLEwdFbnRydXN0Fw05ODA5MDIxMjIzMThaFw05ODA5MDMxMzEzMzJaoHIwcDBBBgNVHRwBAf8ENzA1oDOgMaQvMC0xCzAJBgNVBAYTAkRFMQwwCgYDVQQKEwNQUVIxEDAOBgNVBAsTB0VudHJ1c3QwCgYDVR0UBAMCAQ4wHwYDVR0jBBgwFoAUEy7QRSaZ8D9VFsYlK1V/XQsXJZ0wDQYJKoZIhvcNAQEFBQADgYEAki/dBwJ+v9qU1+rJA6Pkvi5BQgAfpGPCgoq5jWdkLw/I/GbPhxZAMEYDvvDPkUTh4MwkfL2HFpwwKKZVNJ25kfWOzdSEMtUuFEym4ofRi8B24r9PoivzGHvoZFRhtvG/jBEnDDm5f0BsoDvLk7Z+DOi/kNotrW4cZdDAaYg0irE=}
CA-Certificate
The CA-Certificate attribute specifies the public key of the user´s certification authority (CA). (See Certificate syntax for details.)
Syntax (LDAP)
Specify the attribute value in binary format. (See section Binary Attribute Values of chapter DirX Directory String Representations for LDAP Binds for details.)
Example (DAP)
CAC={CU={VER=V3,
SN=10,
SIG={AL=2.5.8.1.1,
ALP=1024
},
IS={/O=my-company/OU=asw},
VAL={VNA=9412011200Z,
VNB=9412011500Z
},
SUB={/O=my-company/OU=asw/CN=wythenshawe},
SUBK={AL={AL=2.5.8.1.1,
ALP=1024
},
PK=001100010011001000110011110010011000001100010000001
},
IUID=00101010110100101001,
SUID=00111010110100111001
},
ALG={AL=2.5.8.1.1,
ALP=1024
},
EV=1011010101101101011000}
Certificate Revocation List
The Certificate Revocation List attribute identifies user certificates that have been revoked, typically because they have been compromised or are otherwise no longer valid. The attribute is used solely by Certification Authorities. (See Certificate-List syntax for details.)
Syntax (LDAP)
Specify the attribute value in binary format. (See section Binary Attribute Values of chapter DirX Directory String Representations for LDAP Binds for details.)
Example (DAP)
CRL={CLU={VER=V2,
SIG={AL=1.3.14.3.2.3},
IS={/O=My-Company/OU=Corporate CA },
TU=9612011200Z,
NU=9612011300Z,
RC={SN=25,
RD=9603011500Z};
{SN=75,
RD=9608231005Z}}
ALG={AL=1.3.14.3.2.3},
EV=1011010101101101011000}
Example (LDAP)
{certificateRevocationList;binary=MIIBaTCB0wIBATANBgkqhkiG9w0BAQUFADAtMQswCQYDVQQGEwJERTEMMAoGA1UEChMDUFFSMRAwDgYDVQQLEwdFbnRydXN0Fw05ODA5MDIxMjIzMThaFw05ODA5MDMxMzEzMzJaoHIwcDBBBgNVHRwBAf8ENzA1oDOgMaQvMC0xCzAJBgNVBAYTAkRFMQwwCgYDVQQKEwNQUVIxEDAOBgNVBAsTB0VudHJ1c3QwCgYDVR0UBAMCAQ4wHwYDVR0jBBgwFoAUEy7QRSaZ8D9VFsYlK1V/XQsXJZ0wDQYJKoZIhvcNAQEFBQADgYEAki/dBwJ+v9qU1+rJA6Pkvi5BQgAfpGPCgoq5jWdkLw/I/GbPhxZAMEYDvvDPkUTh4MwkfL2HFpwwKKZVNJ25kfWOzdSEMtUuFEym4ofRi8B24r9PoivzGHvoZFRhtvG/jBEnDDm5f0BsoDvLk7Z+DOi/kNotrW4cZdDAaYg0irE=}
Cross-Certificate-Pair
The Cross-Certificate-Pair attribute specifies cross-certificate pairs of a certification authority. (See Certificate-Pair syntax for details.)
Syntax (LDAP)
Specify the attribute value in binary format. (See section Binary Attribute Values of chapter DirX Directory String Representations for LDAP Binds for details.)
Example (DAP)
CCP={F={CU={VER=V3,
SN=10,
SIG={AL=2.5.8.1.1,
ALP=1024
},
IS={/O=my-company/OU=asw},
VAL={VNA=9412011200Z,
VNB=9412011500Z
},
SUB={/C=ie/O=sse},
SUBK={AL={AL=2.5.8.1.1,
ALP=512
},
PK=0011000100110010001100111100100110000011000100
},
IUID=00101010110100101001,
SUID=00111010110100111001
},
ALG={AL=2.5.8.1.1,
ALP=1024
},
EV=1011010101101101011000
},
R={CU={VER=V3,
SN=10,
SIG={AL=2.5.8.1.1,
ALP=1024
},
IS={/C=ie/O=sse},
VAL={VNA=9412011200Z,
VNB=9412011500Z
},
SUB={/O=my-company/OU=asw},
SUBK={AL={AL=2.5.8.1.1,
ALP=512
},
PK=00110001001100100011001111001001100000110001000
},
IUID=10101010110100101001,
SUID=00111010110000101001
},
ALG={AL=2.5.8.1.1,
ALP=1024
},
EV=1011010101101101011000
}
}
Delta Revocation List
The Delta Revocation List attribute identifies certificates that have been recently revoked, typically because they have been compromised, or are otherwise no longer valid. The attribute is used solely by Certification Authorities. (See Certificate-List syntax for details.)
Syntax (LDAP)
Specify the attribute value in binary format. (See section Binary Attribute Values of chapter DirX Directory String Representations for LDAP Binds for details.)
Example (DAP)
DRL={CLU={VER=V2,
SIG={AL=1.3.14.3.2.3},
IS={/O=My-Company/OU=Corporate CA },
TU=9612011200Z,
NU=9612011300Z,
RC={SN=25,
RD=9603011500Z};
{SN=75,
RD=9608231005Z}}
ALG={AL=1.3.14.3.2.3},
EV=1011010101101101011000}
Example (LDAP)
{deltaRevocationList;binary=MIIBaTCB0wIBATANBgkqhkiG9w0BAQUFADAtMQswCQYDVQQGEwJERTEMMAoGA1UEChMDUFFSMRAwDgYDVQQLEwdFbnRydXN0Fw05ODA5MDIxMjIzMThaFw05ODA5MDMxMzEzMzJaoHIwcDBBBgNVHRwBAf8ENzA1oDOgMaQvMC0xCzAJBgNVBAYTAkRFMQwwCgYDVQQKEwNQUVIxEDAOBgNVBAsTB0VudHJ1c3QwCgYDVR0UBAMCAQ4wHwYDVR0jBBgwFoAUEy7QRSaZ8D9VFsYlK1V/XQsXJZ0wDQYJKoZIhvcNAQEFBQADgYEAki/dBwJ+v9qU1+rJA6Pkvi5BQgAfpGPCgoq5jWdkLw/I/GbPhxZAMEYDvvDPkUTh4MwkfL2HFpwwKKZVNJ25kfWOzdSEMtUuFEym4ofRi8B24r9PoivzGHvoZFRhtvG/jBEnDDm5f0BsoDvLk7Z+DOi/kNotrW4cZdDAaYg0irE=}
NTS Security Identifier
The NTS Security Identifier attribute specifies the NT account name of the user. If an authenticated directory bind based on NT security should be performed, the user´s entry must contain this attribute. (See dse bind and obj bind in the DirX Directory Administration Reference for details.)
User Certificate
The User Certificate attribute specifies the public key of a user. (See Certificate syntax for details.) A user may obtain one or more certificates from one or more Certification Authorities. The object class must have the value Strong-Authenticated-User (SAU).
Syntax (LDAP)
Specify the attribute value in binary format. (See section Binary Attribute Values of chapter DirX Directory String Representations for LDAP Binds for details.)
Example (DAP)
UC={CU={VER=V3,
SN=10,
SIG={AL=2.5.8.1.1,
ALP=1024
},
IS={/O=my-company/OU=asw},
VAL={VNA=9412011200Z,
VNB=9412011500Z
},
SUB={/O=my-company/OU=asw/CN=wythenshawe},
SUBK={AL={AL=2.5.8.1.1,
ALP=1024
},
PK=001100010011001000110011110010011000001100010000001
},
IUID=0000110101001011010100,
SUID=1011010101101101011000
},
ALG={AL=2.5.8.1.1,
ALP=1024
},
EV=1111010101101101011000}
User Password
The User Password attribute specifies the password of an object. It is a single-valued attribute. If the password is saved encrypted in the database it is not possible to perform a simple protected bind with dirxadm and dirxcp (DAP-bind).
Password Encryption
If the DirX Directory DSA password storage scheme is configured as “plain”, the DSA stores the user password in the DBAM database as a symmetrically encoded value. In this mode, if an LDIF content file is written or a DAP search result is constructed, the password value is passed to the output stream as the decoded clear text password.
The DirX Directory DSA is configurable to support the password storage schemes "SHA" or "Salted SHA". Passwords that are formed according to one of these schemes have been one-way-encrypted or hashed with a secure hash algorithm and - to create a readable string - base64 encoded. If the salted scheme is in force, the hashed user passwords are concatenated with an arbitrary salt-value before the base64 encoding occurs. The created value string can be stored in the Octet String attribute value of the User Password attribute exactly as the clear text string.
The variant of the secure hash algorithm to be applied can be configured. The default algorithm for hashing user passwords is SHA-1, furthermore the DSA supports the algorithms SHA-224, SHA-256, SHA-384 and SHA-512.
Multiple levels of support of the SHA password storage schemes can be configured. If any of the SHA support levels is turned on, the DirX Directory DSA is able to operate with passwords that have already been hashed outside the server. Additionally the support level defines to what extent the DirX Directory DSA actively performs the clear text-to-hash value conversion of the User Password attribute value.
-
Support level 1 (Basic Level) - This minimal level of support describes the fact that the DSA is able to operate with user passwords regardless of the format of the stored values. That is, if simple bind credentials are verified by the DSA, it considers the format of the entry’s user password and conditionally applies the hash before the actual password matching is performed. When user password values are exported (for example, an LDIF content file is written or a DAP search result is constructed) the value is passed to the output stream as it is stored, regardless of whether it is clear text or hashed format.
-
Support level 2 (Read Level) - This level introduces additionally to level 1 the feature that user password values are never exported in clear text format. Whenever the DSA retrieves a password from its database, it checks whether it is a clear text string or a hashed format. If the password is clear text, the hash algorithm is applied before the value is passed to the outgoing protocol. Therefore configuring support Level 2 makes passwords appear in LDIF files only in the hashed format. This also applies to the generation of LDIF change files, even if in this case the source of the information is an incoming request rather than the database.
-
Support level 3 (Read Write Level) - This level introduces additionally to level 2 the feature that user password values are checked during the process of import to the DSA. If the passwords come in as clear text strings, they are automatically converted to the hashed format before they are stored in the DSA’s database.
The generation of hashed user passwords follows the specification given in the internet-draft “Lightweight Directory Access Protocol (LDAP): Hashed Attribute values for 'userPassword' draft-stroeder-hashed-userpassword-values-01”.
Note that even level 3 does not prevent userPassword values from continuing to exist as clear text strings in the DSA’s database, if they were loaded before the password encryption was enabled.
Note also that even if level 2 or higher is activated, a DAP operation can return a non-hashed password if the entry information has been collected from other DSAs via DSP and these other DSAs are governed by another password policy.
Note that the use of hash algorithms distinct from SHA-1 is not recommended unless all DSAs participating in a floating master system are version DirX Directory Directory 8.3 or newer.
The DSA cannot compare two userPassword values that are both provided in a salted hash format; that is, all operations that compare two userPassword values, for example, a dirxcp obj compare operation, return an Unwilling to Perform error, if not one is a clear text user password.
The format of the password also affects the password syntax checking specified in the Password Policy subentry. If hashed passwords are used in add or modify operations, the server is unable to perform password quality checks. (See Password Check Syntax of section titled Attributes of the Password Policy Subentry for details.)
The DirX Directory DSA process generates an event log during the initialization process that informs the administrator of the current password storage scheme support level in force.
In principle, hashed passwords are not encrypted: The SHA algorithms are one-way functions resulting in a message digest. Once a user password value is converted into a hashed format, its clear text value cannot be restored.
If user password values are shadowed to directory servers that do not support the same password storage scheme or hash algorithm, these shadow directory servers are not able to use the password values in the context of the directory bind operation. Such a situation may result in the inability of all directory users to log into the directory system. This is particularly the case, if a DirX Directory Directory 8.3 supplier DSA replicates passwords that were hashed with one of the SHA2 family of algorithms to an older consumer DSA.
Additionally, if the DSA stores a password in the hashed (SHA or SSHA) format, it cannot authenticate the user if the user provides the simple-protected choice of simple credentials.
User password values that are SHA-1 hashed start with the tag {SHA} followed by the base64 encoding of the SHA-1 cipher of the user password value.For example (in LDIF)
userPassword: dirx is converted to
userPassword: {SHA}qxghIHOkekweiJieHndsahdsjuew4n432==
User password values that are SSHA-1 hashed start with the tag {SSHA} followed by the base64 encoding of the SHA-1 cipher of the user password value.For example (in LDIF)
userPassword: dirx is converted to
userPassword: {SSHA}VJAdQg6179lrPKgxAi/6vHkNUVc2OTkxM2ExYg==
User password values that are hashed with one of the SHA2 family of algorithms start with the tag {SHA224}, {SHA256}, {SHA384} or {SHA512}.For the salted hashed scheme the tags are {SSHA224}, {SSHA256}, {SSHA384} or {SSHA512}.
To enable password encryption, you must specify appropriate values for the Password Storage Scheme, Password Storage Scheme Algorithm and Password Storage Scheme Level attributes of the Password Policy subentry.(See section Attributes of the Password Policy Subentry for details.) Note that the Password Storage Scheme, Algorithm and Level are controlled by the respective attributes of the global Password Policy subentry /cn=GlobalPasswordPolicy.If subtree-specific Password Policy subentries contain Password Storage Scheme, Algorithm or Level attributes the DSA ignores these attributes; that is the global password storage scheme controls the storage of all user passwords stored in a DSA.
The following table summarizes the effect of the different settings for Password Storage Scheme and Password Storage Scheme Level (=Support level) on the storage and presented output of the User Password attribute.
| Storage Scheme | Storage Scheme Level | Value added as … (e.g.: from LDIF file or ADD operation) |
Value stored in DB as … | Output as … (LDIF file or search result) |
|---|---|---|---|---|
Plain |
Ignored |
Clear text |
Symmetrical encoded |
Clear text |
Plain |
Ignored |
SHA |
SHA |
SHA |
Plain |
Ignored |
SSHA |
SSHA |
SSHA |
SHA |
1 |
Clear text |
Symmetrical encoded |
Clear text |
SHA |
1 |
SHA |
SHA |
SHA |
SHA |
1 |
SSHA |
SSHA |
SSHA |
SHA |
2 |
Clear text |
Symmetrical encoded |
SHA |
SHA |
2 |
SHA |
SHA |
SHA |
SHA |
2 |
SSHA |
SSHA |
SSHA |
SHA |
3 |
Clear text |
SHA |
SHA |
SHA |
3 |
SHA |
SHA |
SHA |
SHA |
3 |
SSHA |
SSHA |
SSHA |
SSHA |
1 |
Clear text |
Symmetrical encoded |
Clear text |
SSHA |
1 |
SHA |
SHA |
SHA |
SSHA |
1 |
SSHA |
SSHA |
SSHA |
SSHA |
2 |
Clear text |
Symmetrical encoded |
SSHA (Note1) |
SSHA |
2 |
SHA |
SHA |
SHA |
SSHA |
2 |
SSHA |
SSHA |
SSHA |
SSHA |
3 |
Clear text |
SSHA |
SSHA |
SSHA |
3 |
SHA |
SHA |
SHA |
SSHA |
3 |
SSHA |
SSHA |
SSHA |
Note 1: The output value will differ on each subsequent read in this combination.
DirX TOTP Secret
The DirX TOTP Secret attribute specifies the 32-byte secret key associated with a time-based one-time password (TOTP) used in a DirX Directory TOTP two-factor (2FA) object bind operation. It is a single valued attribute.
The DirX DSA generates the TOTP secret when a DirX Directory administrator adds the object class dirxTOTPUser to the object. Its value is chosen at random by a cryptographically-secure pseudorandom number generator. The DSA stores the secret in the database encrypted with the AES-256 algorithm. The encrypted value is decrypted into the following otpauth URI format when returned in a DAP or LDAP read operation or specified in an LDIF file:
dirxTOTPSecret=otpauth://totp/*User?issuer=issuer_name&secret=*secret
where:
-
otpauth indicates the scheme used by authenticator apps to generate one-time passwords (OTPs) see RFC draft-linuxgemini-otpauth-uri-01.
-
totp indicates the type of OTP being generated; in this case, time-based one-time passwords (TOTPs).
-
The User parameter identifies the object associated with the TOTP secret and is the naming attribute of the object with the default value 2FA User.
-
The issuer_name parameter identifies the provider or service associated with the TOTP secret and is either the value held by the DirX DSA environment variable DIRX_DSA_TOTP_ISSUER or the value DirX if the environment variable is unset.
-
The secret parameter is the actual secret in Base32 encoding.
This format is recognized by most TOTP authenticator apps and can be copied/pasted into these apps.
Example (DAP)
TOTPS=++\++x6f++\++x74++\++x70++\++x61++\++x75++\++x74++\++x68++\++x3a++\++x2f++\++x2f++\++x74++\++x6f++\++x74++\++x70++\++x2f++\++x55++\++x73++\++x65++\++x72++\++x3f++\++x69++\++x73++\++x73++\++x75++\++x65++\++x72++\++x3d++\++x44++\++x69++\++x72++\++x58++\++x26++\++x73++\++x65++\++x63++\++x72++\++x65++\++x74++\++x3d++\++x4d++\++x47++\++x48++\++x42++\++x46++\++x54++\++x54++\++x4d++\++x4f++\++x57++\++x54++\++x53++\++x36++\++x46++\++x45++\++x4b++\++x4a++\++x35++\++x50++\++x44++\++x58++\++x52++\++x58++\++x4d++\++x41++\++x4d++\++x52++\++x4c++\++x32++\++x57++\++x4a++\++x58++\++x41++\++x33++\++x53++\++x42++\++x32++\++x43++\++x4a++\++x4f++\++x50++\++x47++\++x51++\++x41++\++x53++\++x44++\++x36++\++x47++\++x4f++\++x34++\++x52++\++x51++\++x3d++\++x3d++\++x3d++\++x3d
Explanatory Attributes
Business Category
The Business Category attribute specifies information concerning the occupation of some common objects; for example, people.
Postal Addressing
Physical Delivery Office Name
The Physical Delivery Office Name attribute specifies the name of the city, village, etc. where a physical delivery office is situated.
Postal Address
The Postal Address attribute specifies the address information required for physical delivery of postal messages by the postal authority to the named object. (See Postal-Address syntax for details.)
Postal Code
The Postal Code attribute specifies the postal code for a named object. It is part of the object´s postal address.
Telecommunication Addresses
Destination Indicator
The Destination Indicator attribute specifies according to CCITT Rec. F.1 and Rec. F.31 the country and city associated with the object needed to provide the public telegram service.
Fax Telephone Number
The Fax Telephone Number attribute specifies a telephone number for a facsimile (FAX) terminal. (See Facsimile-Telephone-Number for details).
International ISDN Number
The International ISDN Number attribute specifies an International ISDN number associated with an object. The attribute value is a numeric string that complies with the internationally agreed format for ISDN addresses given in CCITT Rec. E. 164. (See International-ISDN-Number for details.)
Registered Address
The Registered Address attribute specifies a mnemonic for an address associated with an object at a particular city location. It is registered in the country in which the city is located and is used by the public telegram service. (See Postal-Address syntax for details.)
Telephone Number
The Telephone Number attribute specifies a telephone number associated with an object.
Teletex Terminal Identifier
The Teletex Terminal Identifier attribute specifies a teletex terminal identifier for a teletex terminal associated with an object. (See Teletex-Terminal-Identifier syntax for details.)
Telex Number
The Telex Number attribute specifies a telex number, country code, and answerback code for a telex terminal associated with an object. (See Telex-Number syntax for details.)
Preference Attributes
Preferred Delivery Method
The Preferred Delivery Method attribute specifies the order of preference for message delivery methods. The attribute is single-valued. (See Preferred Delivery Method Syntax for details.)
Valid values are:
| DAP bind | LDAPv3 bind | Meaning |
|---|---|---|
ANY |
any |
Any method of delivery |
MHS |
mhs |
Message handling system delivery |
PHYSICAL |
physical |
Physical delivery |
TELEX |
telex |
Telex delivery |
TELETEX |
teletex |
Teletex delivery |
G3_FAX |
g3fax |
G3 FAX delivery |
G4_FAX |
g4fax |
G4 FAX delivery |
IA5 |
ia5 |
IA5 terminal delivery |
VIDEOTEX |
videotex |
Videotex delivery |
TELEPHONE |
telephone |
Telephone delivery |
For DAP binds, multiple values are separated by a plus sign (+), with the most preferred method first in the list; for LDAP binds, multiple values are separated by a dollar sign ($), with the most preferred method first in the list.
OSI Applications
Application Entity
The Application Entity attribute specifies the object identifier that is assigned to an application entity and allows it to be identified.
Presentation Address
The Presentation Address attribute specifies a presentation address associated with an object representing an OSI application entity. (See Presentation-Address syntax for details.)
This attribute is not supported for LDAP protocol.
Protocol Information
The Protocol Information attribute associates protocol information with each network address in the PSAP attribute. For each NSAP, address it identifies the protocol or profile for the network and transport layers. (See Protocol Information syntax for details.)
This attribute is not supported for LDAP protocol.
Supported Application Context
The Supported Application Context attribute specifies the object identifiers of supported application contexts. The attribute is contained in the root-DSE and is automatically generated when the database is created. It can be accessed using dirxadm.
Valid values are:
-
DAP - Directory-Access-Application-Context (DUA or DSA funtionality using DAP protocol)
-
DOPM - Directory-OPerational-Binding-Management-Application-Context (DSA functionality using DOP protocol to coordinate HOBs (hierarchical operational bindings) or shadowing)
-
DSP - Directory-System-Application-Context (DSA functionality using DSP protocol (chaining))
-
RSCI - Reliable-Shadow-Consumer-Initiated-Application-Context (DSA functionality using DISP protocol (shadowing) over the RTSE protocol when the consumer initiates the shadowing)
-
RSSI - Reliable-Shadow-Supplier-Initiated-Application-Context context (DSA functionality using DISP protocol (shadowing) over the RTSE protocol when the supplier initiates the shadowing)
-
SCI - Shadow-Consumer-Initiated-Application-Context (DSA functionality using DISP protocol when the consumer initiates the shadowing, and operations are synchronous; that is, no invoke can be initiated until a response to the last invoke has been received)
-
SSI - Shadow-Supplier-Initiated-Application-Context (DSA functionality using DISP when the supplier initiates the shadowing, and operations are synchronous)
-
SSIA - Shadow-Supplier-Initiated-Asynchronous-Application-Context (DSA functionality using DISP when the supplier initiates the shadowing, and operations can be asynchronous)
-
SCIA - Shadow-Consumer-Initiated- Asynchronous-Application-Context (DSA functionality using DISP when the consumer initiates the shadowing, and operations can be synchronous; that is, another invoke can be initiated before a response to the last invoke has been received)
The DirX Directory DSA supports the application contexts DAP, DSP, SCI, and SSI.
Because this attribute is only accessible by using dirxadm no access using LDAP or DAP protocol is possible.
Transfer Syntaxes Supported
The Transfer Syntaxes Supported attribute specifies the object identifiers of the transfer syntaxes and / or encoding rules supported. The attribute is contained in the root-DSE. It can be accessed using dirxadm.
The implementation supports the ASN.1 Basic and Distinguished Encoding Rules.
Because this attribute is only accessible by using dirxadm, no access using LDAP or DAP protocol is possible.
Relational Attributes
Relational attributes are concerned with information regarding objects that are related to a particular object in certain ways.
Aliased Object Name
The Aliased Object Name attribute specifies an alternative name for an object or object entry. It is contained in an alias entry.
DirX Directory ImportFrom
The DirX Directory ImportFrom attribute specifies the DN of a groupOfNames entry from which member attributes are to be imported. It is used to build a nested group.
DirX Directory MemberUrl
The DirX Directory MemberUrl attribute specifies an LDAP search expression. It is used to define a dynamic group.
Syntax (DAP)
Directory-String in the format of DirX Directory-Member-Url attribute syntax (see the section DirX Directory-Member-Url in the chapter DirX Directory String Representation for DAP Binds for details)
Owner
The Owner attribute specifies the name of the object that is responsible for an associated object.
Role Occupant
The Role Occupant attribute specifies the name of an object that fulfills an organizational role.
See Also
The See Also attribute specifies the names of directory objects that can be other aspects of the same real world object.
Unique Member
The Unique Member attribute identifies objects by a distinguished name and an optional identifier. This attribute can remove ambiguity from names that have been reused. (See Name-And-Optional-UID syntax for details.)
Miscellaneous Attributes
House Identifier
The House Identifier attribute specifies information that is used to identify a particular building; for example, a house number or house name relative to a street or town.
Knowledge Information
The Knowledge Information attribute specifies a human readable accumulated description of knowledge mastered by a specific DSA.
Labeled URI
The Labeled URI attribute as specified in RFC 2079 defines one of several Universal Resource Identifiers. The values must comply with RFC1738.
Object Class
The ObjectClass attribute specifies the object identifiers of the object classes which indicates the nature of a particular entry. Each entry must contain this attribute.
There are three types of object classes:
-
Abstract object classes - Used to derive other object classes and provide the common characteristics of such object classes. An entry cannot belong only to abstract object classes. The only abstract object class in DirX Directory is TOP.
-
Structural object classes - Defines specific types of real-world objects, for example, object class organizational person (ORP). An entry is characterized by one structural object class superclass chain which has a single structural object class as the most subordinate object class. The structural object class of an entry cannot be changed.
-
Auxiliary object classes - Defines characteristics that can be shared by more than one kind of real-world object. For example, message handling systems make use of the auxiliary object class MHS user (MUS) to specify a package of mandatory and optional MHS attributes for entries whose structural object class is variable (for example, ORP for organizational person or REP for residential person). An object may be member of one or more auxiliary object classes. The auxiliary object class of an entry may change over time.
Since all entries are member of the object class TOP, this value need not be specified.
The Object Class Table in the chapter titled DirX Directory Default Schema describes the LDAP name(s) (which is used as value for LDAP binds), the abbreviation (which is used as value for DAP binds), the type, the superclasses, and the mandatory and optional attributes.
Collective Attributes
Collective attributes are user attributes whose values are the same for a collection of entries.
Although collective attributes appear to users of the Directory query operations as entry attributes, they are treated differently from entry attributes. This difference is that collective attributes cannot be administered (that is, modified) via the entries in which they appear but must be administered via their associated subentries. (See the chapter titled Creating Collective Attributes in a Subtree in the Administration Guide for details.)
The DSA does not support the use of collective attributes in filters.
Collective attributes can be excluded from particular entries by the use of the Collective Exclusions directory operational attribute.
Collective Fax Telephone Number
The Collective Fax Telephone Number attribute specifies a fax telephone number for a collection of entries
Collective International ISDN Number
The Collective International ISDN Number attribute specifies a international lSDN number for a collection of entries
Collective Locality Name
The Collective Locality Name attribute specifies a locality name for a collection of entries
Collective Organization Name
The Collective Organization Name attribute specifies an organization name for a collection of entries.
Collective Organizational Unit Name
The Collective Organizational Unit Name attribute specifies an organizational unit for a collection of entries.
Collective Postal Address
The Collective Postal Address attribute specifies a postal address for a collection of entries.
Collective Postal Code
The Collective Postal Code attribute specifies a postal code for a collection of entries.
Collective Physical Delivery Office Name
The Collective Physical Delivery Office Name attribute specifies a physical delivery office name for a collection of entries.
Collective Post Office Box
The Collective Post Office Box attribute specifies a post office box name for a collection of entries.
Collective State or Province Name
The Collective State or Province Name attribute specifies a state or province for a collection of entries.
Collective Street Address
The Collective Street Address attribute specifies street address for a collection of entries.
Collective Telephone Number
The Collective Telephone Number attribute specifies a telephone number for a collection of entries.
Collective TTX Terminal Identifier
The Collective TTX Terminal Identifier attribute specifies a ttx terminal identifier for a collection of entries.
Attributes of the LDAP Root Subentry
The LDAP protocol defines the so-called LDAP root as a collection of attributes that describe the LDAP server’s capabilities and supported features. LDAP clients usually read these attributes before they start working with the LDAP server in order to retrieve information about useful features the server provides.
In DirX Directory, the LDAP root subentry /CN=ldapRoot is used to store these attributes. The DSA automatically creates an LDAP root subentry that specifies the default values for the DirX Directory LDAP server. The information within the LDAP root subentry should not be changed once it has been established and the LDAP server has been initialized.
Note that the LDAP root subentry contains local information and modifications to this entry are not propagated by shadowing.
The LDAP root subentry can be retrieved via LDAP by performing the following search request:
obj search "" –allattr –baseobject -vtype SUBENTRY
Like all other subentries it cannot be created via LDAP. However, it can be modified via LDAP.
LDAP Naming Contexts
The LDAP Naming Contexts attribute contains the distinguished names of the naming contexts that the contact DSA masters or shadows. This attribute is a mandatory attribute and must contain at a minimum a string with length 0. The DSA automacially synchronizes the LDAP naming context stored in this attribute with the X.500 context prefix. Therefore it is strongly recommended not to modify this attribute.
Alternate Servers
The Alternate Servers attribute specifies the URLs of other LDAP servers that can handle the client’s request. This attribute is an optional attribute.
Supported Extensions
The Supported Extensions attribute specifies the object identifiers of the extensions that the LDAP server supports. This attribute is an optional attribute.
The DirX Directory LDAP server supports the following standardized extensions:
| 1.3.6.1.4.1.1466.20037 | The Start-TLS extended operation. |
|---|---|
1.3.6.1.4.1.4203.1.11.1 |
The LDAP Password Modify Extended Operation. The DirX Directory LDAP server supports this extension with the following restrictions:
|
Supported Control
The Supported Control attribute specifies the object identifiers of the controls that the LDAP server supports. This attribute is an optional attribute.
LDAP clients use the values of this attribute to evaluate whether they can successfully include the control values to their operations. The controls themselves are intended to optimize operations; for example, search operations with a large search result.
See DirX Directory Commands -> dirxcp -> obj (dirxcp) -> -control Option in the DirX Directory Administration Reference for details on how to specify controls for dirxcp obj operations.
The default value of the DirX Directory LDAP server is:
| 1.2.840.113556.1.4.319 | Simple Paged Results for request and response. The abbreviation for this control is SPAGRES. |
|---|---|
1.2.840.113556.1.4.473 |
Server Side Sorting Request. The abbreviation for this control is SSSREQ. |
1.2.840.113556.1.4.474 |
Server Side Sorting Response. The abbreviation for this control is SSSRESP. |
1.3.6.1.4.1.21008.108.63.1 |
LDAP Session Tracking Control The abbreviation for this control is LSTRACK. |
1.3.6.1.1.22 |
Don’t Use Copy Control. This control is intended to direct the server to return master information in LDAP search and LDAP compare operations. It should not be attached to other operations. It overrides the settings for the respective operations service controls (ldapSearchServiceControls and ldapCopmpareServiceControls) configured in the configuration subentry of the LDAP server. The abbreviation for this control is DONTUSECOPY. |
1.3.6.1.4.1.7628.5.101.1 |
LDAP Subentries Control. The server returns only subentries in a search response. In DirX Directory for example, the dirxcp obj search command attaches the Subentry Control to the search request if the option -vtype SUBENTRY is specified. The abbreviation for this control is LSUBE. |
1.3.6.1.4.1.42.2.27.8.5.1 |
Password Policy Request and Password Policy Response according to the IETF draft RFC "Password Policy for LDAP Directories" The abbreviation for this control is PPOREQRESP. |
2.16.840.1.113730.3.4.18 |
LDAP Proxied Authorization Control according to the The abbreviation for this control is LPROXYAUTH. |
1.3.12.2.1107.1.3.2.12.5 |
LDAP Relaxed Update Control. This is a proprietary control. It supports attaching a control to modify entry operations over LDAP that results in:
The abbreviation for this control is RELAXEDUPD. |
1.3.12.2.1107.1.3.2.12.6 |
LDAP Max Paging Timeout Control. This is a proprietary control. It directs the LDAP server to use a 3600 second (1 hour) timeout in paged search requests instead of the configured value in the PAGP (Paging-Policy) attribute. The abbreviation for this control is MAXPAGTO. |
1.3.12.2.1107.1.3.2.12.7 |
LDAP Use MT, MN, CRT, CRN from DAP Request Control. This is a proprietary control. The server uses the modifyTimestamp (MT), the modifiersName (MN), the createTime (CRT), and the creatorsName (CRN) from the DAP request. The abbreviation for this control is USEREQOPATTR. |
1.3.12.2.1107.1.3.2.12.9 |
LDAP No Modification Time Update Control. This is a proprietary control. The server does not update the modifyTimestamp (MT). The abbreviation for this control is NOMODTIMEUPD. |
1.3.12.2.1107.1.3.2.12.10 |
LDAP Conditioned Operation Control. This is a proprietary control. A modify or delete operation is performed only if the condition specified in the control’s value applies. The control’s value must be specified. The abbreviation for this control is CONDOP. |
1.3.12.2.1107.1.3.2.12.11 |
LDAP Search Result Info Control. This is a proprietary control. A search operation returns information about the search result like the number of result entries instead of the result. The abbreviation for this control is SEARCHRESINFO. |
1.3.12.2.1107.1.3.2.12.12 |
LDAP Incremental Replace Control. This is a proprietary control. The server increments (decrements negative values) attributes with syntax integer when performing a replace in a modify entry operation. The attribute must not be multi-valued. The control has no value. The default for criticality is 1 and cannot be changed. If none of the updates is a replace or none of the replaced attributes has the syntax integer, the control is ignored. For example, The abbreviation for this control is INCRREPL. |
1.3.12.2.1107.1.3.2.12.13 |
LDAP Matched Value Only Filter Control. This is a proprietary control. A search operation returns only those requested attribute values that match to the filter in the control’s value. (See DirX Directory String Representation for LDAP Binds -> Search Filters -> LDAP Matched Value Only Filter Control for details.) For example, it can be used to retrieve one particular certificate. The abbreviation for this control is MVOF. |
The DirX Directory DSA supports the controls for search request and responses when the suitable indices are created in the DSA’s database.
If an LDAP search operation requests server-side sorting, the search operation must be performed with "dereference aliases always" or the DSA returns an "Unwilling to Perform" error. This behavior is independent from whether or not the database actually contains alias entries.
Be aware that using some of the listed LDAP controls may break the server behavior described in the LDAP/X.500 standards.
Supported SASL Mechanism
The Supported SASL Mechanism attribute specifies the names of the SASL authentication mechanisms that the LDAP server supports. This attribute is an optional attribute. (See RFC 2222 for details on SASL.)
The LDAP server supports the EXTERNAL SASL (attribute value EXTERNAL) mechanism. This mechanism type means that the LDAP server supports certificate-based client authentication based on SSL/TLS.
Supported LDAP Versions
The Supported LDAP Versions attribute specifies the LDAP protocol versions that the LDAP server supports. This attribute is a mandatory attribute. Valid values are 2, and 3.
Og Supported Profile
The Og Supported Profile attribute specifies the object identifiers of the profiles that the LDAP server supports. This attribute is a mandatory attribute.
Vendor Name
The Vendor Name attribute specifies the name of the LDAP server implementer. This attribute is a single-valued, optional attribute.
Vendor Version
The Vendor Version attribute specifies the version of the LDAP server. This attribute is a single-valued, optional attribute.
Attributes of the Schema Subentry
The schema information (attribute types and object classes) is saved in the attributes of the schema subentry. The schema subentry is created automatically by the DirX Directory DSA. LDAP clients usually read this subentry to get LDAP server’s schema information. The distinguished name (DN) of the schema subentry is saved in the LDAP Subschema Subentry attribute of the LDAP root subentry and must consist of only one relative distinguished name (RDN). By default the name of the schema subentry is cn=Schema.
It is not recommended to modify the default name of the schema. However there may be reasons that you must rename the schema. In this case, you modify the LDAP Subschema Subentry attribute value of the LDAP root subentry. After modifying this value, you must re-start the DirX Directory Service so that the modification becomes effective. The DSA will rename the schema subentry automatically.
Note that the LDAP root subentry contains local information and modifications to this entry are not propagated by shadowing. You must perform the modification to the LDAP Subschema Subentry attribute value on all servers participating in your network. Schema modifications, however, are propagated by shadowing.
The schema must be legal and consistent for all servers to work correctly. All attribute types and all object classes of the schema must have an LDAP name. The LDAP server does not start if it detects an attribute type or object class in the schema without an LDAP name assigned. If an LDAP client uses attributes not present in the schema, they will be ignored in the request. (See section titled Schema Check in chapter titled DirX Directory Default DSA Schema in the DirX Directory Administration Reference how to perform a schema check.)
Schema modifications become effective immediately in the DSA and in the LDAP server where the schema has been changed. Additional LDAP servers must be restarted. If the schema is changed not via the LDAP server - for example, new attributes have been added by dirxcp after a DAP bind - all LDAP servers must be restarted. (See the dirxadm ldap restart operation in the chapter DirX Directory Commands in the DirX Directory Administration Reference for details.)
The LDAP schema subentry can be retrieved by dirxcp via LDAP by performing the following request:
obj show cn=Schema –allattr
Like all other subentries, it cannot be created via LDAP. However, it can be modified via LDAP by
-
performing dirxcp obj operations after performing an LDAP bind
-
importing an LDIF content file containing schema information
-
DirX Directory Manager.
LDAP AT
The LDAP AT attribute is a multi-valued attribute specifying the attribute types used within the schema. The component NAME '*attribute_type_name'* provides the LDAP names of the attribute type. (See the section titled Attribute-Type-Description in the chapter DirX Directory String Representation for LDAP Binds for details.)
LDAP OC
The LDAP OC attribute is a multi-valued attribute specifying the object classes used within the schema. The component NAME '*object_class_name'* provides the LDAP name of the object class. You can specify only one LDAP name for an object class. (See the section titled Object-Class-Description in the chapter DirX Directory String Representation for LDAP Binds for details.)
Attributes for LDAP Server Configuration
Attributes for LDAP server configuration are attributes of the LDAP configuration subentry with the default name /CN=ldapConfiguration. Several LDAP configuration subentries may be present within the same database with unique common names. Specify the Common Name of the LDAP configuration subentry of the first / default LDAP server to be started in the environment variable DIRX_DEFAULT_LDAP_SERVER; if not, the default LDAP configuration subentry with the name ldapConfiguration should be used.
Run the script ldap_admin.cp (using dirxcp) to create a default LDAP configuration subentry that specifies default values for the DirX Directory LDAP server. Use the dirxcp obj operations to modify the attributes of the default LDAP configuration subentry or to create new LDAP configuration subentries. Like all other subentries, it cannot be created via LDAP. However, it can be modified via LDAP.
Modifications of an LDAP configuration subentry become effective after a restart of the LDAP server. (See the dirxadm ldap restart operation in the DirX Directory Administration Reference for details.)
The attributes of the LDAP configuration subentry
-
specify the service controls that the LDAP server uses when sending an operation to the DSA (LDAP Search Service Controls, LDAP Compare Service Controls, LDAP Add Service Controls, LDAP Remove Service Controls, LDAP Modify Service Controls, LDAP Modify DN Service Controls).
-
control the options of an LDAP search request:
-
the maximum number of requested attributes (LDAP Maximum Requested Attributes)
-
the maximum number of filter items (LDAP Maximum Filter Items)
-
-
control connection handling:
-
the TCP port number (LDAP Port Number)
-
the secure port number (LDAP Secure Port Number)
-
the name of the SSL configuration subentry (LDAP SSL configuration subentry CN)
-
whether or not clients can switch from a normal (plain) LDAP bind to a secure LDAP bind (LDAP Start TLS Enabled)
-
the maximum number of simultaneous connections (LDAP Anonymous Connections)
-
the number of simultaneous anonymous connections (LDAP Anonym DAP Pool Size)
-
the number of seconds that an idle client connection remains open (LDAP Connection Idle Time)
-
the number of seconds that an authenticated connection remains open after the last performed unbind (LDAP Unbind Delay Time)
-
whether clients can share the same connection (LDAP Backend Sharing, LDAP Maximum Share Count)
-
whether the LDAP server grants or denies access to clients with a specific IP address or distinguished name, or denies anonymous or authenticated access (LDAP Allow IP List, LDAP Deny IP List, LDAP Allowed Users List, LDAP Allowed Groups, LDAP Denied Users List, LDAP Denied Groups, LDAP Deny Anonymous Access, LDAP Only Allow Anonymous Access)
-
policies for users (LDAP User Policies) or groups (LDAP Group Policies)
-
whether clients can bind to the LDAP server only over a specific IP address (LDAP Listen IP List)
-
-
control the encoding and conversion of attributes (LDAP ASN1 Header, LDAP Charset Conv Request, LDAP Charset Conv Result).
-
control the operations that the LDAP server is willing to perform (LDAP Read Only Server).
-
control the thread pool size (LDAP Thread Pool Size).
-
control the LDAP flow to avoid capacity overload over the socket layer:
-
the TCP keep alive (LDAP Socket Keep Alive)
-
the use of non-blocking sockets (LDAP Asynchronous Sockets)
-
the maximum timeout for send and receive operation calls (LDAP Max Send Timeout, LDAP Max Recv Timeout)
-
the maximum number of incomplete operations per connection (LDAP Max Incomplete Ops per Connection)
-
the operation stack size limit (LDAP Op Stack Limit)
-
the number of overflow threads (LDAP Overflow Threads)
-
-
control the LDAP cache:
-
enable or disable the LDAP cache (LDAP Cache)
-
control the storage of search results (LDAP Cache Max Cached Elements, LDAP Cache Maximum Memory Size, LDAP Cache Min Cache Time, LDAP Cache Max Cache Time, LDAP Cache Min Cache Entries, LDAP Cache Max Cache Entries, LDAP Cache Min Attributes, LDAP Cache Max Attributes, LDAP Cache Min Values, LDAP Cache Max Values, LDAP Cache Table Size, LDAP Cache Update Strategy)
-
-
specify the name of the LDAP audit configuration subentry (LDAP Audit Configuration Subentry CN).
-
control the accessibility of LDAP extended operations:
-
specify the users and groups that can perform LDAP extended operations (LDAP Extended Operation Admins, LDAP Extended Operation Read Users, LDAP Extended Operations Execute Users, LDAP Extended Operations Monitoring Users, LDAP Extended Operation Admin Groups, LDAP Extended Operation Read Groups, LDAP Extended Operations Execute Groups, LDAP Extended Operations Monitoring Groups)
-
specify the LDAP extended read, execute and monitoring operations (LDAP Extended Read Operations, LDAP Extended Execute Operations, LDAP Extended Monitoring Operations)
-
The following sections provide information about these attributes.
LDAP Search Service Controls
The LDAP Search Service Controls attribute specifies the service controls that apply to the search operation. This attribute is an optional, single-valued attribute. Specify the value in the following format:
PreferChaining=Flag:ChainingProhibited=Flag:LocalScope=Flag:DontUseCopy=Flag:
DontDereferenceAlias=Flag:Subentries=Flag:CopyShallDo=Flag:Priority=Integer:
_TimeLimit=_Integer:SizeLimit=Integer:ScopeOfReferral=Integer:AttributeSizeLimit=Integer
where:
- PreferChaining=Flag
-
indicates whether chaining is preferred, rather than referrals. Specify T (true - indicates to prefer chaining) or F (false - indicates to prefer referrals). The default value is T (prefer chaining).
- ChainingProhibited=Flag
-
indicates whether chaining and other methods of distributing the request around the Directory are prohibited. Specify T (true - indicates to prohibit chaining) or F (false - indicates to permit chaining). The default value is F (permit chaining).
- LocalScope=Flag
-
indicates whether the operation is to be limited to a local scope as specified in the Local Scope Policy. (See Local Scope Policy attribute and Local Scope Policy Syntax for details.) Specify T (true - indicates limitation to a local scope) or F (false - indicates no limitation to a local scope). The default value is F (no limitation to a local scope).
- DontUseCopy=Flag
-
indicates whether copied (shadowed) information shall not be used to provide the service. Specify T (true - indicates not to use copies) or F (false - indicates to use copies). The default value is T (not to use copies) and F (to use copies) for LDAP Search and Compare Service Controls attributes.
- DontDereferenceAlias=Flag
-
indicates whether an alias entry used to identify the entry affected by an operation is not to be dereferenced. This is necessary to refer to an alias entry itself rather than the aliased entry. In modify operations, alias dereferencing is not supported. Specify F (false - indicates to dereference aliases) or T (true - indicates not to dereference aliases). The default value is F (dereference aliases).
- Subentries=Flag
-
indicates whether a search or list operation returns only subentries and normal entries become inaccessible. Specify T (true - indicates to return only subentries) or F (false - indicates to return only normal entries). The default value is F (return only normal entries).
- CopyShallDo=Flag
-
indicates, when an operation is able to partly but not fully satisfy a query at a copied (shadowed) information of an entry, whether it need not chain the query. This service control is meaningful only if DontUseCopy=F. Specify T (true - indicates to permit operations that do not fully satisfy a query with shadowed information) or F (false - indicates to prohibit operations that do not completely satisfy a query with shadowed information and to chain the query).
The default value is F (partial results using copied information are prohibited) except for LDAP Search and Compare Service Controls attributes. There the default value is T (partial results using copied information are permitted). - Priority=Integer
-
specifies the priority at which the service is to be provided. Specify one of the following values:
-
0 - indicates low priority.
-
1 - indicates medium priority.
-
2 - indicates high priority.
The default value is 1 (medium).
-
- TimeLimit=Integer
-
specifies the maximum elapsed time in seconds for completion of an operation. Specify a non-negative integer. A value of 0 (zero) indicates no time limit. The default value is 0.
- SizeLimit=Integer
-
specifies the maximum number of objects returned for a list or search operation. Specify a non-negative integer. A value of 0 (zero) indicates no size limit. The default value is 0.
- ScopeOfReferral=Integer
-
specifies the scope to which a referral returned by a DSA should be relevant. Specify one of the following values:
-
0 - indicates DMD (Directory Management Domain).
-
1 - indicates Country.
-
2 - indicates Unlimited.
The default value is 2 (no limitation).
-
- AttributeSizeLimit=Integer
-
specifies the maximum size (in octets) of any attribute (the type and all its values) to be returned. If an attribute exceeds this limit, all of its values are omitted. Specify a non-negative integer. A value of 0 (zero) indicates no size limit. The default value is 0.
LDAP Compare Service Controls
The LDAP Compare Service Controls attribute specifies the service controls that apply to the compare operation. This attribute is an optional, single-valued attribute. Specify the value in the same format as described for the LDAP Search Service Controls (see this section for details).
LDAP Add Service Controls
The LDAP Add Service Controls attribute specifies the service controls that apply to the create operation. This attribute is an optional, single-valued attribute. Specify the value in the same format as described for the LDAP Search Service Controls (see there for details).
LDAP Remove Service Controls
The LDAP Remove Service Controls attribute specifies the service controls that apply to the remove/delete operation. This attribute is an optional, single-valued attribute. Specify the value in the same format as described for the LDAP Search Service Controls (see this section for details).
LDAP Modify Service Controls
The LDAP Modify Service Controls attribute specifies the service controls that apply to the modify operation. This attribute is an optional, single-valued attribute. Specify the value in the same format as described for the LDAP Search Service Controls (see there for details).
LDAP ModifyDN Service Controls
The LDAP ModifyDN Service Controls attribute specifies the service controls that apply to the modify DN operation. This attribute is an optional, single-valued attribute. Specify the value in the same format as described for the LDAP Search Service Controls (see there for details).
LDAP Maximum Requested Attributes
The LDAP Maximum Requested Attributes attribute specifies the maximum number of requested attributes that a client is allowed to specify in an LDAP search request. This attribute is an optional, single-valued attribute.
Huge lists of requested attributes can significantly increase the request size, the audit record size and the processing time of an LDAP search operation. You can use this attribute to avoid these situations and to block malicious client applications. If a search request contains more than the specified maximum, the search is rejected with an administrative limit exceeded error code and a corresponding LDAP message.
If this attribute is not specified or has a value of 0, the default is to allow an unlimited number of requested attributes.
When specified in an LDAP search operation, the LDAP-defined abbreviations * (all user attributes) and + (all operational attributes) are treated as one requested attribute each.
LDAP Maximum Filter Items
The LDAP Maximum Filter Items attribute specifies the maximum number of filter Items that a client is allowed to specify in the filter of an LDAP search request. This attribute is an optional, single-valued attribute.
A huge number of filter items can significantly increase the request size, the audit record size and the processing time of an LDAP search operation. You can use this attribute to avoid these situations and to block malicious client applications. If a search request contains a filter expression with more than the specified number of filter items, the search is rejected with an administrative limit exceeded error code and a corresponding LDAP message.
If this attribute is not specified or has a value of 0, the default is to allow an unlimited number of filter items is.
LDAP Port Number
The LDAP Port Number attribute specifies the TCP port number on which the LDAP server is to listen. This attribute is an optional, single-valued attribute. The default value is 389.
LDAP Secure Port Number
The LDAP Secure Port Number attribute specifies the port number on which the LDAP server is to listen for Secure Socket Layer (SSL) secured LDAP protocol. A value of 0 indicates that SSL is disabled. To enable SSL, it is recommended to specify the value 636 because this is the standard port for SSL. This attribute is an optional, single-valued attribute. The default value is 0 (SSL is turned off).
When SSL is enabled, the LDAP server tries to read also the LDAP SSL configuration subentry. The distinguished name of the LDAP SSL configuration subentry is specified in the LDAP SSL Configuration Subentry attribute of the LDAP configuration subentry. (See also the sections LDAP SSL Configuration Subentry and Attributes for LDAP Server SSL Configuration.)
LDAP SSL Configuration Subentry CN
The LDAP SSL Configuration Subentry CN attribute specifies the common name attribute of the LDAP SSL configuration subentry. This attribute is an optional single-valued attribute. When this attribute is omitted the LDAP server reads the LDAP SSL configuration subentry with the default common name value LdapSSLConfiguration.
LDAP Start TLS Enabled
The LDAP Start TLS Enabled attribute specifies whether or not the LDAP extended operation startTLS is allowed. This operation allows a client to turn on the SSL/TLS security layer for an LDAP connection that was created as a normal (plain) LDAPv3 connection. See also the section DirX Directory Commands obj (dirxcp) in the DirX Directory Administration Reference.
A value of 1 means that the DirX Directory LDAP server accepts a startTLS extended operation. A value of 0 means that startTLS is disabled in the configuration.
Note that you are allowed to enable the startTLS operation even though the LDAP server does not provide secure access via the Secure LDAP Port (LDAPS); that is, the LDAP Start TLS Enabled attribute can be set to 1, while the LDAP Secure Port Number can be set to 0.
Note also that a client does not need to have the permission to run LDAP extended operations (via the LDAP Extended Operation Admins attribute) in order to perform the startTLS operation. If LDAP Start TLS Enabled is set to 1, all clients are allowed to perform the startTLS operation.
If the LDAP Start TLS Enabled attribute is set to 1, the LDAP server tries to read the LDAP SSL configuration subentry at startup. As a result, the appropriate SSL key material must be provided.
LDAP Max Connections
The LDAP Max Connections attribute specifies the maximum number of simultaneous LDAP connections that the LDAP server supports. This attribute is an optional, single-valued attribute. The default value is 4000.
System resources, the value of this attribute, and the behavior concerning LDAP backend sharing determine the maximum number of simultaneous connections that can be established. See the section titled LDAP Backend Sharing for details.) The value of this attribute also includes the number of connections established for anonymous binds. (See the section titled LDAP Anonym DAP Pool Size for details.)
The system file descriptor limit must be set accordingly (ulimit) to support the configured value. On Windows systems, a value of 4000 is appropriate if the IDM stack is used. (See the environment variable DIRX_OWN_PSAP in the DirX Directory Administration Reference for information on how to enable the IDM stack.) On Linux systems, a value of 4000 is appropriate if the IDM stack is used and the file system descriptor limit is set to 8192 (ulimit -n 8192).
LDAP Anonym DAP Pool Size
The LDAP Anonym DAP Pool Size attribute is provided to configure the number of simultaneous DAP connections that the LDAP server establishes to the DSA for anonymous binds. Additionally the LDAP server establishes one DAP connection for internal operations. This attribute is an optional, single-valued attribute. The default value is 5.
Increasing the value of this attribute may result in improving the performance for anonymous binds. However the maximum number of connections established for authenticated binds decreases. The maximum number of simultaneous connections that can be established is determined by system resources, by the maximum number of connections specified in the LDAP Max Connections attribute, and by the behavior concerning LDAP Backend Sharing.
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Connection Idle Time
The LDAP Connection Idle Time attribute specifies the number of seconds of client inactivity after which the LDAP server is to close an LDAP connection to an LDAP client. This attribute is an optional, single-valued attribute. The default value is 300 seconds.
LDAP Unbind Delay Time
By default, the LDAP server tries to share DAP backend connections among the same authenticated LDAP client connections; for example, two LDAP clients bound with the same credentials use the same DAP backend connection. The LDAP Unbind Delay Time attribute specifies whether authenticated DAP binds shall be kept for a certain time or shall be unbound immediately by the LDAP server if no references to a specific bind are present. This attribute is an optional, single-valued attribute. Specify one of the following values:
0 - close authenticated DAP connections immediately after the last LDAP client using that connection has unbound.
n>0 - keep authenticated DAP connections for at least n seconds after the last LDAP client using that connection has unbound.
The default value is 0.
The value of this attribute does not affect anonymous binds.
It is recommended to close all authenticated binds immediately at unbind time if password lockout policy (Password Lockout attribute of the password policy subentry) or password aging policy (Password Maximum Age attribute of the password policy subentry) is enabled, because existing binds are not closed automatically if accounts are locked out or passwords expire due to the password policy enabled. New performed binds using locked out accounts or expired passwords are accepted if an authenticated DAP connection using these credentials is already open. (See the section titled Attributes of the Password Policy Subentry for details.)
LDAP Backend Sharing
The LDAP Backend Sharing attribute type specifies whether
-
Clients with the same credentials share the same DAP connection and
-
Newly performed binds with existing credentials are accepted as long as at least one bind with these credentials exists. These binds are accepted even though the password has been modified and the client uses the old password.
or
-
Clients with the same credentials do not share the same DAP connection and
-
Newly performed binds are rejected if the client uses a password that has been changed while other clients are still bound with this password.
Note that binds exist until an unbind operation is performed or when there has been no operation performed for a specific time. (See the LDAP Connection Idle Time and the LDAP Unbind Delay Time attribute sections in this chapter for details.) Existing binds are not aborted when the password is modified.
Specify one of the following values:
TRUE - Newly performed binds using the old password are accepted as long at least one bind with the old password exists. Clients with identical credentials share the same connection.
FALSE - Newly performed binds using the old password are rejected. Each client uses its own connection. Note that this increases the use of system resources.
The default value is TRUE.
The value of this attribute does not affect anonymous binds.
It is recommended to disable backend sharing if the password lockout policy (Password Lockout attribute of the password policy subentry) or the password aging policy (Password Maximum Age attribute of the password policy subentry) are enabled because there is no automatic disabling of backend sharing if accounts are locked out or passwords expire due to the enabled password policy. New performed binds using locked-out accounts or expired passwords are accepted if an authenticated DAP connection using these credentials is already open. (See the section titled Attributes of the Password Policy Subentry for details.)
LDAP Maximum DAP Share Count
The single-valued LDAP Maximum DAP Share Count attribute type specifies how many LDAP users can share the same DAP connection when they authenticate with the same credentials if LDAP backend sharing is enabled. (See the LDAP Backend Sharing attribute section of this chapter for details.)
The default value is 5. Using more DAP connections can increase the throughput but also increases the resource usage for file descriptors.
The value of this attribute does not affect anonymous binds.
The values of this attribute are also stored in the LDAP MIB static table. (See the ldap mib operation described in the DirX Directory Commands chapter and the LDAP MIB Static Table section in the LDAP MIB Tables appendix in the DirX Directory Administration Reference for details.)
LDAP Allow IP List
The LDAP server grants access to clients by evaluating the LDAP Allow IP List attribute. If the IP address of the client matches a value in the LDAP Allow IP List attribute the LDAP server grants access to the client. If the client’s IP address also matches a value in LDAP Deny List attribute, the LDAP server denies access to the client. (A client’s IP address must match the allow list and must not match the deny list to get access.)
Specify the IP4 address values in the shortest dotted notation (no blanks or initial zeros allowed), for example 192.23.81.23 (and not 192.023.081.023 or 192. 23. 81. 23). Use the wildcard (*) character to specify subnets, for example 192.23.*.81 (all IP addresses from 192.23.0.81 through 192.23.255.81).
Use the value *.*.*.* or the keyword all to specify all possible IP addresses.
Use the value 0.0.0.0 or the keyword none to specify no IP address.
The default value is all.
The values of this attribute are also stored in the LDAP MIB static table. (See the ldap mib operation described in the DirX Directory Commands chapter and the LDAP MIB Static Table section in the LDAP MIB Tables appendix in the DirX Directory Administration Reference for details.)
See also section LDAP Deny IP List of this chapter.
Note that access is only granted to clients if both allow and deny list evaluation lead to a positive result for a given IP address. That is an IP address must be allowed and must not be denied to match the acceptance criteria.
LDAP Deny IP List
The LDAP server denies access to clients by evaluating the LDAP Deny IP List attribute. If the IP address of the client matches a value in the LDAP Deny IP List attribute the LDAP server denies access to the client.
Specify the IP4 address values in the shortest dotted notation, for example 192.23.81.23 (and not 192.023.081.023). Use the wildcard (*) character to specify subnets, for example 192.23.*.81 (that are all IP addresses from 192.23.0.81 through 192.23.255.81).
Use the value *.*.*.* or the keyword all to specify all possible IP addresses.
Use the value 0.0.0.0 or the keyword none to specify no IP address.
The default value is none.
The values of this attribute are also stored in the LDAP MIB static table. (See the ldap mib operation of the DirX Directory Commands chapter and the LDAP MIB Static Table section of the LDAP MIB Tables appendix in the DirX Directory Administration Reference for details.)
See also the section LDAP Allow IP List in this chapter.
Note that access is only granted to clients if both allow and deny list evaluation lead to a positive result for a given IP address; that is, an IP address must be allowed and must not be denied to match the acceptance criteria.
LDAP Allowed Users List
The LDAP server grants or denies access to clients by evaluating the multi-valued attributes LDAP Allowed Users List, LDAP Allowed Groups, LDAP Denied Users List and LDAP Denied Groups. If the DN of the client matches one of the values in the LDAP Allowed Users List attribute, the LDAP server grants access to the client. If the client’s DN also matches a value in the LDAP Denied Users List attribute, the LDAP server denies access to the client; that is, a user name must match the allow list and must not match the deny list to get access.
Specify the DN attribute values in LDAP format; for example, cn=Abele,ou=sales,o=my-company. (See the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds for details.)
If a client binds via SASL with the EXTERNAL mechanism, the DN is taken from the user’s certificate subject field independent from the mapping method defined by the attribute LDAP SASL Authz Id Mapping. Specify the user’s subject DN in LDAP format; for example, uid=12345,givenName=Max Mustermann,o=my-company.
Use the keyword all to specify that all distinguished names get access.
Use the keyword none to specify that no distinguished name gets access.
The default value is all.
A DN matches if one of the values of the Allowed Users List attribute is contained in the given DN; that is, if the string from the attribute is part of the given user name. Specify the complete distinguished name of the root node of a subtree if you want to grant access to all users below this subtree node; for example, if you want to grant access to all employees of the sales department of your company, specify the value ou=sales,o=my-company.
The value(s) of this attribute are treated and compared as LDAP DNs by eliminating unspecific blanks and normalizing to lowercase; for example:
CN = Abele, O=My-Company is normalized to cn=abele,o=my-company
The value(s) of this attribute are also stored in the LDAP MIB static table. (See the ldap mib operation described in the DirX Directory Commands chapter and the LDAP MIB Static Table section in the LDAP MIB Tables appendix in the DirX Directory Administration Reference for details.)
See also the sections LDAP Allowed Groups, LDAP Denied Users List and LDAP Denied Groups in this chapter.
Note that access is only granted to clients if both allow and deny list and groups evaluation lead to a positive result for a given DN; that is, a DN must be allowed and must not be denied to match the acceptance criteria.
Example (DAP)
{LAUSL=cn=admin,o=my-company;ou=sales,o=my-company}
The LDAP server grants access to the Administrator of My-Company (cn=admin,o=my-company) and to all employees of the Sales department (ou=sales,o=my-company).
LAUSL=all Access is granted to all users (default). LAUSL=none No user can access the LDAP server. Only anonymous access is possible.
LDAP Allowed Groups
The LDAP server grants or denies access to clients by evaluating the multi-valued attributes LDAP Allowed Users List, LDAP Allowed Groups, LDAP Denied Users List and LDAP Denied Groups. The LDAP Allowed Groups attribute specifies the DNs of groups with the object class groupOfNames. The group members are treated in the same way as the DNs listed in the attribute LDAP Allowed Users List.
Specify the attribute values for the group names in LDAP format; for example, cn=validUserGroup,o=my-company. (See the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds for details.)
If this attribute is not specified, no access restriction is applied to any user unless other access attributes are in effect.
The value(s) of this attribute are treated and compared as LDAP DNs by eliminating unspecific blanks and normalizing to lowercase; for example:
CN = Group1 , O=My-Company is normalized to cn=group1,o=my-company
The value(s) of this attribute are also stored in the LDAP MIB static table. (See the ldap mib operation described in the DirX Directory Commands chapter and the LDAP MIB Static Table section of the LDAP MIB Tables appendix in the DirX Directory Administration Reference for details.)
See also the sections LDAP Allowed Groups, LDAP Denied Users List and LDAP Denied Groups in this chapter.
Note that access is only granted to clients if both allow and deny list and groups evaluation lead to a positive result for a given DN; that is, a DN must be allowed and must not be denied to match the acceptance criteria.
LDAP Denied Users List
The LDAP server grants or denies access to clients by evaluating the multi-valued attributes LDAP Allowed Users List, LDAP Allowed Groups, LDAP Denied Users List and LDAP Denied Groups. If the DN of the client matches one of the values in the LDAP Denied Users List attribute, the LDAP server denies access to the client.
Specify the attribute values in LDAP format; for example, cn=Abele,ou=sales,o=my-company. (See the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds for details.)
If a client binds via SASL with the EXTERNAL mechanism, the DN is taken from the user’s certificate subject field independent of the mapping method defined by the attribute LDAP SASL Authz Id Mapping. Specify the user’s subject DN in LDAP format; for example, uid=12345,givenName=Max Mustermann,o=my-company.
Use the keyword all to specify that the LDAP server denies access to all distinguished names.
Use the keyword none to specify that the LDAP server does not deny access to any distinguished name.
The default value is none.
A DN matches if one of the values of the Denied Users List attribute is contained in the given DN; that is, if the string from the attribute is part of the given user name. Specify the complete distinguished name of the root node of a subtree if you want to deny access to all users below this subtree node; for example, if you want to deny access to all employees of the development department of your company, specify the value ou=development,o=my-company.
The value(s) of this attribute are treated and compared as LDAP DNs by eliminating unspecific blanks and normalizing to lowercase, for example:
CN = Abele, O=My-Company is normalized to cn=abele,o=my-company
The value(s) of this attribute are also stored in the LDAP MIB static table. (See the ldap mib operation described in the DirX Directory Commands chapter and the LDAP MIB Static Table section in the LDAP MIB Tables appendix in the DirX Directory Administration Reference for details.)
See also the sections LDAP Allowed Users List, LDAP Allowed Groups and LDAP Denied Groups in this chapter.
Note that access is only granted to clients if both allow and deny list and groups evaluation lead to a positive result for a given DN; that is, a DN must be allowed and must not be denied to match the acceptance criteria.
Example (DAP)
{LDUSL=cn\=richter\,ou\=sales\,o\=my-company}
The LDAP server denies access to Mr. Richter an employee of the Sales department (cn=Richter,ou=sales,o=my-company).
LDUSL=all No user can access the LDAP server. Only anonymous access is possible. LDUSL=none Access is granted to all users (default).
LDAP Denied Groups
The LDAP server grants or denies access to clients by evaluating the multi-valued attributes LDAP Allowed Users List, LDAP Allowed Groups, LDAP Denied Users List and LDAP Denied Groups. The LDAP Denied Groups attribute specifies the DNs of groups with the object class groupOfNames. The group members are treated in the same way as the DNs listed in the attribute LDAP Denied Users List.
Specify the attribute values for the group names in LDAP format; for example, cn=invalidUserGroup,o=my-company. (See the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds for details.)
If this attribute is not specified, no access restriction is applied to any user unless other access attributes are in effect.
The value(s) of this attribute are treated and compared as LDAP DNs by eliminating unspecific blanks and normalizing to lowercase; for example:
CN = Group1 , O=My-Company is normalized to cn=group1,o=my-company
The value(s) of this attribute are also stored in the LDAP MIB static table. (See the ldap mib operation described in the DirX Directory Commands chapter and the LDAP MIB Static Table section in the LDAP MIB Tables appendix in the DirX Directory Administration Reference for details.)
See also the sections LDAP Allowed Groups, LDAP Denied Users List and LDAP Denied Groups in this chapter.
Note that access is only granted to clients if both allow and deny list and groups evaluation lead to a positive result for a given DN; that is, a DN must be allowed and must not be denied to match the acceptance criteria.
LDAP Deny Anonymous Access
The LDAP Deny Anonymous Access attribute specifies whether or not anonymous LDAP client binds are allowed. Especially in security environments, it might be useful to allow only authorized user access to the database.
This feature should not be used if you work with standard LDAP clients. It should only be used when you know that your clients are able to handle it correctly.
Specify one of the following values:
-
TRUE - The LDAP server rejects anonymous LDAP client binds. LDAP clients can only perform simple authenticated or SASL-authenticated binds. Note that this is not LDAPv3 conformant. (See the dirxcp obj bind operation of the of the DirX Directory Commands chapter in the DirX Directory Administration Reference for details.)
-
FALSE - The LDAP server accepts anonymous LDAP client binds.
The default value is FALSE (anonymous users are allowed).
Note that this attribute controls only the LDAP server and not the DSA and is independent of any user policy settings in the database.
Keep in mind that if the LDAP Deny Anonymous Access attribute is set to TRUE and the LDAP Only Allow Anonymous Access attribute is set to 1, no LDAP client is able to bind to the LDAP server.
LDAP Only Allow Anonymous Access
The LDAP Only Allow Anonymous Access attribute specifies whether or not only anonymous LDAP client binds are allowed.
Specify one of the following values:
-
1 - The LDAP server accepts only anonymous LDAP client binds. It rejects all authenticated LDAP client binds with the error code LDAP_INAPPROPRIATE_AUTH (48). It does not establish an anonymous bind automatically as RFC 2251 (and newer) requires. (See the dirxcp obj bind operation of the of the DirX Directory Commands chapter in the DirX Directory Administration Reference for details.)
-
0 - The LDAP server accepts authenticated LDAP client binds.
The default value is 0.
Note that this attribute controls only the LDAP server and not the DSA and is independent of any user policy settings in the database.
Keep in mind that if the LDAP Only Allow Anonymous Access attribute is set to 1 and the LDAP Deny Anonymous Access attribute is set to TRUE, no LDAP client is able to bind to the LDAP server.
LDAP User Policies
The LDAP User Policies attribute specifies policies that apply to a single user or a set of users. This attribute is an optional, multi-valued attribute. Specify the values in the following format:
Class=dn:CONLIMIT=Integer:SIZELIMIT=Integer:TIMELIMIT=Integer:
FORB_SB=dn:FORB_SB_SUB=dn:FORB_TGT=dn:FORB_TGT_SUB=dn:
REQUIRED_SB=dn:REQUIRED_SB_SUB=dn:
REQUIRED_TGT=dn:REQUIRED_TGT_SUB=dn:
MIN_SB_LEVEL=Integer:TLS_REQUIRED=Flag:
PRIO=Integer:INHERIT=Flag:DISCLOSE_VIOLATION=Flag:
QUOTA_MAX_OPS=IntervalUnitLimit:
QUOTQ_MAX_RES_BYTES= IntervalUnitLimit:
MUST_CONTACT_DSA=DSAname:PREF_CONTACT_DSA=DSAname
where:
- Class=dn
-
specifies the user(s) for which the policies apply. Class is mandatory and must be the first assignment of the policies attribute. Specify one of the following keywords:
USER - specifies that the policies apply to a single user. dn specifies the full qualified user name in LDAP format; for example, USER=cn=admin,o=my-company. For details about distinguished names in LDAP format see the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds.
For binds with SASL EXTERNAL authentication, specify dn in LDAP format; for example, USER=uid=12345,givenName=Max Mustermann,o=my-company. For details about distinguished names in DAP format, see the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds. If a client binds via SASL with the EXTERNAL mechanism, the DN is taken from the user’s certificate subject field independent of the mapping method defined by the attribute LDAP SASL Authz Id Mapping.
Instead of specifying a full qualified distinguished name, specify one of the following keywords:
-
anonymous - specifies that the policies apply to all users bound anonymously to the LDAP server; that is, to all users that performed an anonymous bind, to all LDAP clients that did not perform a bind, or to users that performed a bind with an invalid credentials error code.
-
all - specifies that the policies apply to all users. If there are multiple policies, the user policies for all have the lowest priority. Anonymous users belong to all if there are no policies for anonymous.
The class USER cannot be overruled by policies of any other class. It is only allowed for the LDAP User Policies attribute.
SUBUSER - specifies that the policies apply to all users below a node in the DIT. dn specifies the full qualified name in LDAP format of the node in the DIT in LDAP format; for example, SUBUSER=ou=sales,o=my-company.
Policies of the class SUBUSER are not applied to users bound with SASL EXTERNAL authentication.
The class SUBUSER is only allowed for the LDAP User Policies attribute.
WCUSER - specifies that dn represents a regular expression syntax string according to Linux/Perl standards. A colon (:) is not allowed in dn; for example, WCUSER=^cn=Digger.*.
If multiple WCUSER class policies match the same user, the policies with the highest priority apply. (See PRIO for details.) If multiple policies match the same user with the same priority, the LDAP server randomly selects the policies.
The class WCUSER is only allowed for the LDAP User Policies attribute.
GROUP - specifies that the policies apply to a group of users. dn specifies the full qualified name in LDAP format of an entry with object class groupOfNames (GON); for example, GROUP=cn=my-group,o=my-company. If a user is member of several groups, the policies with the highest priority apply. (See PRIO for details.) If the priority is also the same, the LDAP server randomly selects the policies.
The class GROUP is only allowed for the LDAP Group Policies attribute.
-
- CONLIMIT=Integer
-
specifies the maximum number of concurrent LDAP connections a user can open. Specify a positive integer; for example, CONLIMIT=5. Only one CONLIMIT value can be specified.
- SIZELIMIT=Integer
-
specifies the maximum number of objects returned for a list or search operation. Specify a positive integer; for example, SIZELIMIT=100. Only one SIZELIMIT value can be specified.
This value overrides the value of the LDAP Search Service Controls attribute. However, it cannot increase the size limit configured for the DSA.
- TIMELIMIT=Integer
-
specifies the maximum elapsed time in seconds for completion of an operation. Specify a positive integer; for example, SIZELIMIT=10. Only one TIMELIMIT value can be specified.
This value overrides the value of the LDAP Search Service Controls attribute. However, it cannot increase the size limit configured for the DSA.
- FORB_SB=dn
-
specifies a base object that is not allowed in search requests. dn is the full qualified distinguished name of a leaf or a node in the DIT in LDAP format; for example, FORB_SB=ou=finance,o=my-company. For details about distinguished names in LDAP format, see the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds. Multiple FORB_SB assertions can be specified.
- FORB_SB_SUB=dn
-
specifies the distinguished name of the base of a subtree that is not allowed in search requests. dn is the full qualified distinguished name a node in the DIT in LDAP format; for example, FORB_SB_SUB=o=my-company. For details about distinguished names in LDAP format, see the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds. Multiple FORB_SB_SUB assertions can be specified.
- FORB_TGT=dn
-
specifies an entry that is not allowed in update operations. dn is the full qualified distinguished name of a leaf or a node in the DIT in LDAP format; for example, FORB_TGT=cn=smith,ou=finance,o=my-company. For details about distinguished names in LDAP format, see the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds. Multiple FORB_TGT assertions can be specified.
- FORB_TGT_SUB=dn
-
specifies the distinguished name of the base of a subtree that is not allowed in update operations. dn is the full qualified distinguished name a node in the DIT in LDAP format; for example, FORB_TGT_SUB=ou=finance,o=my-company. For details about distinguished names in LDAP format, see the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds. Multiple FORB_TGT_SUB assertions can be specified.
- REQUIRED_SB=dn
-
specifies a base object that is allowed in search requests. Subordinate dns are not included. dn is the full qualified distinguished name of a leaf or a node in the DIT in LDAP format; for example, REQUIRED_SB=ou=finance,o=my-company. For details about distinguished names in LDAP format, see the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds. Multiple REQUIRED_SB assertions can be specified.
- REQUIRED_SB_SUB=dn
-
specifies the distinguished name of the base of a subtree that is allowed in search requests. dn is the full qualified distinguished name a node in the DIT in LDAP format; for example, REQUIRED_SB_SUB=o=my-company. For details about distinguished names in LDAP format, see the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds. Multiple REQUIRED_SB_SUB assertions can be specified.
- REQUIRED_TGT=dn
-
specifies an entry that is allowed in update operations. dn is the full qualified distinguished name of a leaf or a node in the DIT in LDAP format; for example, REQUIRED_TGT=cn=smith,ou=finance,o=my-company. For details about distinguished names in LDAP format, see the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds. Multiple REQUIRED_TGT assertions can be specified.
- REQUIRED_TGT_SUB=dn
-
specifies the distinguished name of the base of a subtree that is allowed in update operations. dn is the full qualified distinguished name a node in the DIT in LDAP format; for example, REQUIRED_TGT_SUB=ou=finance,o=my-company. For details about distinguished names in LDAP format, see the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds. Multiple REQUIRED_TGT_SUB assertions can be specified.
- MIN_SB_LEVEL=Integer
-
specifies the minimum level starting at the root object at which a base object must exist for a search request. Specify a positive integer; for example, MIN_SB_LEVEL=3. Only one MIN_SB_LEVEL value can be specified.
- TLS_REQUIRED=Flag
-
indicates whether or not a bind over SSL/TLS is required. Specify 1 (true - indicates that a bind over SSL/TLS is required) or 0 (false - indicates that no bind over SSL/TLS is required). The default value is TLS_REQUIRED=0 (any bind is allowed). Only one TLS_REQUIRED flag can be specified.
- PRIO=Integer
-
specifies the priority of policies in the same class. Specify a positive integer. The highest priority is 0. The default priority is PRIO=1. The lower the priority value, the higher is the priority. Only one PRIO value can be specified.
If there are multiple policies for the same user, the policies with the highest priority (the lowest priority value) apply.
If there are multiple policies for the same user with the same priority, the first policies found apply. It is not predictable which policies are the first ones found. - INHERIT=Flag
-
indicates whether or not policies are inherited. Specify INHERIT=1 (true - indicates that policies are inherited) or INHERIT=0 (false - indicates that policies are not inherited). The default value is 0 (policies are not inherited). This flag can only be specified for the USER=all class policies. Only one INHERITED flag can be specified.
- DISCLOSE_VIOLATION=Flag
-
indicates whether or not detailed information about the specified limit is provided in the error message if the limit is exceeded. Specify DISCLOSE_VIOLATION=1 (true - indicates that detailed information is provided) or DISCLOSE_VIOLATION=0 (false - indicates that no detailed information is provided). The default value is 1 (detailed information is provided). This flag affects violations of CONLIMIT, QUOTA_MAXOPS and QUOTA_MAX_RES_BYTES. Only one DISCLOSE_VIOLATION flag can be specified.
- QUOTA_MAX_OPS=IntervalUnitLimit
-
specifies the maximum number of operations that a user is allowed to perform in the specified time interval. Specify QUOTA_MAX_OPS in the format IntervalUnitLimit
where
- Interval
-
is a positive integer.
- Unit
-
is one of the following characters:
-
s for seconds
-
m for minutes
-
h for hours
-
d for days
-
- Limit
-
is a positive integer specifying the maximum number of operations. The operations abandon and unbind do not increase the number of operations.
Only one QUOTA_MAX_OPS assertion can be specified.
Example:QUOTA_MAX_OPS=24h1000 - QUOTA_MAX_RES_BYTES=IntervalUnitLimit
-
specifies the maximum number of bytes that a user is allowed to receive from search operations in the specified time interval. Specify QUOTA_MAX_RES_BYTES in the format IntervalUnitLimit
where
- Interval
-
is a positive integer.
- Unit
-
is one of the following characters:
-
s for seconds
-
m for minutes
-
h for hours
-
d for days
-
- Limit
-
is a positive integer specifying the maximum number of bytes.
Only one QUOTA_MAX_RES_BYTES assertion can be specified.
Example:QUOTA_MAX_RES_BYTES=3600s1000000 - MUST_CONTACT_DSA=DSAname
-
specifies the DSA that must be contacted in a multiple contact DSA configuration. (See Using Multiple Contact DSAs in the DirX Directory Administration Guide for details.) DSAname is the name of the DSA as specified in the LDAP server configuration file; for example, MUST_CONTACT_DSA=/CN=DSA1. (See LDAP Server Configuration File in the DirX Directory Administration Reference for details.)
If the MUST_CONTACT_DSA is not available and no PREF_CONTACT_DSA is specified, the operation fails.
If the MUST_CONTACT_DSA is not available and a PREF_CONTACT_DSA is specified, the LDAP server continues with contacting the PREF_CONTACT_DSA.
If the PREF_CONTACT_DSA is also unavailable, the LDAP server starts a round-robin selection to contact a DSA.
Only one MUST_CONTACT_DSA can be specified.
- PREF_CONTACT_DSA=DSAname
-
specifies the DSA that is preferred to be contacted in a multiple contact DSA configuration. (See Using Multiple Contact DSAs in the DirX Directory Administration Guide for details.) DSAname is the name of the DSA as specified in the LDAP server configuration file; for example, PREF_CONTACT_DSA=/CN=DSA3. (See LDAP Server Configuration File in the DirX Directory Administration Reference for details.)
If the PREF_CONTACT_DSA is unavailable, the LDAP server starts a round-robin selection to contact a DSA.
Only one PREF_CONTACT_DSA can be specified.
The LDAP server reads the policies attributes at start-up. The policies attributes can be updated dynamically via LDAP extended operations (ldap_cfg_upd). (See Changing the LDAP Configuration in chapter Extending the DirX Directory Server in the DirX Directory Administration Guide for details.) When updating the policies attributes dynamically, the LDAP server keeps the old policies to avoid severe problems between old and new policies for a specific user. This operation can consume a lot of memory and performance. Consequently, we strongly recommended updating the policies only on demand and only if it is really necessary to avoid serious memory problems. If the LDAP server cannot update the policies attributes due to memory problems, the old policies remain in effect.
Use the CLASS property to specify the user or set of users to which the policy apply. CLASS is the only mandatory property. It must be specified as the first property of a policies value. All other properties are optional. They specify the rules that apply for the user(s) specified in CLASS.
Policies for a specific user can appear in several classes. The LDAP server follows the following strategy when evaluating user and group policies for a specific user:
-
Search for a USER rule with the user’s dn.
-
Search for a GROUP rule with the user’s dn as member of the group.
-
Search for a WCUSER rule whose regular expression matches the user’s dn.
-
Search for a SUBUSER rule that matches the parent of the user’s dn.
-
Search for a USER rule with all as dn.
-
If the LDAP server does not find a rule in steps 1 through 5, no rules apply to the user.
The LDAP server stops evaluating the user policies for a specific user when it finds a rule while performing steps 1 through 5. You can control the priority of rules by specifying the PRIO property for a rule.
If a user or group policy is exceeded, the LDAP server returns an unwilling to perform error together with detailed information about the exceeded policy. You can hide the detailed information about the exceeded policy by specifying the DISCLOSE_VIOLATION flag.
The LDAP audit log file provides an overview on the number of rules specified.
The LDAP server writes a log file in readable format every time it reads the policies attributes either at start-up or when updating the policies dynamically. The name of the log file is LUP_*pid_counter.txt*, where pid is the PID of the LDAP server process and counter is an integer starting with 1. The counter is incremented by 1 each time the LDAP server reads the policies attributes and writes the log file. The log file is located at install_path*/ldap/log*. The format of the file is identical to the output of the LDAP extended operation ldap_show_policy_rules.
Example (DAP)
LUSP=SUBUSER\=ou\=Development\,o\=My-Company:CONNLIMIT\=10:PRIO\=1:SIZELIMIT\=1555:QUOTA_MAX_OPS\=2s10:TLS_REQUIRED\=1:DISCLOSE_VIOLATION\=1:FORB_SB\=ou\=Development\,o\=My-Company;USER\=anonymous:CONNLIMIT\=5:SIZELIMIT\=2000:QUOTA_MAX_OPS\=5m100:TLS_REQUIRED\=0:DISCLOSE_VIOLATION\=0:FORB_TGT\=cn\=admin\o\=My-Company;USER\=cn\=emil\,ou\=CertTest\,o\=My-Company:PRIO\=1:SIZELIMIT\=10:TIMELIMIT\=1:TLS_REQUIRED\=1:DISCLOSE_VIOLATION\=0
Example (LDAP)
ldapUserPolicies=SUBUSER=ou=Development,o=My-Company:CONNLIMIT=10:SIZELIMIT=100000:QUOTA_MAX_RES_BYTES=30s100000:TLS_REQUIRED=0:DISCLOSE_VIOLATION=0:FORB_SB=ou=hb,o=My-Company;USER=anonymous:CONNLIMIT=5:SIZELIMIT=2000:QUOTA_MAX_OPS=5m100:TLS_REQUIRED=0:DISCLOSE_VIOLATION=0:FORB_TGT=cn=admin,o=My-Company;USER=cn=emil,ou=CertTest,o=My-Company:PRIO=1:SIZELIMIT=10:TIMELIMIT=1:TLS_REQUIRED=1:DISCLOSE_VIOLATION=0;WCUSER=*admin*:CONNLIMIT=100:PRIO=0:SIZELIMIT=1000000:TLS_REQUIRED=0:DISCLOSE_VIOLATION=0
LDAP Group Policies
The LDAP Group Policies attribute specifies policies that apply to a group of users. This attribute is an optional, multi-valued attribute. Specify the value in the same format as described for the LDAP User Policies (see that section for details).
The LDAP Group Policies attribute can only be specified for groups with a maximum of one million members. The LDAP server discards groups with more than one million members.
See LDAP User Policies for detailed information about processing the LDAP User Policies and LDAP Group policies attributes.
LDAP Listen IP List
The LDAP Listen IP List attribute specifies exactly one IP address over which clients can bind to the LDAP server.
By default, the LDAP server establishes its ports (plain and SSL) for any available IP address of the host; that is, clients can bind to the LDAP server over all available IP addresses. An administrator, however, may want to restrict remote binds to only one IP address, for example, due to security issues.
Specify the IP4 address value in the shortest dotted notation, for example 192.23.81.23 (and not 192.023.081.023).
Use the keyword all to specify all possible IP addresses. This is the default.
If an invalid IP address is specified, the LDAP server does not start.
If the local loop back address 127.0.0.1 is specified, only local clients can access the LDAP server. This may be useful for administrative tasks.
The value of the LDAP Listen IP List attribute has no effect on RPC or the OSI/IDM connections of the LDAP server to the DSA. These ports are bound to all available IP addresses.
LDAP ASN1 Header
The LDAP ASN1 Header attribute specifies whether X.509 attributes are returned in binary ASN1 encoding (value: FALSE) or in “{ASN}<hexdump of asn1 encoding>” format (value: TRUE).This format applies only to LDAP v2 accesses.This attribute is an optional, single-valued attribute.The default value is FALSE (X.509 attributes are returned as binary in LDAP v2 results).
LDAP Charset Conv Request
The LDAP Charset Conv Request attribute specifies the representation of string attributes that the LDAP server expects for string values in LDAP requests. This format applies only to LDAPv2 directory access operations. This attribute is an optional, single-valued attribute. In LDAPv3, strings are always represented in UTF-8 format. Specify one of the following values:
-
LATIN1 - all strings are represented as specified in ISO8859-1.
-
UTF8 - all strings are represented in UTF-8 format.
-
T61 - all strings are represented in T61 format.
The default value is UTF8.
LDAP Charset Conv Result
The LDAP Charset Conv Result attribute specifies the conversion of string attributes that the LDAP server performs for LDAP search results. This format applies only to LDAPv2 directory access operations. This attribute is an optional, single-valued attribute. In LDAPv3, strings are always represented in UTF-8 format. Specify one of the following values:
-
LATIN1 - all strings are converted as specified in ISO8859-1.
-
UTF8 - all strings are converted in UTF-8 format.
-
T61 - all strings are converted in T61 format.
The default value is UTF8.
The following table shows the impact of this attribute value on the representation of string values in the LDAP v2 protocol.
| Attribute value syntax in DIR.X DSA |
Value of LDAP Charset Conv Result |
String representation in LDAPv2 |
|---|---|---|
Printable String |
T61 String |
Printable String |
T61 String |
T61 String |
T61 String |
BMP String |
T61 String |
T61 String |
Printable String |
LATIN1 |
Printable String |
T61 String |
LATIN1 |
ISO8859-1 |
BMP String |
LATIN1 |
ISO8859-1 |
Printable String |
UTF8 |
Printable String |
T61 String |
UTF8 |
UTF8 |
BMP String |
UTF8 |
UTF8 |
LDAP Read Only Server
The LDAP Read Only Server attribute specifies whether the LDAP server allows update operations (add, delete, modify and moddn) (value: FALSE) or not (value: TRUE). When this attribute is set to the value TRUE, update operations are rejected with the error Administrative Limit Exceeded. The default value is FALSE (update operations permitted).
LDAP Thread Pool Size
The LDAP Thread Pool Size attribute specifies the maximum number of operation threads available to operate LDAP client requests in parallel. This pool size is static and cannot be modified without restarting the server.
The value of this attribute does not limit the possible simultaneous connections or the possible simultaneous operations, but it can affect the LDAP server performance and should therefore be chosen with care. The value to be used depends on the available system resources and the expected search profiles (big results or small results, LDAP cache on/off). Especially if the LDAP cache is enabled and provides a good hit rate, it might be possible to decrease the value. If the LDAP cache is disabled or most operations stress the backend with long-duration operations, the value can be increased to improve performance. If all pool threads are busy, further operations will be queued for processing.
If the value is set too high for your system, permanent re-scheduling of threads can occur, thereby lowering LDAP performance.
The default value of this attribute is 32.
LDAP Socket Keep Alive
The LDAP Socket Keep Alive attribute specifies whether the TCP keep-alive feature is enabled for all LDAP server connections (value 1) or not (value 0). The default value of this attribute is that the feature is enabled (1).
If the TCP keep-alive feature is enabled, the LDAP server requests TCP to verify whether an idle connection is still intact by sending keep-alive packets. In the event that a connection is no longer intact (for example, the LAN cable is no longer connected) or a remote client has not properly closed the connection, TCP aborts this connection.
The system administrator must set the timings and intervals for this mechanism to reasonable values. (See the section Enabling KEEPALIVE Time/Interval in the Environment Variables chapter in the DirX Directory Administration Reference for details.)
LDAP Asynchronous Sockets
The LDAP Asynchronous Sockets attribute specifies whether the LDAP server performs non-blocking socket interface operations (value 1) or not (value 0). The default value is 1 (perform non-blocking operations).
When an LDAP client establishes a new connection, the LDAP server performs a socket interface accept operation that creates a new socket representing the TCP connection to the client. When the client and the server exchange data, the LDAP server performs send and receive operations. Usually the sockets are created in blocking mode; that is, all operations exchanging data block the connection until all data is processed (all data is copied to the TCP transport buffers). If, for example, a client stops collecting or sending data before the end of data has been reached, the socket is blocked forever. To avoid such a deadlock, the LDAP server should use non-blocking sockets.
Using non-blocking sockets may be a bit slower than using blocking sockets because a single blocking send / receive operation may result in multiple send / receive operations.
LDAP Max Send Timeout
The Max Send Timeout attribute specifies the maximum timeout value in seconds after which the LDAP server closes a non-responding connection and stops sending data. This attribute affects only non-blocking sockets. (See the LDAP Asynchronous Sockets attribute above for details.) The default value is 30 seconds.
In the event that there is no idle socket to send data, the non-blocking socket send operation returns an error indicating that the data cannot be sent. The LDAP server sets the time limit specified in the LDAP Max Send Timeout attribute for completing the intended send operation. If the time has elapsed and the data has not been sent, the LDAP server closes the connection without any further I/O. It writes an exception log indicating the timeout.
Usually the LDAP server sends PDUs in a single operation. However, for search results, it may perform several send operations. The LDAP server evaluates the timeout value for each operation. In the event of a timeout, the LDAP server aborts the current operation and all possible subsequent traffic for the given connection. Then the LDAP server closes the connection.
LDAP Max Recv Timeout
The Max Recv Timeout attribute specifies the maximum timeout value in seconds after which the LDAP server closes a non-responding connection and stops receiving data. This attribute affects only non-blocking sockets. (See the LDAP Asynchronous Sockets attribute above for details.) The default value is 30 seconds.
In the event that there is no idle socket to receive data, the non-blocking socket receive operation returns an error indicating that the data cannot be received. The LDAP server sets the time limit specified in the LDAP Max Recv Timeout attribute for completing the intended receive operation. If the time has elapsed and the data has not been received, the LDAP server closes the connection without any further I/O. It writes an exception log indicating the timeout.
Usually the LDAP server receives PDUs in a single operation. However, for search results, it may perform several receive operations. The LDAP server evaluates the timeout value for each operation. In the event of a timeout, the LDAP server aborts the current operation and all possible subsequent traffic for the given connection. Then the LDAP server closes the connection.
LDAP Max Incomplete Operations Per Connection
The LDAP Max Incomplete Operations Per Connection attribute specifies the maximum number of incomplete operations per connection. By default, a client can send several requests without collecting the results. Such operations remain incomplete and increase the system load on the server side. Thus a single client may consume the entire system resources. To avoid such situations, it is possible to limit the number of incomplete operations per connection by specifying a value greater than 1 for this attribute.
If a client exceeds the maximum number of incomplete operations, the LDAP server rejects all new incoming requests from that client until the client finishes incomplete operations and the number of incomplete operations is lower than the specified limit.
A value greater than 0 limits the number of incomplete operations to this value.
A value of 1 enforces a synchronous client behavior; that is, the client must collect all results of an operation before it can send the next request.
A value of 0 disables this feature and specifies an unlimited number of incomplete operations; that is, the only limits are the system resources. This is the default value.
It is recommended to enable this feature only if there are problems with the default behavior.
LDAP OpStack Size Limit
The LDAP OpStack Size Limit attribute specifies the maximum number of operations that are accepted by the LDAP server. Whenever the listener thread of the LDAP server detects an activity on an existing connection, it creates a new operation and puts it onto an internal operation stack (OpStack) for subsequent processing by one of the pool threads. Usually there should be always a thread available to process the operation immediately. However, during system overload, all pool threads are busy, for example, due to long-lasting operations. In this case, the internal operation stack grows until the system resources are exhausted. To avoid exhausting system resources and long-lasting operations due to waiting time in the internal operation stack, it is recommended to limit the internal operation stack size.
The default value is 320; this is the tenfold default thread pool size. (See the LDAP Thread Pool Size attribute above for details.) A value of 0 is an unlimited number.
If the limit is exceeded, specific overflow threads process all incoming operations immediately by returning a busy error code (51). (See the LDAP Overflow Threads attribute description for details.)
LDAP Overflow Threads
The LDAP Overflow Threads attribute specifies the number of threads handling requests if the internal operation stack limit is exceeded. (See the LDAP OpStack Size Limit attribute above for details.) An overflow thread just returns the busy error code (51). This attribute has an effect only if the LDAP OpStack Size Limit attribute is greater than 0. In this case, there must be at least one overflow thread.
The default value is 1. The maximum value is the maximum number of pool threads. (See the LDAP Thread Pool Size attribute description for details.) The number of overflow threads decreases the maximum number of operation threads (LDAP Thread Pool Size).
LDAP Cache
The LDAP Cache attribute specifies whether the LDAP cache for LDAP search results is enabled. This mechanism can provide a dramatic performance increase if repeated LDAP search requests appear frequently, for the cost of extra memory.
If the value is TRUE, the LDAP cache is enabled; that is, an LDAP search result is retrieved in the LDAP cache first. An LDAP result is retrieved successfully in the LDAP cache when the very same user sends the identical search request several times.
LDAP search results are not stored in the LDAP cache when the following conditions apply:
-
The result has already been stored in the cache.
-
The request of a result contains controls (LDAP v3 only).
-
The result was assembled via DSA chaining. You can enforce caching of results of chained searches by specifying the value 1 for the environment variable DIRX_LDAP_IGNORE_CACHABLE_FLAG.
-
The request of a result contains as a requested attribute at least one of the attribute types that are configured in the environment variable DIRX_LDAP_CACHE_BANNED_REQ_ATTR.
-
The request of a result has a base object whose DN matches one of the DNs configured in the environment variable DIRX_LDAP_CACHE_BANNED_BASE_OBJ.
-
The request of a result was performed by a user whose DN is not configured in the environment variable DIRX_LDAP_CACHE_ALLOWED_USER.
If the value is FALSE, the LDAP cache is disabled; that is, all LDAP search results are retrieved in the DSA database.
The default value of this attribute is FALSE (LDAP cache disabled).
Modifications to this attribute become effective only after a restart of the LDAP server.
To enable or disable the LDAP cache dynamically, use the dirxadm ldap cache –start or –stop operations. (See the ldap cache section in the dirxadm command description in the DirX Directory Administration Reference for details on a set of operations for dynamic administration of the LDAP cache.)
LDAP Cache Max Cached Elements
The LDAP Cache Max Cached Elements optional, single-valued attribute is provided to configure the maximum number of LDAP search results that are stored in the LDAP server’s cache. An LDAP search result consists always of one or more LDAP result messages. Each result message describes one resulting entry. The last result message contains the result code of the search. If the search results in no entry, the LDAP search result consists only of the last result message containing the result code.
The value selected for this attribute depends on the value of the LDAP Cache Table Size attribute and the system memory available. Each cached result requires at least 1 KB. This size is for a result that contains just the return code and no entries. The cached size of typical results that contain not only the result code but also entries depends on the size of the retrieved attribute sizes. The default value is 10000 (that is if the LDAP cache is filled it consumes at least 10 MB of memory).
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Cache Maximum Memory Size
The LDAP Cache Maximum Memory Size optional, single-valued attribute is provided to configure the maximum memory size in MB used for the LDAP result cache.
The default value is 0 that is the memory size is unlimited. If the value is greater than 0, the LDAP server stores a result in the cache if there is enough memory space left. If the memory size specified would be exceeded after storing, the result it is not cached.
Keep in mind that the LDAP Cache Max Cached Elements attribute also limits the storing of results. If either limit is exceeded, the LDAP server does not store further results.
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Cache Min Cache Time
The LDAP Cache Min Cache Time optional, single-valued attribute is provided to configure the minimum number of seconds that an LDAP search result is stored in the LDAP cache. A cached result is not removed from the cache until this amount of time has elapsed. The default value is 0.
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Cache Max Cache Time
The LDAP Cache Max Cache Time attribute optional, single-valued is provided to configure the maximum number of seconds that an LDAP search result is stored in the LDAP cache. The default value is 43200 (12 hours).
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Cache Min Cache Entries
The LDAP Cache Min Cache Entries optional, single-valued attribute is provided to configure the minimum number of entries that an LDAP search result must have to be stored in the LDAP cache. The default value is 0. (That is that even empty results – results that only contain the result code - are cached.)
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Cache Max Cache Entries
The LDAP Cache Max Cache Entries optional, single-valued attribute is provided to configure the maximum number of entries that an LDAP search result can have to be stored in the LDAP cache. The default value is 2000 (an LDAP search result is not stored in the cache if it consists of more than 2,000 entries). By default, the DirX Directory DSA is limited to returning only the first 2,000 entries of a search request.
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Cache Min Attributes
The LDAP Cache Min Attributes optional, single-valued attribute is provided to configure the minimum number of attributes that an LDAP search result must have to be stored in the LDAP cache. Note that this attribute specifies the minimum number of attributes for the whole result and not for a single entry of the result. The default value is 0.
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Cache Max Attributes
The LDAP Cache Max Attributes optional, single-valued attribute is provided to configure the maximum number of attributes that an LDAP search result can have to be stored in the LDAP cache. Note that this attribute specifies the maximum number of attributes for the whole result and not for a single entry of the result. The default value is 2000. (That is an LDAP search result is not stored in the cache if it contains more than 2,000 attributes.)
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Cache Min Values
The LDAP Cache Min Values optional, single-valued attribute is provided to configure the minimum number of attribute values that an LDAP search result must have to be stored in the LDAP cache. Note that this attribute specifies the minimum number of attribute values for the whole result and not for a single entry of the result. The default value is 0.
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Cache Max Values
The LDAP Cache Max Values optional, single-valued attribute is provided to configure the maximum number of attribute values that an LDAP search result can have to be stored in the LDAP cache. Note that this attribute specifies the maximum number of attribute values for the whole result and not for a single entry of the result. The default value is 2000 (an LDAP search result is not stored in the cache if it contains more than 2,000 attribute values).
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Cache Table Size
The LDAP Cache Table Size optional, single-valued attribute is provided to configure the size of the internal cash table. For best performance, the value of this component should be at least (max_cached_elements / 3). It must be at least 128. The default value is 4096.
DirX Directory prohibits increasing the table size beyond 65535. The number of cached results is not limited (only by memory), but cache performance will decrease if too many results are stored in a small table.
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Cache Update Strategy
The LDAP Cache Update Strategy optional, single-valued attribute is provided to configure the update strategy of the LDAP cache. Specify one of the following values:
-
0 - (Full erase strategy). After the database has been modified by an update operation, all LDAP search results are removed from the LDAP cache. This strategy should only be applied if there are only a small number of modifications.
-
1 - (DN strategy). After the database has been modified by an update operation, all LDAP search results that may contain the distinguished name of the modified object are removed from the LDAP cache.
-
2 - (Attribute strategy). After the database has been modified by an update operation, all LDAP search results that may contain the modified attribute are removed from the LDAP cache.
-
3 - (DN + attribute strategy.) After the database has been modified by an update operation, all LDAP search results that may contain the distinguished name of the modified object or may contain the modified attribute are removed from the LDAP cache.
The default value is 3.
Modifications to this attribute become effective only after a restart of the LDAP server.
LDAP Audit Configuration Subentry CN
The LDAP Audit Configuration Subentry CN attribute specifies the common name attribute of the LDAP Audit configuration subentry. This attribute is an optional single-valued attribute. When this attribute is omitted, the LDAP server reads the LDAP audit configuration subentry with the default common name value ldapAudit.
Attributes Controlling LDAP Extended Operations
DirX Directory provides a set of attributes for controlling LDAP extended operations. These attributes specify groups of users that are allowed to perform specific extended operations and groups of operations. The following attributes grant specific rights to perform a specific set of LDAP extended operations:
-
LDAP Extended Operations Admins - allows users listed in this attribute to perform all LDAP extended operations.
-
LDAP Extended Operations Admin Groups - allows users who are members of the group(s) listed in this attribute to perform all LDAP extended operations.
-
LDAP Extended Operations Read Users - allows users listed in this attribute to perform all LDAP extended read operations.
-
LDAP Extended Operations Read Groups - allows users who are members of the group(s) listed in this attribute to perform all LDAP extended read operations.
-
LDAP Extended Operations Execute Users - allows users listed in this attribute to perform all LDAP extended execute operations.
-
LDAP Extended Operations Execute Groups - allows users who are members of the group(s) listed in this attribute to perform all LDAP extended execute operations.
-
LDAP Extended Operations Monitoring Users - allows users listed in this attribute to perform all LDAP extended monitoring operations.
-
LDAP Extended Operations Monitoring Groups - allows users who are members of the group(s) listed in this attribute to perform all LDAP extended monitoring operations.
At startup, the LDAP server reads the groups attributes LDAP Extended Operations Admin Groups, LDAP Extended Operations Read Groups, LDAP Extended Operations Execute Groups and LDAP Extended Operations Monitoring Groups and evaluates their members. Changes made to these groups attributes while the LDAP server is running can be dynamically activated with the LDAP extended operation ldap_cfg_upd. See the ldap_cfg_upd reference description in DirX Directory LDAP Extended Operations.
The number of members in a group affects the LDAP server’s startup time. Specifying very large groups - more than 1,000 members - may result in a long wait time before the LDAP server becomes responsive after startup.
The following attributes group the LDAP extended operations:
-
LDAP Extended Read Operations - specifies all operations that retrieve data and require read access rights.
-
LDAP Extended Execute Operations - specifies all operations that execute or change data and require execute access rights.
-
LDAP Extended Monitoring Operations - specifies all operations that are used for special Nagios monitoring and require monitoring access rights.
There are default LDAP extended read, execute and monitoring operations. These default operations specify the default values for the attributes grouping the LDAP extended operations. If an LDAP extended operation is not contained in any attribute, the default grouping applies. An LDAP extended operation can only be contained in one grouping attribute. The following LDAP extended operations do not belong to any group and no specific access rights are required to perform them. It is recommended not to add them to a group attribute because they are used for internal operations:
-
startTLS (dirxcp startTLS) - enables SSL/TLS security for a LDAP connection; that is, the LDAP server performs extended operations. Note that the LDAP Start TLS Enabled (LSTEN, ldapStartTLSenabled) attribute must be set to 1 to perform this operation.
-
ldap_extop_info - displays a list of all supported extended operations.
-
ldap_cfg_defaults - displays the default values for the LDAP server configuration.
-
ldap_ssl_ciphernames - displays the LDAP SSL cipher names.
-
ldap_show_config_dsas - displays the contact DSAs configured for an LDAP server.
See the dirxextop command reference page in the DirX Directory Administration Reference for a list of extended operations provided by DirX Directory and how to perform them.
The following sections describe the attributes that control the LDAP extended operations.
LDAP Extended Operations Admins
The LDAP Extended Operations Admins attribute controls the accessibility of extended operations. This attribute is an optional, multi-valued attribute. The default is that performing extended operations is prohibited; that is, the LDAP server only performs the extended operations that require no access rights (see the list in the section Attributes Controlling LDAP Extended Operations above) or that users are allowed to perform due to the values specified in the LDAP Extended Operations Read, Execute, or Monitoring attributes.
The users listed in this attribute are allowed to execute all LDAP extended operations.
Specify the DN attribute values in LDAP format; for example, cn=admin,o=my-company. (See the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds for details.) Specify complete distinguished names of users that can perform an LDAP bind.
If a client binds via SASL with the EXTERNAL mechanism, the DN is taken from the user’s certificate subject field. independent of the mapping method defined by the attribute LDAP SASL Authz Id Mapping. Specify the user’s subject DN in LDAP format; for example, uid=12345,givenName=Max Mustermann,o=my-company. (See the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds.)
The LDAP server performs the extended operation if the client’s DN in the bind operation or the user’s certificate subject field matches one of the attribute values.
The value(s) of the attribute are treated and compared as LDAP DNs by eliminating unspecific blanks and normalizing to lowercase, for example:
CN = Admin, O=My-Company is normalized to cn=admin,o=my-company
The keyword all specifies that everyone can perform extended operations and the keyword none specifies that no one can perform extended operations.
Example (DAP)
{LEXOA=cn++\++=admin++\++,o++\++=my-company;cn++\++=metaadm++\++,o++\++=my-company}
The LDAP server performs extended operations only if one of the two My-Company administrators (cn=admin,o= my-company or cn=metaadm,o=my-company) is bound.
LDAP Extended Operations Admin Groups
The LDAP Extended Operations Admin Groups attribute allows you to control the accessibility of extended operations by specifying groups. This attribute is an optional, multi-valued attribute. The groups must have the object class groupOfNames.
The members of the groups specified in this attribute are allowed to execute all LDAP extended operations.
The default is that performing extended operations is prohibited; that is, the LDAP server only performs the extended operations that require no access rights (see the list in the section Attributes Controlling LDAP Extended Operations above) or that users are allowed to perform due to the values specified in the LDAP Extended Operations Read, Execute or Monitoring attributes.
Specify the DN attribute values in LDAP format; for example, cn=admin,o=my-company. (See the section Distinguished Names in the chapter DirX Directory String Representation for LDAP Binds for details.) Specify complete distinguished names of groups that contain members that can perform an LDAP bind.
If a client binds via SASL with the EXTERNAL mechanism, the DN is taken from the user’s certificate subject field independent of the mapping method defined by the attribute LDAP SASL Authz Id Mapping. There is no difference between simple- and SASL-bound users when the privilege is granted due to the group membership.
The LDAP server performs the extended operation if the client’s DN in the bind operation matches a member name in one of the specified group attribute values.
The value(s) of the attribute are treated and compared as LDAP DNs by eliminating unspecific blanks and normalizing to lowercase, for example:
CN = Admin, O=My-Company is normalized to cn=admin,o=my-company
Example (DAP)
{LEXOAG=cn\=adminGroup\,o\=my-company;cn\=metaadmGroup\,o\=my-company}
The LDAP server performs extended operations only for those users that are members of one of the two listed My-Company administrator groups: cn=adminGroup,o=my-company or cn=metaadmGroup,o=my-company.
LDAP Extended Operations Read Users
The LDAP Extended Operations Read Users attribute controls the accessibility of LDAP extended read operations. This attribute is an optional, multi-valued attribute. The LDAP Extended Read Operations attribute specifies all LDAP extended read operations.
The default is that no user is allowed to perform LDAP extended read operations.
Specify the DN attribute values as described in the section LDAP Extended Operations Admins.
Example (DAP)
{LEXORU=cn\=admin\,o\=my-company;cn\=metaadm\,o\=my-company}
The LDAP server performs LDAP extended read operations only if one of the two My-Company administrators (cn=admin,o= my-company or cn=metaadm,o=my-company) is bound.
LDAP Extended Operations Read Groups
The LDAP Extended Operations Read Groups attribute controls the accessibility of LDAP extended read operations by specifying groups. The groups must have the object class groupOfNames.
Members of the groups specified in this attribute are allowed to execute the LDAP extended operations that require read privilege.
All members of the specified groups have the same permissions as the users listed explicitly with their entry DNs in the LDAP Extended Operations Read Users attribute.
This attribute is an optional, multi-valued attribute.
The LDAP Extended Operations Read Groups attribute specifies all LDAP extended read operations.
The default is that no group is allowed to perform LDAP extended read operations.
Specify the DN attribute values as described in the section LDAP Extended Operations Admin Groups.
Example (DAP)
{LEXORG=cn\=readUserGroup\,o\=my-company;}
The LDAP server performs LDAP extended read operations only if the bound user is a member of the specified group cn=ReadUserGroup,o=my-company.
LDAP Extended Operations Execute Users
The LDAP Extended Operations Execute Users attribute controls the accessibility of LDAP extended execute operations. This attribute is an optional, multi-valued attribute. The LDAP Extended Execute Operations attribute specifies all LDAP extended execute operations.
The default is that no user is allowed to perform LDAP extended execute operations.
Specify the DN attribute values as described in section LDAP Extended Operations Admins.
Example (DAP)
{LEXOEU=cn\=admin\,o\=my-company;cn\=metaadm\,o\=my-company}
The LDAP server performs LDAP extended execute operations only if one of the two My-Company administrators (cn=admin,o= my-company or cn=metaadm,o=my-company) is bound.
LDAP Extended Operations Execute Groups
The LDAP Extended Operations Execute Groups attribute controls the accessibility of LDAP extended execute operations by specifying groups. The groups must have the object class groupOfNames.
Members of the groups specified in this attribute are allowed to execute the LDAP extended operations that require execute privilege.
All members of the specified groups have the same permissions as the users listed explicitly with their entry DNs in the LDAP Extended Operations Execute Users attribute.
This attribute is an optional, multi-valued attribute.
The LDAP Extended Operations Execute Groups attribute specifies all LDAP extended execute operations.
The default is that no group is allowed to perform LDAP extended execute operations.
Specify the DN attribute values as described in the section LDAP Extended Operations Admin Groups.
Example (DAP)
{LEXOEG=cn\=Group4711\,o\=my-company
The LDAP server performs LDAP extended read operations only if the bound user is a member of the specified group cn=Group4711,o= my-company.
LDAP Extended Operations Monitoring Users
The LDAP Extended Operations Execute Users attribute controls the accessibility of LDAP extended monitoring operations. This attribute is an optional, multi-valued attribute. The LDAP Extended Monitoring Operations attribute specifies all LDAP extended monitoring operations.
The default is that no user is allowed to perform LDAP extended monitoring operations.
Specify the DN attribute values as described in section LDAP Extended Operations Admins.
Example (DAP)
{LEXOMU=cn\=admin\,o\=my-company;cn\=metaadm\,o\=my-company}
The LDAP server performs LDAP extended execute operations only if one of the two My-Company administrators (cn=admin,o= my-company or cn=metaadm,o=my-company) is bound.
LDAP Extended Operations Monitoring Groups
The LDAP Extended Operations Monitoring Groups attribute controls the accessibility of LDAP extended monitoring operations by specifying groups. The groups must have the object class groupOfNames.
Members of the groups specified in this attribute are allowed to execute the LDAP extended operations that require monitoring privilege.
All members of the specified groups have the same permissions as the users listed explicitly with their entry DNs in the LDAP Extended Operations Monitoring Users attribute.
This attribute is an optional, multi-valued attribute.
The LDAP Extended Operations Monitoring Groups attribute specifies all LDAP extended monitoring operations.
The default is that no group is allowed to perform LDAP extended monitoring operations.
Specify the DN attribute values as described in the section LDAP Extended Operations Admin Groups.
Example (DAP)
{LEXOMG=cn\=NagiosUserGroup\,o\=my-company}
The LDAP server performs LDAP extended read operations only if the bound user is a member of the specified group cn=NagiosUserGroup,o= my-company.
LDAP Extended Read Operations
The LDAP Extended Read Operations attribute specifies all LDAP extended read operations. This attribute is an optional, multi-valued attribute.
Specify the OID or the keyword of the LDAP extended operation. See the dirxextop reference page in the DirX Directory Administration Reference for a complete list of extended operations.
The default LDAP extended read operations are:
-
ldap_mib_static
-
ldap_mib_total
-
ldap_mib_current
-
ldap_mib_assoc
-
ldap_mib_env
-
ldap_cache_info
-
ldap_audit_info
-
ldap_host_ips
-
ldap_pstack
-
ldap_bt_dump
-
ldap_idm_dump
-
ldap_cache_dump
-
ldap_rusage
-
ldap_pfiles
-
ldap_top
-
ldap_status
-
ldap_pmap
-
ldap_ctxinfo
-
ldap_netstat
-
ldap_exceptions
-
ldap_op_history
-
ldap_show_op_priv
-
ldap_show_priv_users
-
ldap_show_cfg_audit
-
ldap_show_cfg_general
-
ldap_show_cfg_ssl
-
ldap_show_cfg_upd_attr
-
ldap_show_cfg_upd_attr_history
-
dsa_nmi_show
-
dsa_dbam_mib_show
-
dsa_entry_info_get
-
dsa_nmi_show_dap
-
dsa_nmi_show_dsp
-
dsa_nmi_show_disp
-
dsa_pstack
-
dsa_bt_dump
-
dsa_idm_dump
-
dsa_disp_flow_counter
-
dsa_rusage
-
dsa_pfiles
-
dsa_top
-
dsa_status
-
dsa_pmap
-
dsa_dbam_devinfo
-
dsa_iostat
-
dsa_ctxinfo
-
dsa_audit_info
-
dsa_dbam_config
-
dsa_netstat
-
dsa_exceptions
-
dsa_history_dap
-
dsa_history_dsp
-
dsa_history_disp
-
dsa_index_info
-
dsa_disp_monitor
Modify the attribute value by simply adding or deleting an LDAP extended operation.
To perform the LDAP extended read operations, the client’s DN must match either a value contained in the LDAP Extended Operations Admins attribute or a value in the LDAP Extended Operations Read Users attribute.
Example (DAP)
{LEXROP=ldap_dsa_getopmode;1.3.12.2.1107.1.3.2.13.33}
The LDAP extended read operations group contains all default LDAP extended read operations not contained in any other group attribute and the operations displaying the DSA operation mode (ldap_dsa_getopmode) and the status of a database backup (1.3.12.2.1107.1.3.2.13.33).
LDAP Extended Execute Operations
The LDAP Extended Execute Operations attribute specifies all LDAP extended execute operations. This attribute is an optional, multi-valued attribute.
Specify the OID or the keyword of the LDAP extended operation. See the dirxextop reference page in the DirX Directory Administration Reference for a complete list of extended operations.
The default LDAP extended execute operations are:
-
ldap_audit_start
-
ldap_audit_stop
-
ldap_cache_start
-
ldap_cache_stop
-
ldap_cache_clear
-
ldap_audit_evaluate
-
ldap_audit_err
-
ldap_disable_config_dsa
-
ldap_enable_config_dsa
-
ldap_cfg_upd
-
dsa_dbam_mib_enable
-
dsa_dbam_mib_disable
-
dsa_audit_evaluate
-
dsa_audit_enable
-
dsa_audit_disable
-
dsa_dbam_backup
-
dsa_dbam_aac
Modify the attribute value by simply adding or deleting an LDAP extended operation.
To perform the LDAP extended execute operations, the client’s DN must match either a value contained in the LDAP Extended Operations Admins attribute or a value in the LDAP Extended Operations Execute Users attribute.
Example (DAP)
{LEXEOP=ldap_dsa_getopmode;1.3.12.2.1107.1.3.2.13.33}
The LDAP extended execute operations group contains all default LDAP extended execute operations not contained in any other group attribute and the operations displaying the DSA operation mode (ldap_dsa_getopmode) and the status of a database backup (1.3.12.2.1107.1.3.2.13.33).
LDAP Extended Monitoring Operations
The LDAP Extended Monitoring Operations attribute specifies all LDAP extended monitoring operations. This attribute is an optional, multi-valued attribute.
Specify the OID or the keyword of the LDAP extended operation. See the dirxextop reference page in the DirX Directory Administration Reference for a complete list of extended operations.
The default LDAP extended monitoring operations are:
-
ldap_mib_total_tevd
-
ldap_mib_current_tevd
-
ldap_no_of_fds
-
dsa_server_files
-
dsa_dbam_preload_status
-
dsa_backup_status
-
dsa_no_of_fds
The Nagios plugins use the operations listed above to retrieve monitoring information from the DirX Directory servers.
Modify the attribute value by simply adding or deleting an LDAP extended operation.
To perform the LDAP extended read operations, the client’s DN must match either a value contained in the LDAP Extended Operations Admins attribute or a value in the LDAP Extended Operations Monitoring Users attribute.
Example (DAP)
{LEXMOP=ldap_mib_static;1.3.12.2.1107.1.3.2.11.5}
The LDAP extended monitoring operations group contains all default LDAP extended monitoring operations not contained in any other group attribute and the operations displaying the LDAP MIB static table (ldap++_++mib++_++static) and the LDAP MIB environment table (1.3.12.2.1107.1.3.2.11.5).
Attributes for LDAP Server SSL Configuration
Attributes for LDAP server SSL configuration are attributes of the LDAP server SSL configuration subentry with the default name /CN=LdapSSLConfiguration. (This name is referenced in the LDAP SSL Configuration Subentry CN (LSCCN) attribute of the LDAP Server Configuration subentry.) All attributes are optional. Run the script ldap_sslcfg.cp (using dirxcp) to create a default LDAP SSL configuration subentry that specifies default values for the DirX Directory LDAP server. Use the dirxcp obj operations to modify the attributes of the default LDAP SSL configuration subentry or to create new LDAP SSL configuration subentries. Like all other subentries, it cannot be created via LDAP. However, it can be modified via LDAP. Modifications of an LDAP SSL configuration subentry become effective after a restart of the LDAP server. The LDAP server SSL configuration subentry is only read at start time when SSL is enabled; that is, when the value of the LDAP Secure Port Number attribute is greater than zero. (See section LDAP Secure Port Number for details.)
LDAP Security Level A
The LDAP Security Level A single-valued attribute specifies the minimum required security level of the LDAP server’s own key material for OpenSSL. (See LDAP Own Keymaterial PEM attribute and section LDAP Server Key Material in the DirX Directory Administration Reference for details.)
The default value (as of OpenSSL V3.1.0) for this attribute is 1.
Specify one of the following values:
- 0 - Level 0
-
Everything is permitted.
This setting retains compatibility with previous versions of OpenSSL. - 1 - Level 1 (OpenSSL default)
-
The security level corresponds to a minimum of 80 bits of security.
Any parameters offering below 80 bits of security are excluded.
As a result, RSA, DSA, and DH keys shorter than 1024 bits and ECC keys shorter than 160 bits are prohibited.
All export cipher suites are prohibited since they all offer less than 80 bits of security.
SSL version 2 is prohibited.
Any cipher suite using MD5 for Mac OS X is also prohibited. - 2 - Level 2 (The default DirX Directory keymaterial fullfills the requirements for this level.)
-
The security level is set to 112 bits of security.
As a result, RSA, DSA, and DH keys shorter than 2048 bits and ECC keys shorter than 224 bits are prohibited.
In addition to the Level 1 exclusions, any cipher suite using RC4 is also prohibited.
SSL version 3 is also not allowed.
Compression is disabled. - 3 - Level 3
-
The security level is set to 128 bits of security.
As a result, RSA, DSA, and DH keys shorter than 3072 bits and ECC keys shorter than 256 bits are prohibited.
In addition to the Level 2 exclusions, cipher suites that do not offer forward secrecy are prohibited.
TLS versions below 1.1 are not permitted.
Session tickets are disabled. - 4 - Level 4
-
The security level is set to 192 bits of security.
As a result, RSA, DSA, and DH keys shorter than 7680 bits and ECC keys shorter than 384 bits are prohibited.
Cipher suites using SHA1 for Mac OS X are prohibited.
TLS versions below 1.2 are not permitted. - 5 - Level 5
-
Security level set to 256 bits of security.
As a result, RSA, DSA, and DH keys shorter than 15360 bits and ECC keys shorter than 512 bits are prohibited.
Notes:
-
If no value is specified (the attribute is missing in the subentry) a default takes place that is chosen by OpenSSL.
-
The values may differ in meaning for later OpenSSL versions. You may want to search for the function SSL_set_security_level in the OpenSSL documentation for more details and levels.
-
Be aware that the higher the level, the more challenging it will be to provide a suitable PKI key material. The current default (OpenSSL V3.1.0) for both values is 1. The demo PKI key material delivered along with the DirX Directory installation is suitable for levels 1 and 2 only. Thus, if you set higher levels, ensure that your PKI material fits the needs.
LDAP Security Level B
The LDAP Security Level B single-valued attribute specifies the minimum required security level for incoming LDAP client connections for OpenSSL.
The default value (as of OpenSSL V3.1.0) for this attribute is 1.
See the LDAP Security Level A attribute for the allowed values and details.
LDAP Supported Encryption Strength
The LDAP Supported Encryption Strength multi-valued attribute specifies the cipher suites that are accepted in the SSL handshake protocol for version TLSv1.0 up to TLSv1.2. Cipher suites are algorithms for signing, encryption, and hashing.
The values specified in this attribute comprise short names and explicit cipher suite names. Examples for valid short names values are HIGH, MEDIUM, RSA or ALL. Examples for explicit cipher suite names are ECDH-RSA-DES-CBC3-SHA or EDH-RSA-DES-CBC-SHA.
Use the openssl command "openssl ciphers" to retrieve the complete list of explicit cipher suite names supported by the DirX Directory LDAP server. The complete list of the supported short names are documented on https://www.openssl.org/docs/man1.0.2/man1/ciphers.html.
The default value of this attribute is RSA: all cipher suites that use the RSA algorithm are accepted.
See the description of the attribute LDAP Supported Encryption Strength Extended for details on how to set ciphers for the TLS protocol version 1.3.
LDAP Supported Encryption Strength Extended
The LDAP Supported Encryption Strength Extended multi-valued attribute specifies the cipher suites that are accepted in the SSL handshake protocol for version TLSv1.3. Cipher suites are algorithms for signing, encryption, and hashing.
The values specified in this attribute correspond to the TLS1.3 specification. The following list comprises all five valid cipher suites for the TLS 1.3 protocol:
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256
TLS_AES_128_CCM_8_SHA256
TLS_AES_128_CCM_SHA256
Possible value is also the keyword DEFAULT (the first three cipher suites of the previous list).
The default value of this attribute is DEFAULT.
See the description of the attribute LDAP Supported Encryption Strength for details on how to set accepted ciphers for the TLS protocol versions 1.0 up to 1.2.
LDAP Supported Security Protocols
The LDAP Supported Security Protocols multi-valued attribute specifies the supported security protocols. The actual protocol version used for a particular SSL/TLS connection is negotiated during SSL connection establishment. Valid values are:
-
TLSv1.0 - The LDAP server accepts TLSv1.0 security protocol.
-
TLSv1.1 - The LDAP server accepts TLSv1.1 security protocol.
-
TLSv1.2 - The LDAP server accepts TLSv1.2 security protocol.
-
TLSv1.3 - The LDAP server accepts TLSv1.3 security protocol.
By default, the LDAP server accepts all versions of the security protocol listed above (so the default for this attribute is all values).
LDAP SSL Trace File
The LDAP SSL Trace File attribute specifies the full pathname of the directory in which the SSL-specific log files are located. SSL-specific log file names are in the format:
sslpid.log
where pid is the process ID of the LDAP server process that created the log file.
The default value of this attribute is install_path/ldap/log
Example (DAP)
LSTFI=/opt/dirx/ldap/log/ssl
LSTFI={C:/Program Files/DirX/Directory/ldap/log/ssl}
Example (LDAP)
SSLTraceFile=/opt/dirx/ldap/log/ssl
{SSLTraceFile=C:/Program Files/DirX/Directory/ldap/log/ssl}
Note that the forward slash (/) and the backslash (\) characters can be used as separators for Linux and Windows pathnames because the value is read and interpreted only by the dirxldapv3 program. Note also that the curly braces ({}) in the Windows example are necessary because of the blank character contained in the example’s pathname.
LDAP SSL Trace Level
The LDAP SSL Trace Level attribute specifies the level of SSL internal logging. Valid values are the integers 0 and 1, where 0 indicates that SSL logging is turned off.
The default value of this attribute is 0 (SSL logging is turned off).
It is recommended to turn on SSL internal logging only if TLS handshake problems must be debugged. The logging can result in huge logging files that may contain confidential data.
LDAP SSL Client Authentication Required
The LDAP SSL Client Authentication Required attribute specifies whether or not the LDAP server requires SSL Client Authentication for SSL protected connections. When a client performs SSL Client Authentication, he/she requires a user certificate and a private key.
If the value is FALSE, clients are not required to perform SSL Client Authentication when establishing the SSL/TLS connection.
If the value is TRUE, clients are required to perform SSL Client Authentication when establishing the SSL/TLS connection.
In the LDAPv3 protocol, SSL Client Authentication is performed with a SASL bind when the
-mechanism EXTERNAL option is specified. (See the recommendations entitled Lightweight Directory Access Protocol (LDAP): The Protocol (RFC 4511) and Lightweight Directory Access Protocol (LDAP): Authentication Methods and Security Mechanisms (RFC 4513) for details.)
The dirxcp command performs SASL-authenticated binds when the -sasl option is specified in the obj bind operation. See the obj bind operation in the DirX Directory Administration Reference for details.
The default value of this attribute is FALSE (SSL Client Authentication is not required).
In the security layer, SSL/TLS client authentication takes place during connection establishment. The LDAP server’s security layer verifies the authentication during the process that establishes the connection.
If the LDAP SSL Client Authentication Required attribute is TRUE, the LDAP server processing also depends on the settings of the following attributes:
-
LDAP SASL Authz Id Mapping (ldapSaslAuthzIdMapping)
-
LDAP Trusted CA Certs (ldapTrustedCACerts)
-
LDAP SSL CRL Checking (ldapSslCrlChecking)
The LDAP server maps an LDAP SASL bind with the EXTERNAL mechanism onto a special DAP bind to the DSA. The DSA checks whether a trusted LDAP server has issued this DAP bind by evaluating the IP address of the LDAP server’s host. By default, only local LDAP servers are trusted, but you can specify the range of accepted IP addresses in the environment variable DIRX_SSL_HOSTS. If the DSA does not trust the LDAP server due to the IP address, the following error message is written to the EXC files or Windows eventing: Host ip-address not allowed as SSL bind initiator.
LDAP SASL Authz Id Mapping
The LDAP SASL Authz Id Mapping attribute specifies how a client entity authenticated by an SASL-authenticated bind over SSL-protected LDAPv3 protocol (ldap sasl bind) with the EXTERNAL mechanism is mapped onto an Authorization ID.
When performing an LDAP SASL bind with the mechanism EXTERNAL, the SSL/TLS layer performs the client authentication. It is a mutual strong authentication performed between the LDAP client and the LDAP server. On successful authentication, the user’s public key certificate is sent to the DSA. The LDAP SASL Authz Id Mapping attribute allows you to define, on a LDAP server process basis, the mapping from the user’s certificate onto the distinguished name that will be used for successive access control decisions. The attribute LDAP SASL Authz Id Mapping attribute is only evaluated for SASL binds; that is, if the LDAP SSL Client Authentication is activated by setting the LDAP SSL Client Authentication Required attribute to TRUE. (See the LDAP SSL Client Authentication Required attribute for details.)
DirX Directory supports the following choices for the mapping onto the DN representing the Authorization ID. The string values are case sensitive:
-
Certificate.subjectDN:
This value instructs the DSA to use the DN subjectDN contained in the userCertificate as the Authorization ID directly. No mapping onto an existing entry is performed. After passing the SSL/TLS authentication, an LDAP SASL bind that is configured with Certificate.subjectDN cannot fail with the error code invalid Credentials. An entry with the subjectDN does not need to exist in the DIT of the DSA. However, the DN subjectDN or groups containing that DN can be used in Access Control Items.
-
Certificate:
This value instructs the DSA to map onto an existing entry using the userCertificate attribute value with the OID 2.5.4.36. During the bind procedure performed for SASL binds, the DSA performs an internal local search operation that uses the whole certificate as the search filter. The Certificated Exact matching rule applies the certificate matches if the serialNumber and the issuerDN are identical. The userCertificate attribute must be indexed (INITIAL and PRESENT), otherwise the search is rejected and the LDAP SASL bind fails. If the DSA finds exactly one entry in the DIT that owns a certificate with the same value as was used in the LDAP SASL bind, the bind is completed successfully and the Authorization ID is set to the found entry’s DN. An LDAP SASL bind that is configured with Certificate may fail despite the successful completion of the SSL/TLS authentication. See the paragraph below.
-
Certificate.extensions.altName.email:
This value instructs the DSA to map onto an existing entry using the value of the subjectAlternateName extension from the user’s certificate. During the bind procedure performed for SASL binds, the DSA performs an internal local search operation that uses the value contained in the subjectAlternateName extension with the choice “rfc822 name” of the certificate as the search filter. The attribute type of the search filter is by default the email attribute value with the OID 1.2.840.113549.1.9.1.
The email attribute must be indexed (INITIAL and PRESENT), otherwise the search is rejected and the LDAP SASL bind fails. If the DSA finds exactly one entry in the DIT that owns an email with the same value as in the extension of the certificate that was used in the LDAP SASL bind, the bind is completed successfully and the Authorization ID is set to the found entry’s DN.
It is possible to use another attribute of the entry to map onto the Authorization ID by setting the environment variable DIRX_MAP_CERT_ALTNAME_ATTR. The value of this environment variable must be the OID of the attribute to be used in dotted notation. The attribute must have an IA5Str Syntax, its matching rules may be caseIgnore or caseExact. With respect to indexing the same preconditions apply as for the email attribute as described above.
An LDAP SASL bind that is configured with Certificate.extensions.altName.email may fail despite the successful completion of the SSL/TLS authentication.
Values different from the three valid values above are accepted by the directory server when changing the LDAP SSL Configuration Subentry. However, LDAP SASL binds performed via the respective LDAP server will fail with LDAP operation error. The LDAP message that is returned with the bind error to the LDAP client is sasl bind: invalid mapping configured: the-invalid-configuration-value.
The default value of this attribute is Certificate.subjectDN.
The LDAP SASL bind may fail in different stages of the operation:
-
SSL/TLS client authentication may fail because the cryptographic validation of the authentication token results in an error or because the Certificate issuer is not trusted. (The DirX Directory LDAP server uses the attribute LDAP Trusted CA Certs for the purpose of specifying trusted issuers.) Another SSL/TLS handshake error can occur, if CertificateRevocation List Checking is enabled (the LDAP SSL CRL Checking attribute has the value 1) and the revocation check of the user’s certificate fails. If an SSL/TLS handshake error occurs, the SASL bind fails with a remote abort receive error (Can’t connect to the LDAP server).
-
An Invalid Credentials Error may occur only if the LDAP SASL Authz Id Mapping attribute is set to Certificate or Certificate.extensions.altName.email:
-
The DSA returns an Invalid Credentials Error if the mapping fails; that is, if the internal search operation returns 0 or more than one single entry.
-
The DSA also returns an Invalid Credentials Error if the supplied userCertificate is unsuitable for the configured mapping method; for example, the certificate does not contain an email in the altName extension while the configuration is set to Certificate.extensions.altName.email.
-
An LDAP operation error may occur due to various defects:
-
The internal search operation is rejected due to the lack of the INITIAL and PRESENT index on the userCertificate or email attribute.
-
A runtime error (lack of resources) occurred.
-
A data error (for example, decoding of the certificate extensions) occurred.
LDAP SSL CRL Checking
The LDAP SSL CRL Checking attribute specifies whether or not the client certificate specified in the context of an LDAP SASL EXTERNAL bind is also checked against a certificate revocation list (CRL). To perform LDAP SASL binds with the mechanism EXTERNAL, the LDAP SSL Client Authentication Required attribute must be TRUE.
If the LDAP SSL CRL Checking attribute has the value 1, CRL checking is performed. If its value is 0, CRL checking is not performed. Once CRL checking is enabled, at least one CRL file must be specified. (See the attribute LDAP SSL CRL Filenames (ldapSslCrlFilenames)). If no proper CRL file is configured, the server does not start.
The DirX Directory LDAP server uses CRLs stored locally in Privacy Enhanced Mail (PEM)-formatted files that are read during LDAP server process startup or when explicitly required by an LDAP extended operation. (See the attribute LDAP SSL CRL Filenames (ldapSslCrlFilenames) for details.)
If CRL checking is enabled, the following attributes of the LDAP SSL Configuration subentry control the check procedure:
-
LDAP SSL CRL Filenames (ldapSslCrlFileNames)
-
LDAP SSL Tolerate Missing CRL (ldapSSLTolerateMissingCrl)
-
LDAP SSL Allow NYV CRL (ldapSSLAllowNYVcrl)
-
LDAP SSL Allow Expired CRL (ldapSSLAllowExpiredCrl)
The CRL check is the last check that the LDAP server performs during the authentication process. Trusting the issuer of the client certificate is the precondition. (See the LDAP Trusted CA Certs (ldapTrustedCACerts) attribute for details.)
The default value of this attribute is 0; that is, CRL checking is disabled by default.
LDAP SSL CRL Filenames
The LDAP SSL CRL Filenames attribute specifies the name(s) of the files containing the PEM-formatted certificate revocation lists (CRLs) that are to be used to check the certificate for revocation in the context of an LDAP SASL bind with the mechanism type EXTERNAL. DirX Directory does not support delta CRLs.
This attribute is multi-valued. Each value contains the name of a file that contains one CRL in PEM Privacy Enhanced Mail (PEM) format. A PEM formatted CRL consists of the base64 encoded binary CRL enclosed in the lines
-----BEGIN X509 CRL-----
-----END X509 CRL-----
To convert binary CRLs to PEM formatted CRLs you can use the following openssl command:
openssl crl -inform DER -in certlist.crl -outform PEM -out crl.pem.
Incorrect file content results in a fatal error at LDAP server startup.
Specify the filename values either as fully-qualified pathnames or as filenames without any path. If a filename without any path is specified, the LDAP server expects the file to reside in the directory install_path/ldap/conf.
By default, the value of this attribute is absent.
As the attribute is multi-valued, more than one CRL can be loaded for certificate verification. Each CRL usually refers to a different certification authority (CA), but you can specify more than one CRL file for the same CA with different names. For example, FileA-CRL is an older version of a FileB-CRL. If both names are added to the list, the general rule is that the most recently loaded CRL overwrites any existing version. The sequence of the names cannot be predicted when they are read from the subentry.
The size of a specified CRL has a significant impact on the LDAP server start-time and the time to generate the internal SSL_CTX into which the CRL is stored; for example, a CRL of 30 MB lasts up to 1 minute to be loaded.
If multiple LDAP servers refer to the same CRL file, the behavior during server start-up or CRL refresh is undefined. To avoid conflicts, use separate CRL names for each server; that is, there may be several copies of the same CRL, one copy for each LDAP server.
To update the CRLs for an LDAP server during runtime, use the LDAP extended operation ldal_ssl_ctx_update. Use the dirxextop command or DirX Directory Manager (Monitoring View -> LDAP -> SSL -> Create New Context (CRL refresh) or Configuration View -> LDAP Configuration Subentries -> LDAP SSL Configuration Subentry -> Client Authentication -> Refresh CRLs) to perform this LDAP extended operation. (See the dirxextop reference page in the DirX Directory Administration Reference for details.) The LDAP server creates a new SSL context, re-reads the values of the LDAP SSL CRL Filenames attribute and re-loads the CRLs. While this dynamic CRL update is in progress, no LDAP bind operation is blocked or postponed. SSL SASL binds are checked against the old CRLs. Once the new CRLs are fully loaded, SSL SASL binds are checked against the new CRLs.
LDAP SSL Tolerate Missing CRL
The LDAP SSL Tolerate Missing CRL attribute controls whether or not a client certificate presented in the context of an LDAP SASL bind with the EXTERNAL mechanism is rejected if a suitable CRL cannot be found in the given CRL list.
When a client certificate arrives, the server tries to find a matching CRL; that is, the issuer of the CRL and the issuer of the certificate must match. If a suitable CRL is found, this attribute has no further meaning. If no suitable CRL is found, this attribute controls whether the server rejects or accepts a certificate during the SSL handshake.
If this attribute has the value 1, certificates are accepted even if a matching CRL cannot be found. If the value is 0, certificates are rejected if a matching CRL cannot be found.
The default value of this attribute is 0.
LDAP SSL Allow NYV CRL
The LDAP SSL Allow NYV CRL attribute controls whether or not a client certificate presented in the context of an LDAP SASL bind with the mechanism EXTERNAL is rejected if the corresponding CRL is not yet valid.
A CRL usually contains the lastUpdateTime field which specifies the issuing date. This issuing date can be a date in the future. During certificate checking, OpenSSL can generate a Crl-Not-Yet-Valid error if the CRL’s lastUpdateTime is not yet reached. The LDAP SSL Allow NYV CRL attribute specifies whether or not this error is ignored.
If this attribute has the value 1, certificates are accepted even if the CRL is not yet valid. If the value is 0, certificates are rejected if the CRL is not yet valid.
The default value of this attribute is 0.
LDAP SSL Allow Expired CRL
The LDAP SSL Allow Expired CRL attribute controls whether or not a client certificate presented in the context of an LDAP SASL bind with the mechanism EXTERNAL is rejected if the corresponding CRL has expired.
A CRL contains a field nextUpdateTime that specifies the date when the CA issues an updated version of the current CRL. If the nextUpdateTime is in the past, the OpenSSL provider generates a CRL-Expired error during Client-Certificate-Validation. The attribute ldapSSLAllowExpiredCrl controls whether or not this error is ignored.
If this attribute has the value 1, certificates are accepted even if the CRL has expired. If the value is 0, certificates are rejected if the CRL has expired. If the value is 0, the CRL must be updated before its expiration date. Otherwise, all certificates issued by the corresponding CA are rejected after the CRL has expired.
The default value of this attribute is 0.
Attributes of the LDAP SSL Configuration Subentry for the LDAP Server Personal Security Environment (PSE)
To establish an LDAP connection over the SSL/TLS layer successfully, the DirX Directory LDAP server must have a Personal Security Environment (PSE). This PSE comprises the following items:
-
The LDAP server’s own key material, which consists of the public key certificate and the private key. This key material is required for every kind of SSL connection. It is used in the context of the SSL/TLS handshake protocol for the purpose of server authentication. The key and the certificate must be enclosed in a password-protected PEM file. Usually, the LDAP client application must store the server public key certificate in a local certificate database because it might check the acceptability of the server authentication (for example for Java-based clients, the certificate must be imported into the key store of the application).
The LDAP server’s own public key certificate and private key is stored in the LDAP Own Keymaterial PEM attribute. -
The password that is used to protect the private key in the PEM file.
The full pathname to the file that contains this password is stored in the LDAP PKCS12 Password File attribute. -
The list of Certification Authority (CA) certificates the LDAP server trusts to issue user certificates, if SSL/TLS client authentication is required (see the section LDAP SSL Client Authentication Required for details). The LDAP server uses the list of CA certificates to decide whether a trusted CA issued the certificate provided by the user during the SSL/TLS handshake protocol.
The list of CA certificates is stored in the multi-valued LDAP Trusted CA Certs attribute.
The following sections provide information about the attributes of the LDAP server PSE.
LDAP Own Keymaterial PEM
The LDAP Own Keymaterial PEM attribute stores the LDAP server’s PEM-formatted key material. The PEM input must contain:
-
The LDAP server’s the encrypted private key
-
The LDAP server’s public key certificate
-
Optionally the CA certificates of the issuing CAs
in the order specified above.
The decryption password is stored in a separate file. (See the LDAP PKCS12 Password File reference page for details.)
The DirX Directory installation copies an example key material file at the location
install_path/ldap/conf/cert_ldapserver.pem.
Because certificates have a limited lifetime, they may expire and lose their validity. The DirX Directory LDAP server checks the remaining validity period of its public key certificate. If this period is less than 30 days, the LDAP server sends the dirxCertExpiry SNMP trap and issues a warning, and the LDAP server exception file contains the following entry:
SEC_error: "WARNING: Your Server-SSL key material will expire soon!! Please refresh!
The LDAP server checks the expiration date during every SSL handshake (SSL-Bind). The environment variable DIRX_LDAP_SSL_EXPIRY_WARN_TIME controls expiration alerting.
Example (DAP)
In the following example, the PEM-formatted content of the file cert_ldapserver.pem is stored as the LSOKP attribute value of the LDAP SSL configuration subentry using the obj modify operation of the dirxcp command:
dirxcp> modify /o=my-company/cn=ldapsslConfiguration -add LSOKP_FILE=cert_ldapserver.pem
Example (LDAP)
In the following example, the PEM-formatted content of the file cert_ldapserver.pem is stored as the ldapOwnKeymaterialPEM attribute value of the LDAP SSL configuration subentry using the obj modify operation of the dirxcp command:
dirxcp> modify cn=ldapsslConfiguration,o=my-company -add ldapOwnKeymaterialPEM_FILE=cert_ldapserver.pem
LDAP Trusted CA Certs
The multi-valued LDAP Trusted CA Certs attribute stores CA Certificates of those authorities that the LDAP server trusts to issue valid user certificates. The values of this attribute are plain binary X.509 CA Certificates; usually the content of a .cer/.der file. (For information how to store the file content as attribute values, see the section Attribute Values in a File in the chapter DirX Directory String Representation for DAP Binds.)
The LDAP Trusted CA Certs attribute is only used when the LDAP server supports client authentication. (See the section LDAP SSL Client Authentication Required for details.) There is no default value for this attribute.
For information about SSL/TLS client authentication and its relationship to LDAPv3, see the recommendations entitled Authentication Methods and Security Mechanisms (RFC 4513).
Example (DAP)
In the following example, the content of the file cacert1.der is stored as LSTCC attribute values of the LDAP SSL configuration subentry using the obj modify operation of the dirxcp command:
dirxcp> modify /o=my-company/cn=ldapsslConfiguration -add LSTCC_ANY_FILE=cacert1.der
Example (LDAP)
In the following example, the content of the file cacert1.der is stored as ldapTrustedCACerts attribute values of the LDAP SSL configuration subentry using the obj modify operation of the dirxcp command:
dirxcp> modify cn=ldapsslConfiguration,o=my-company -add ldapTrustedCACerts_ANY_FILE=cacert1.der
LDAP PKCS12 Password File
The LDAP PKCS12 Password File attribute specifies the full pathname of the file that contains the password for access to the private key of the LDAP server.This key is stored in the LDAP Own KeymaterialPEM attribute (in older DirX Directory versions, the key is stored in the LDAP Own Keymaterial attribute).The password is used during the process of creating the PEM file, for example, by using the openssl command line tool.
The format of the value specified in the password file is indicated by an optional tag that is also contained in this file.After the initial administration, it is the clear text password.Once the LDAP server has accessed the file one time, it changes the content to the encrypted format of the password.Note that the clear text password must not be longer than 160 characters and must not start with the string "{ENC}".
It is strongly recommended to protect the password file by means of the operating system so that access is only granted to the LDAP server process.
The default value of this attribute is install_path/ldap/conf/dirx_pkcs12.pwd. It is strongly recommended to use this default.
Example (DAP)
LSPPF=/opt/dirx/ldap/conf/ssl/dirx_pkcs12.pwd
{LSPPF=C:/Program Files/DirX/Directory/ldap/conf/ssl/dirx_pkcs12.pwd}
Example (LDAP)
Pkcs12PasswordFile=/opt/dirx/ldap/conf/ssl/dirx_pkcs12.pwd
{Pkcs12PasswordFile=C:/Program Files/DirX/Directory/ldap/conf/ssl/dirx_pkcs12.pwd} +
Note that the forward slash (/) and the backslash (\) characters can be used as separators for Linux and Windows pathnames because the values are interpreted only by the dirxldapv3 program. Also note that curly braces must enclose a Windows pathname when it contains space characters, as shown in the example above.
Obsolete Attributes of the LDAP SSL Configuration Subentry for the LDAP Server PSE
This section provides information about the following attributes:
-
LDAP Own Keymaterial
-
LDAP Own Keymaterial File
-
LDAP Valid Root CAs File
These attributes are obsolete and are supported only for compatibility reasons. In a shadowing environment, DirX Directory V8.2B servers may store configuration subentries used by directory server instances running older DirX Directory versions.
It is not allowed to use these attributes to store key material for DirX Directory V8.2B LDAP servers and newer. The LDAP Own KeymaterialPEM and LDAP Trusted CA Certs attributes must be used to store the own key material and the trusted CA certs. If the LDAP SSL configuration subentry contains the attributes LDAP Own KeymaterialPEM and LDAP Trusted CA Certs, the LDAP server ignores the obsolete attributes LDAP Own Keymaterial, LDAP Own Keymaterial File and LDAP Valid Root CAs File.
Attributes for LDAP Server Audit Configuration
Attributes for LDAP server audit configuration are attributes of the LDAP server audit configuration subentry with the default name /CN=ldapAudit. (This name is referenced in the LDAP Audit Configuration Subentry CN (LACCN) attribute of the LDAP Server Configuration subentry.) All attributes are optional. Run the script ldap_auditcfg.cp (using dirxcp) to create a default LDAP audit configuration subentry that specifies default values for the DirX Directory LDAP server. Use the dirxcp obj operations to modify the attributes of the default LDAP audit configuration subentry or to create new LDAP audit configuration subentries. Like all other subentries, it cannot be created via LDAP. However, it can be modified via LDAP. Modifications of an LDAP audit configuration subentry become effective after a restart of the LDAP server or by performing the
dirxadm ldap audit –config operation.
LDAP Audit On
The LDAP Audit On single-valued attribute specifies whether LDAP server auditing is enabled (value TRUE) at start-up time of the LDAP server or disabled (value FALSE). This attribute is also evaluated when you perform re-configuration via the dirxadm ldap audit –config operation. The default value is FALSE.
If LDAP auditing is enabled, you can use the LDAP Audit Start Time (LASTA) and the LDAP Audit Stop Time (LASTO) attributes to specify a time period when the LDAP server records audit information. If no start time (LASTA attribute) is specified, the LDAP server starts recording of audit information at LDAP server start-up or at LDAP server re-configuration by performing the dirxadm ldap audit –config operation.
LDAP auditing can be enabled dynamically by performing the dirxadm ldap audit –start operation. LDAP auditing can be disabled dynamically by performing the dirxadm ldap audit
–stop operation. The current LDAP audit status can be displayed by performing the dirxadm ldap audit –info operation.
LDAP Audit Destination
The LDAP Audit Destination single-valued attribute specifies the initial pathname of the directory in which the LDAP server’s audit log file with the name audit.log is located. Each LDAP server opens its audit log file exclusively. Therefore, the name of the LDAP server’s configuration subentry is appended as the subdirectory name. This directory must exist before LDAP server auditing is enabled for the first time. Otherwise the LDAP server exits.
The full pathname of the LDAP server’s audit log file is in the format:
LDAP_Audit_Destination*/LDAP_Configuration_Subentry_Name/audit.log*
where LDAP_Audit_Destination is the value of the LDAP Audit Destination attribute, LDAP_Configuration_Subentry_Name is the name of the LDAP server’s current configuration subentry, and audit.log is the name of the LDAP server’s audit log file. (See the section Setting Up Multiple LDAP Servers of chapter Setting Up an LDAP Server in the Administration Guide for details on multiple LDAP servers.)
The default value of the LDAP Audit Destination attribute is install_path*/ldap/audit*. The default LDAP server’s configuration subentry name is ldapConfiguration. The default full pathname of the audit log file is install_path/ldap/audit/ldapConfiguration/audit.log.
Example (DAP)
LADE=\/opt\/dirx\/ldap\/log\/audit
Assuming that the default LDAP configuration subentry is used the full pathname of the audit log file is /opt/dirx/ldap/log/audit/ldapConfiguration/audit.log.
LADE=C:\\Program Files\\DirX\\Directory\\ldap\\log\\audit
Assuming that the default LDAP configuration subentry is used, the full pathname of the audit log file is C:\Program Files\DirX\Directory\ldap\log\audit\ldapConfiguration\audit.log.
| The slash (/) and the backslash (\) character must be escaped by a backslash (\) character. |
Example (LDAP)
ldapAuditDestination=\/opt\/dirx\/ldap\/log\/audit
Assuming that the default LDAP configuration subentry is used, the full pathname of the audit log file is /opt/dirx/ldap/log/audit/ldapConfiguration/audit.log.
ldapAuditDestination=C:\\Program Files\\DirX\\Directory\\ldap\\log\\audit
Assuming that the default LDAP configuration subentry is used, the full pathname of the audit log file is C:\Program Files\DirX\Directory\ldap\log\audit\ldapConfiguration\audit.log.
| The slash (/) and the backslash (\) character must be escaped by a backslash (\) character. |
LDAP Audit Size Limit
The LDAP Audit Size Limit single valued attribute specifies the maximum number of audit records of the LDAP server’s audit log file. Every LDAP operation creates one audit record. The value of 0 allows files with an unlimited number of records. The default value is 50000. The maximum number of audit records must be greater than 100. Otherwise the default value is used.
The LDAP operations logged can be specified in the attribute LDAP OP Selection. The size of one record in bytes depends on the data and the configuration settings specified in the attributes LDAP Audit Level and LDAP Audit Value Limit.
Independent of the setting of the LDAP Audit Size Limit attribute, the size of the LDAP audit log file is limited to 256 MB by default because the dirxauddecode command must be used to evaluate the binary audit log files. Due to the 32-bit I/O mechanism, dirxauddecode is not able to handle files greater than 2GB, neither as input nor as output. dirxauddecode may run into a deadlock. The administrator can specify another maximum file size than 256 MB in the LDAP Audit Max File Size attribute (See section below for details.)
If either the LDAP Audit Size Limit (maximum number of audit records) or the LDAP Audit Max File Size (maximum size of the audit file) is exceeded, the LDAP Audit Overflow attribute specifies the action to take. (See the section LDAP Audit Overflow in this chapter for details.)
LDAP Audit Max File Size
The LDAP Audit Max File Size single-valued attribute specifies the maximum file size of the LDAP server’s audit log file in MB. A value of 0 specifies an unlimited file size. Note that this behavior may lead to errors due to the 32-bit I/O mechanism when files exceed 2 GB. The default file size is 256 MB.
Additionally to the LDAP Audit Max File Size attribute, the maximum number of records specified in the LDAP Audit Size Limit attribute also limits the size of the LDAP server’s audit log file. (See section above for details.)
If either the LDAP Audit Max File Size or the LDAP Audit Size Limit is exceeded, the LDAP Audit Overflow attribute specifies the action to take. (See section LDAP Audit Overflow of this chapter for details.)
It is recommended not to specify too small limits because wrapping or moving the audit log file is rather expensive compared to writing an audit record.
The dirxauddecode command evaluates the binary LDAP audit log file and generates an ASCII output file. Due to 32-bit code and internal data representation, the dirxauddecode command cannot handle files greater than 2GB. Unfortunately, it is not possible to determine the size of the generated ASII output file from the binary audit log file. However, the generated ASCII output file is usually five to ten times greater than the binary LDAP audit log file. Therefore, it is necessary to limit the maximum file size.
LDAP Audit Overflow
The LDAP Audit Overflow single-valued attribute specifies the action to take when the maximum record number specified in the LDAP Audit Size Limit attribute or the file size specified in the LDAP Audit Max File Size attribute is reached. Specify one of the following values:
-
stopService - Shut down the LDAP server. An exception message is written. The LDAP server is not re-started automatically.
-
stopAudit - Cease auditing. LDAP server continues without auditing. An exception message is written.
-
wrapAround - Begin writing at the top of the log file, overwriting the old content.
-
moveFile - Close the audit file currently in use and rename it by appending the current UTC time in ZULU format and a counter from 000 to 999, for example audit.log.20010510104511Z_001. This renamed file can be evaluated by using the dirxauddecode command. A new audit log file is created. Auditing is continued using the current configuration settings.
-
multiWrap - Begin writing at the top of the next log file, overwriting the old content. The LDAP Audit Number Wraparound Files specifies the number of additional audit log files in use. (See section below for details.)
The default value is wrapAround.
LDAP Audit Number Wraparound Files
The LDAP Audit Number Wraparound Files single-valued attribute specifies the number of additional audit log files in use when the LDAP Audit Overflow attribute specifies the strategy multiWrap. Specify a value greater or equal to 1. Do not specify a value greater than 99. The default value is 1 (one additional audit log file is used; that is, there are two audit log files in use: audit.log for current logging and audit.PID.01 for wrapping around).
If auditing is enabled, the LDAP server writes audit file records in the file audit.log. (See the section LDAP Audit Destination for details.) If the maximum number of audit file records (LDAP Audit Size Limit attribute) or the maximum audit file size (LDAP Audit Max File Size attribute) is exceeded, the LDAP server closes this file and renames it to audit.log.*PID.number, where PID is the process identifier of the LDAP server and number is a sequential number running from *01 through the value specified in LDAP Audit Number Wraparound Files attribute. In the event that a file with this name already exists, the LDAP server first deletes this file and then creates a new audit log file audit.log. Auditing is continued using the current configuration settings. The result is that there are LDAP Audit Number Wraparound Files audit files and the file audit.log in use.
While the LDAP server is running and the set of audit log files is in use, you must ensure that the LDAP server is able to access all these files. For example, do not move, lock, rename, or delete any of these files.
If the LDAP server is restarted for any reason and gets a previously used process identifier, it overwrites already existing files from the previous process.
Auditing is disabled automatically if any of the file operations fails.
Example (LDAP)
Currently the LDAP server uses multi-wrapping with 4 additional log files. That is, the values currently in use are:
ldapAuditOverflow=multiWrap ldapAuditNumWrapFiles=4 (create 4 additional audit log files)
Now the administrator decides to use ten audit log files because he wants to evaluate a longer time period. So he specifies the value 9 for the additional number of audit log files:
ldapAuditNumWrapFiles=9 (create 9 additional audit log files)
The administrator restarts the LDAP server to enable the new audit configuration and to get process-specific audit log files. The LDAP server gets the PID 1308. It finds the audit log file audit.log from the just stopped LDAP server process with the PID 1352. First, the LDAP server renames this file to audit.log.20060605091435Z_001 and then creates a new audit.log file. When audit.log exceeds one of the limits, the LDAP server renames the file to audit.log.1308.01 and creates a new file audit.log. After generating audit.log.1308.09, the LDAP server starts wrapping around with audit.log.1308.01. It deletes this file before renaming audit.log. The administrator finds the following audit log files:
-
From the current running LDAP server with PID 1308:
audit.log (currently active audit log file) audit.log.1308.01 (multi wrapping file 1) audit.log.1308.02 (multi wrapping file 2) audit.log.1308.03 (multi wrapping file 3) audit.log.1308.04 (multi wrapping file 4) audit.log.1308.05 (multi wrapping file 5) audit.log.1308.06 (multi wrapping file 6) audit.log.1308.07 (multi wrapping file 7) audit.log.1308.08 (multi wrapping file 8) audit.log.1308.09 (multi wrapping file 9)
Because the LDAP server with the PID 1308 is running, the administrator must ensure write access for the LDAP server. It is prohibited to delete, lock, or rename these files. However, the administrator can copy them to another location for evaluating the files.
-
From the previously running LDAP server with PID 1352:
audit.log.20060605091435Z_001 (last recent active audit log file) audit.log.1352.01 (multi wrapping file 1) audit.log.1352.02 (multi wrapping file 2) audit.log.1352.03 (multi wrapping file 3) audit.log.1352.04 (multi wrapping file 4)
Because the LDAP server with the PID 1352 is not running the administrator can delete or move these files.
The creation dates of the files provide a hint about the chronological sequence.
LDAP Audit Level
The LDAP Audit Level single-valued attribute specifies the level of detail of audit information logged for attribute values of the request parameters of the operations add, modify, compare, and of the LDAPv3 control parameters. This attribute is useful to limit the size of the audit information. Specify one of the following values:
-
max - The object name, all attribute types, and the attribute values are logged: If the value length exceeds the length specified in the LDAP Audit Value Limit attribute, only the length of the value is logged. If the value contains unprintable characters, dirxauddecode delivers a hex dump format of the value.
-
med - The object name, all attribute types, and the length of the attribute values are logged.
-
min - Only the object name is logged. No attribute information is logged.
The default value is med.
Example (DAP)
-
The following sample output was generated by the dirxauddecode command and
LALE=maxdirxauddecode sample output:
----------------- OPERATION 000002 ---------------- Start Time :Thu May 10 10:47:21 2001 Duration :0.040 sec User : IP :127.0.0.1 Op-Name :LDAP_Con0_Op1 ConnID :0 Operation :ADD Version :3 MessageID :2 Entry :cn=dummy,o=my-company Attributes :2 Attr Type :description Attr Val :thisisalongdescription Attr Type :cn Attr Val :dummy2 Result Code :65 (objectClassViolation) ----------------- OPERATION 000002 ---------------- Start Time :Mon May 14 13:29:16 2001 Duration :0.040 sec User : IP :127.0.0.1 Op-Name :LDAP_Con0_Op1 ConnID :0 Operation :ADD Version :2 MessageID :2 Entry :cn=dummy,o=my-company Attributes :2 Attr Type :description Attr Val(hex):(26) 000000: 61 64 65 73 63 72 69 70 74 69 6f 6e 0a 0d 77 69 :adescription.. wi <- binary 000010: 74 68 0a 0d 62 69 6e 61 72 79 :th..binary Attr Type :cn Attr Val :dummy2 Result Code :65 (objectClassViolation) -
The following sample output was generated by the dirxauddecode command and
LALE=meddirxauddecode sample output:
----------------- OPERATION 000002 ---------------- Start Time :Thu May 10 11:18:55 2001 Duration :0.040 sec User : IP :127.0.0.1 Op-Name :LDAP_Con0_Op1 ConnID :0 Operation :ADD Version :2 MessageID :2 Entry :cn=dummy,o=my-company Attributes :2 Attr Type :description Attr Val(len):22 <-- only the length is evaluated Attr Type :cn Attr Val(len):6 <-- only the length is evaluated Result Code :65 (objectClassViolation) -
The following sample output was generated by the dirxauddecode command and
LALE=mindirxauddecode sample output:
----------------- OPERATION 000002 ---------------- Start Time :Thu May 10 11:27:57 2001 Duration :0.040 sec User : IP :127.0.0.1 Op-Name :LDAP_Con0_Op1 ConnID :0 Operation :ADD Version :2 MessageID :2 Entry :cn=dummy,o=my-company <- no attribute information Result Code :65 (objectClassViolation)
LDAP Audit Value Limit
The LDAP Audit Value Limit single-valued attribute specifies the maximum length of an attribute value that is logged. If the length of the attribute value exceeds this limit, only the value’s length is logged. (Like LDAP Audit Level med; see the section LDAP Audit Level for details.) The value of 0 allows the logging of values with a length of an unlimited number of bytes. The default value is 256.
Note that this attribute can greatly affect the audit log file size if clients perform modifications with large attribute values; for example, pictures.
This attribute is relevant only if the LDAP Audit Level attribute is set to max.
LDAP Audit Op Selection
The LDAP Audit Op Selection multi-valued attribute specifies a list of operations that are logged. Specify the value in the following format:
operation[;_operation_ …]
where operation is one of the following keywords:
-
all - All operations
-
ldap - All LDAP server operations except 'other' and 'unknown' operations.
-
abandon - All abandon operations
-
add - All add operations
-
bind - All bind operations
-
compare - All compare operations
-
extop - All LDAPv3 extended operations; for example, unsolicited notification or startTLS
-
moddn - All moddn operations
-
modify - All modify operations
-
other - All other unexpected client operations that cannot be identified
-
remove - All delete operations
-
search - All search operations
-
unbind - All unbind operations
-
unknown - All unexpected client operations that indicate client misbehavior, for example closing the socket layer without initiating an LDAP unbind operation or clients that send illegal PDUs etc.
The default value is all.
Note that this attribute provides an operation filter for auditing in the LDAP server at the time of writing audit records. At the time of evaluation, the dirxauddecode command also provides the facility to filter out operation types.
LDAP Audit Erroneous Operations
The LDAP Audit Erroneous Operations single-valued attribute specifies whether or not erroneous operations are recorded in the audit log file.
Specify one of the following values:
-
1 - The LDAP server records erroneous operations in the audit log file.
-
0 - The LDAP server does not record erroneous operations in the audit log file.
The default value is 1.
If the administrator wants only erroneous operations to be recorded in the audit log file, he specifies the value 1 for the LDAP Audit Erroneous Operations attribute and the value none for the LDAP Audit Op Selection attribute.
LDAP Audit Internal Buffer Size
The LDAP Audit Internal Buffer Size single-valued attribute specifies whether audit information is buffered internally before it is written to the audit log file. A value of 0 specifies that all audit information is written to the audit log file when an operation was completed. A value greater than 0 specifies the buffer size in number of bytes. The audit information is written to the audit log file when the buffer size is exceeded.
The default value is 0 (no buffering of audit information).
LDAP Audit Encryption
The LDAP Audit Encryption single valued attribute specifies whether or not the audit log file shall be encrypted. The value of this attribute specifies the encryption mechanism. Specify one of the following values:
-
none - The audit log file is not encrypted.
-
scramble - The audit log file is encrypted using a scramble mechanism.
The default value is none (no encryption).
If scramble encryption mechanism is enabled, the file specified in the LDAP Audit Encryption Key File attribute must contain the correct key material. If the key material is incorrect or the specified file does not exist or cannot be read, the LDAP server terminates.
LDAP Audit Encryption Key File
The LDAP Audit Encryption Key File single-valued attribute specifies the full pathname of the file that contains the key material to encrypt the audit information to be saved in the audit log file. This key material may be a password that is used as a cipher key, a pass phrase, or a PIN that is used by Personal Security Environment to access the current encryption key. If the key material is incorrect or the specified file does not exist or cannot be read, the LDAP server terminates.
This attribute is ignored if no encryption mechanism is specified in the LDAP Audit Encryption attribute (LAE=none).
If an encryption mechanism is specified in the LDAP Audit Encryption attribute (LAE≠none) the password stored in this file must be specified in the -k option of the dirxauddecode command in order to evaluate a scrambled audit file.
The default value is install_path*/ldap/conf/dirx_audit.pwd*.
LDAP Audit Start Time
The LDAP Audit Start Time single-valued attribute specifies the time when the LDAP server starts recording of audit information. A value of none specifies no start time and does not affect the audit behavior. Specify the time in the following syntax:
DD.MM.YYYY hh:mm:ss
where
DD specifies the day of month (01 up to 31)
MM specifies the month (01 up to 12)
YYYY specifies the year
hh specifies the hour (00 up to 23)
mm specifies the minute (00 up to 59)
ss specifies the seconds (00 up to 59)
If a start time is specified the LDAP Audit On (LAON) attribute must be set to TRUE.
The default value is none (no start time specified).
LDAP Audit Stop Time
The LDAP Audit Stop Time single-valued attribute specifies the time when the LDAP server stops recording of audit information. A value of none specifies no stop time and does not affect the audit behavior. Specify the time in the following syntax:
DD.MM.YYYY hh:mm:ss
where
DD specifies the day of month (01 up to 31)
MM specifies the month (01 up to 12)
YYYY specifies the year
hh specifies the hour (00 up to 23)
mm specifies the minute (00 up to 59)
ss specifies the seconds (00 up to 59)
The default value is none (no stop time specified).
LDAP Audit Cron Job Start Time
The LDAP Audit Cron Job Start Time single-valued attribute specifies the time when the LDAP server starts a cron job that performs the action specified in the LDAP Audit Overflow attribute despite whether any of the specified limits (maximum number of records or maximum file size) has been exceeded. (See the section LDAP Audit Overflow in this chapter for details.) The LDAP Audit Cron Job Interval attribute specifies when the next cron job is started. (See the section below for details.) This attribute may be useful for example, to generate audit log files that cover a certain time frame.
The value never disables starting cron jobs. This is the default value.
The value now starts the cron job immediately.
Specify the time in the following syntax:
DD.MM.YYYY hh:mm:ss
where
DD specifies the day of month (01 up to 31)
MM specifies the month (01 up to 12)
YYYY specifies the year
hh specifies the hour (00 up to 23)
mm specifies the minute (00 up to 59)
ss specifies the seconds (00 up to 59)
If the LDAP server reads a start time in the past and a cron job interval is specified in the LDAP Audit Cron Job Interval attribute (greater than 60 seconds), the LDAP server calculates the next start time of the cron job automatically.
If a start time is specified, LDAP audit logging must be enabled; that is, the LDAP Audit On (LAON) attribute must be set to TRUE. Keep in mind that you may have disabled auditing by specifying the attributes LDAP Audit Start and / or LDAP Audit Stop Time.
The LDAP Audit Cron Job Start Time attribute has no effect on whether or not the LDAP server performs auditing.
LDAP Audit Cron Job Interval
The LDAP Audit Cron Job Interval single-valued attribute specifies the wait time in seconds after which the LDAP server starts the next cron job that performs the action specified in the LDAP Audit Overflow attribute despite whether any of the specified limits (maximum number of records or maximum file size) has been exceeded. (See the section LDAP Audit Overflow in this chapter for details.) The LDAP Audit Cron Job Start Time attribute specifies the date when the cron job is started the first time. (See the section above for details.)
Specify a value greater than 60 seconds. The default value is 3600 seconds. If a value lower than 60 seconds is specified, the value 60 seconds is set automatically.
If the value 0 is specified, the LDAP server starts the cron job once at LDAP Audit Cron Job Start Time.
If a cron job start time and interval are specified, LDAP audit logging must be enabled; that is, the LDAP Audit On (LAON) attribute must be set to TRUE. Keep in mind that you may have disabled auditing by specifying the attributes LDAP Audit Start and / or LDAP Audit Stop Time.
The LDAP Audit Cron Job Interval has no effect on whether or not the LDAP server performs auditing.
The following example illustrates how to use cron jobs:
Suppose you want to generate audit log files, where each file contains the LDAP operations for one hour. The current time is February 28, 2006, 7:35 PM. The LDAP audit is turned on (LDAP Audit On (LAON) attribute is TRUE). Neither a LDAP Audit Start nor a LDAP Audit Stop is specified. The overflow action to take is moving the audit log file (ldapAuditOverFlow=moveFile). Specify the following values for managing the cron job:
{ldapAuditCronStart=28.02.2006 20:00:00}
ldapAuditCronInterval=3600
At 8:00 PM, the LDAP server starts the first cron job, moving the current audit log file to a file named audit.log.20060228200000Z_001 containing the audit records until 8:00 PM. One hour (3600 seconds) later, at 9:00 PM, the LDAP server again starts a new cron job, moving the current audit log file to a file named audit.log.20060228210000Z_002 containing the audit records from 8:00 PM through 9:00 PM. This action now takes place every hour, moving the current audit log file.
If, meanwhile, either the maximum number of records or the maximum file size is exceeded, the LDAP server takes the overflow action additionally.
If the LDAP server is re-started (for example, at 10:45 PM), it finds a cron job start time in the past. The LDAP server now calculates the next start time of the cron job for 11:00 PM to get audit log files containing the operations on the hour.
The results are several audit log files (preferably one per hour) that may be easier to evaluate; for example, to compare the number of operations for different time periods. Note that if the audit log file has exceeded a specified limit or the LDAP server has been re-started for any reason, there is more than one audit log file per hour.
To stop the cron job feature, change the LDAP Audit Cron Job Interval value to 0.
LDAP Audit Session Tracking Enabled
The LDAP Audit Session Tracking Enabled single-valued attribute specifies whether or not the LDAP server writes the values of the session tracking control (if provided) to the LDAP audit file.
Specify a value of 1 to enable session tracking and a value of 0 to disable session tracking.
An LDAP client can include the session tracking control with its LDAP request. The session tracking control provides the following information:
-
The sessionSourceIP - The IP address of the originating LDAP client application with a maximum length of 128 characters.
-
The sessionSourceName - A description of the originating system, with a maximum length of 65536 bytes. The value might be, for example, a hostname, a distinguished name, or a web service address.
-
The formatOID - A description of the semantics of the sessionSourceName and the sessionTrackingIdentifier, with a maximum length of 1024 bytes.
-
The sessionTrackingIdentifier - The tracking identifier; for example, a username that has already been authenticated by the application that is generating the session, with an unlimited length (but it should not be longer than 65536 characters).
Control the number of bytes written to the audit log file by specifying the LDAP Audit Session Tracking InfoLen attribute.
See the Internet-Draft “LDAP Session Tracking Control” (draft-wahl-ldap-session-03.txt) for details about session tracking.
LDAP Audit Session Tracking InfoLen
The LDAP Audit Session Tracking InfoLen single-valued attribute specifies the maximum length of each field (the sessionSourceIP, the sessionSourceName, the formatOID, and the sessionTrackingIdentifier) of the session tracking control that the LDAP server writes to the audit log file. The default value is 64; that is, the LDAP server writes the initial 64 bytes of the value to the audit log file.
Set the value of the LDAP Audit Session Tracking Enabled attribute to the value 1 to enable session tracking. (See the LDAP Audit Session Tracking Enabled attribute above for details.)
Attributes of the Password Policy Subentry
Attributes for Password Policy are attributes of Password Policy subentries. These subentries administer the password policy for the directory. DirX Directory supports:
-
A global Password Policy subentry CN=GlobalPasswordPolicy:
The attributes of this subentry specify the standard password policy for the directory. DirX Directory automatically creates this subentry with a default subtree specification so that it applies to all entries in the DIT ({SS={DEF=TRUE}}). The administrator may modify the attributes specifying the password policy using the DAP or LDAP protocol. The global Password Policy subentry applies to all entries that are not controlled by a more specific Password Policy subentry.
The attributes specifying the format of the stored user password attributes (Password Storage Scheme, Password Storage Scheme Algorithm and Password Storage Scheme Level) can be administered only in this global Password Policy subentry. They are ignored if specified in a specific Password Policy subentry. -
Specific Password Policy subentries:
Specific Password Policy subentries can be created below an administrative point (ADM-Point) if the Administrative Role of the ADM-Point has the value passwordPolicySpecificArea (PPSA). As for every subentry the Subtree Specification attribute controls the relevance of the subentry. The object class of specific Password Policy subentries must contain the values subEntry and pwdPolicy.
No innerPasswordPolicySpecificArea is supported. Furthermore the DSA rejects the coexistence of more than one specific Password Policy subentry in a particular passwordPolicySpecificArea. An object class violation error is returned.
There is exactly one Password Policy subentry for each entry in the DIT, either the global one or a specific one - if there is a specific Password Policy subentry up in the tree which is relevant for the entry in terms of the Subtree Specification.
The attributes of the Password Policy subentries control how passwords are used and administered. They provide a set of rules that ensures that
-
Passwords meet construction requirements to prevent users from choosing easy-to-guess passwords (attributes: Password Check Syntax, Password Minimum Length, Password Maximum Length, Password Minimum Lower Case Characters, Password Minimum Upper Case Characters, Password Minimum Digits, Password Minimum Special Character, Password Exclude Name)
-
The re-use of old passwords is restricted (attribute: Password In History)
-
Users change their password periodically (attributes: Password Minimum Age, Password Maximum Age, Password Expire Warning, Password Grace Login Limit)
-
Accounts are locked out after failed logins (attributes: Password Lockout, Password Lockout Duration, Password Failure Counter Interval, Password Maximum Failure, Password Must Change)
-
Login information is stored at the user’s entry, for example the number of failed logins (attribute: Password Store Login Info)
-
Particular users can be excluded from the password policy rules by means of the Password Policy Exclusions attribute
They also provide information about level and algorithm of password hashing (attributes: Password Storage Scheme, Password Storage Scheme Algorithm, Password Storage Scheme Level). The DSA evaluates these attributes only if they are contained in the global Password Policy subentry. Adding them to specific Password Policy subentries has no effect on the storage of user passwords.
To support the rules for the restricted re-use of old passwords, the password expiration, and the account lockout each user entry provides a set of directory operational password policy attributes. See section titled Password Policy Attributes for details.
The DSA creates the global Password Policy subentry under the root DSE with the DN /cn=globalPasswordPolicy if this subentry does not exist at start up time of the DSA. This subentry contains the following attributes specifying the default password policy:
-
Password Check Syntax (pwdCheckQuality, pwdCheckSyntax, PPCHSY, value: 0 – Syntax checking disabled)
-
Password Minimum Length (pwdMinLength, PPMINL, value: 0)
-
Password Maximum Length (pwdMaxLength, PPMAXL, value: 0)
-
Password Minimum Lower Case Character (pwdMinLowerCase, PPMINLO, value: 0)
-
Password Minimum Upper Case Character (pwdMinUpperCase, PPMINUP, value: 0)
-
Password Minimum Digit (pwdMinDigit, PPMINDI, value: 0)
-
Password Minimum Special Character (pwdMinSpecialChar, PPMINS, value: 0)
-
Password Exclude Name (pwdExcludeName, PPEXCNA, value: 0)
-
Password In History (pwdInHistory, PPINHI, value: 0)
-
Password Minimum Age (pwdMinAge, PPMINA, value: 0)
-
Password Maximum Age (pwdMaxAge, PPMAXA, value: 0)
-
Password Expire Warning (pwdExpireWarning, PPEXWA, value: 0)
-
Password Grace Login Limit (pwdGraceLoginLimit, PPGRLL, value: 0)
-
Password Lockout (pwdLockout, PPLOCK, value: FALSE)
-
Password Lockout Duration (pwdLockoutDuration, PPLODU, value: 0)
-
Password Maximum Failure (pwdMaxFailure, PPMAXF, value: 0)
-
Password Failure Counter Interval (pwdFailureCountInterval, PPFCIN, value: 0)
-
Password Must Change (pwdMustChange, PPMUCH, value: FALSE)
-
Password Store Login Info (pwdStoreloginInfo, PPSTLI, value: 0)
-
Password Storage Scheme (pwdStorageScheme, PPSTSC, value: ssha – User password values are hashed according to salted SHA)
-
Password Storage Scheme Algorithm (pwdStorageSchemeAlgo, PPSTSA, value: SHA-256)
-
Password Storage Scheme Level (pwdStorageSchemeLevel, PPSTSL, value: 2)
-
Password Policy Exclusions (pwdExclusions, PPEXCL, no value)
Use the dirxcp obj operations to modify the attributes of the global Password Policy subentry or to create and modify subtree specific Password Policy subentries. Modifications of a Password Policy subentry become effective immediately.
The following sections provide information about the attributes of password policy subentries.
Password Check Syntax
The Password Check Syntax attribute is a single-valued attribute specifying how the password syntax is checked. Specify one of the following values:
-
0 - Syntax checking is disabled.
-
1 - Syntax checking is enabled for password values in clear text format. If the server is unable to check the syntax (due to a hashed password) the password is accepted.
-
2 - Syntax checking is enabled for password values in clear text format. If the server is unable to check the syntax the password is rejected. (That is only passwords in clear text format are accepted if the syntax is checked successful.)
The default value is 0.
The value of this attribute affects checking with respect to the following attributes:
-
Password Minimum Length
-
Password Maximum Length
-
Password Minimum Lower Case Character
-
Password Minimum Upper Case Character
-
Password Minimum Digit
-
Password Minimum Special Character
-
Password Exclude Name
-
Password In History
If another value than described above is specified the DSA ignores the value of this attribute and establishes the default behavior.
Password Minimum Length
The Password Minimum Length attribute is a single-valued attribute specifying the minimum number of octets that must be used in a password when syntax checking is enabled (that is the Password Check Syntax attribute value is 1 or 2). (See section titled Password Check Syntax above for details.)
The default value is 0 (no minimum password length is enforced).
Password Maximum Length
The Password Maximum Length attribute is a single-valued attribute specifying the maximum number of octets that can be used in a password when syntax checking is enabled (that is the Password Check Syntax attribute value is 1 or 2). (See section titled Password Check Syntax above for details.)
The default value is 0. The maximum password length is not restricted by the password policy. However it is restricted to 128 octets by the X.520 standard.
If a value lower than Password Minimum Length or the sum of Password Minimum Lower Case Character, Password Upper Case Character, Password Minimum Digit and Password Minimum Special Character is specified, the DSA ignores the value of this attribute and establishes the default behavior.
Password Minimum Lower Case Character
The Password Minimum Lower Case Character attribute is a single-valued attribute specifying the minimum number of lowercase characters (a-z) that must be used in a password when syntax checking is enabled (that is, when the Password Check Syntax attribute value is 1 or 2). (See the section Password Check Syntax for details.)
The default value is 0 (no minimum number of lowercase characters is enforced).
Password Minimum Upper Case Character
The Password Minimum Upper Case Character attribute is a single-valued attribute specifying the minimum number of uppercase characters (A-Z) that must be used in a password when syntax checking is enabled (that is, when the Password Check Syntax attribute value is 1 or 2). (See the section Password Check Syntax for details.)
The default value is 0 (no minimum number of uppercase characters is enforced).
Password Minimum Digit
The Password Minimum Digit attribute is a single-valued attribute specifying the minimum number of digits (0-9) that must be used in a password when syntax checking is enabled (that is, when the Password Check Syntax attribute value is 1 or 2). (See the section Password Check Syntax for details.)
The default value is 0 (no minimum number of digits is enforced).
Password Minimum Special Character
The Password Minimum Special Character attribute is a single-valued attribute specifying the minimum number of special characters (any octet outside the range of A-z and 0-9) that must be used in a password when syntax checking is enabled (that is, when the Password Check Syntax attribute value is 1 or 2). (See the section Password Check Syntax for details.)
The default value is 0 (no minimum number of special characters is enforced).
Password Exclude Name
The Password Exclude Name attribute is a single-valued attribute specifying whether the password is rejected if it has a substring that matches the user’s name. The rule is checked when syntax checking is enabled (that is, when the Password Check Syntax attribute value is 1 or 2). (See the section Password Check Syntax for details.)
Specify one of the following values:
-
0 - No restriction.
-
1 - Passwords are rejected if the value is a case-ignored substring of the user’s distinguished name (DN) in LDAP format; for example, the user cn=abele,ou=sales,o=my-company cannot set his password to Bele,Ou.
-
2 - Passwords are rejected if the user’s relative distinguished name (RDN) is a case-ignored substring of the password; for example, the user cn=abele,ou=sales,o=my-company cannot set his password to Abele1.
-
3 - Passwords are rejected if either the condition for value 1 or the condition for value 2 applies.
The default value is 0.
Password In History
The Password In History attribute is a single-valued attribute specifying the number of most recently used passwords that are prohibited for reuse when syntax checking is enabled (that is, when the Password Check Syntax attribute value is 1 or 2). (See the section Password Check Syntax for details.). The most recently used password values are stored in the directory operational Password History attribute.
The default value is 0, which permits any previously used password to be reused.
The maximum supported number is 24. If a number greater than 24 is specified, the DSA ignores the value of this attribute and establishes the default behavior.
Password Minimum Age
The Password Minimum Age attribute is a single-valued attribute specifying the number of seconds that must elapse between modifications to the password. The default value is 0 (seconds).
Password Maximum Age
The Password Maximum Age attribute is a single-valued attribute specifying the number of seconds after which a password expires. The default value is 0 (the password never expires).
If a password maximum age is specified, we recommend disabling LDAP backend sharing and setting the LDAP Unbind delay time to 0 to avoid successful binds using an expired password. (See the sections LDAP Unbind Delay Time and LDAP Backend Sharing in this chapter for details.)
Password Expire Warning
The Password Expire Warning attribute is a single-valued attribute specifying when the DSA starts to return password expiration warning messages to an authenticating user. A successful bind operation returns the warning message "Warning: password expires in n seconds." where n specifies the number of seconds after which the user’s password will expire. If a value n greater than 0 is specified, the password expires n seconds after sending the first expiration warning.
The default value 0 specifies that no warnings are returned.
Password Grace Login Limit
The Password Grace Login Limit attribute is a single-valued attribute specifying the maximum number of times an expired password can be used to authenticate. A successful bind operation due to the Password Grace Login Limit attribute returns the warning message "Warning: n grace logins left." where n specifies the number of remaining grace logins.
The default value is 0 (authentication fails when using an expired password).
Password Lockout
The Password Lockout attribute is a single-valued attribute specifying whether the password can be used to authenticate after a specific number of consecutive failed bind attempts. The maximum number of consecutive failed bind attempts is specified in the Password Maximum Failure (PPMAXF, pwdMaxFailure) attribute. The time period within which the failed logins are counted is specified in the Password Failure Counter Interval (PPFCIN, pwdFailureCountInterval) attribute. The lockout duration is specified in the Password Lockout Duration (PPLODU, pwdLockoutDuration) attribute.
Specify one of the following values for the Password Lockout attribute:
-
TRUE - The password cannot be used to authenticate after pwdMaxFailure number of consecutive failed bind attempts. (Password lockout policy is enabled.)
-
FALSE - The password can be used to authenticate after pwdMaxFailure number of consecutive failed bind attempts. (Password lockout policy is disabled.)
The default value is FALSE.
If a password lockout policy is enabled, we recommend disabling LDAP backend sharing and setting the LDAP Unbind delay time to 0 to avoid successful binds using a locked-out account. (See the sections LDAP Unbind Delay Time and LDAP Backend Sharing in this chapter for details.)
Password Lockout Duration
The Password Lockout Duration attribute is a single-valued attribute specifying the number of seconds during which a password cannot be used to authenticate after a specific number of consecutive failed bind attempts. This attribute is evaluated only if the password lockout policy is enabled. (The Password Lockout attribute value is TRUE.)
The default value is 0. (The password cannot be used to authenticate until unlocked by an administrator.)
An administrator can unlock an account at any time. (See the Password Locked Time attribute for information on how to unlock a password.)
Password Maximum Failure
The Password Maximum Failure attribute is a single-valued attribute specifying the number of consecutive failed bind attempts after which the password cannot be used to authenticate. This attribute is evaluated only if the password lockout policy is enabled. (The Password Lockout attribute value is TRUE.)
The default value is 0. (Disables the password lockout policy.)
Password Failure Counter Interval
The Password Failure Counter Interval attribute is a single-valued attribute specifying the number of seconds after which the password failures are purged from the failure counter (the DSA operational Password Failure Time attribute) even though no successful authentication was performed. This attribute is evaluated only if the password lockout policy is enabled. (The Password Lockout attribute value is TRUE.)
The default value 0 specifies that the failure counter is only reset by a successful authentication.
Password Must Change
The Password Must Change attribute is a single-valued attribute specifying whether the user must change his password when he binds to the directory for the first time after an administrator has set or reset his password. Specify one of the following values:
-
TRUE - The user must change his password after an administrator has set or reset the password.
-
FALSE - The user is not required to change his password.
Whether an administrator has set or reset a password is saved in the directory operational Password Reset (pwdReset, PPORSET) attribute of each entry. (See the Password Reset (pwdReset, PPORSET) attribute for details.)
The default value is FALSE.
Password Store Login Info
The Password Store Login Info attribute is a single-valued attribute specifying login-related information (bind operation-related information) stored at the user’s entry. Specify one of the following values:
-
0 - No information about logins is stored.
-
1 - The number of failed logins is stored in the user’s entry. If a bind operation fails due to an Invalid Credentials error, the value of the user entry’s Password Number of Failed Logins attribute is incremented. (See the Password Number of Failed Logins attribute (pwdNumberOfFailedLogins, PPONOFL) for details.)
-
2 - The time of the most recent successfully-performed bind operation is stored in the user entry’s Password Last Login Time attribute. (See the Password Last Login Time attribute (pwdLastLoginTime, PPOLLOT) for details.)
-
3 - The number of failed logins and the time of the most recent successfully-performed bind operation are stored at the user’s entry.
The default value is 0.
If a value other than the values described here is specified, the DSA ignores the value of this attribute and establishes the default behavior.
Password Storage Scheme
The Password Storage Scheme attribute is a single-valued attribute specifying the algorithm used to hash user password values. (See also Password Encryption in User Password.) Specify one of the following values (case-insensitive):
-
sha - A SHA algorithm is used to hash user password values.
-
ssha - A Salted SHA algorithm is used to hash user password values.
-
plain - User password values are not hashed.
The default value is ssha.
If a value other than plain is specified, specify the level of password hashing in the Password Storage Scheme Level attribute.
If the value plain is specified and the user password of an entry is stored in hashed format - for example, the entry has been created by an LDIF file import - this entry cannot bind using the clear text password. To perform the bind successfully, the Password Storage Scheme attribute must be set to sha or ssha and the Password Storage Scheme Level attribute must be set at least to 1 (Basic Level).
The SSHA format is the most secure format because the SHA algorithm is applied to a concatenation of the current user password value and a random string.
In order to be able to compare two user password values, one of the values must be a clear text value. It is theoretically impossible to compare two values that are salted hashed or hashed with different algorithms. In these cases, the following operations always fail and return an Unwilling to Perform error:
-
obj compare (-attribute option)
-
obj modify (-changeattr, -removeattr, -replaceattr options)
-
obj search (-filter option)
These operations work if one of the user password values (usually the value in the request) is specified in clear text format, regardless of the hashing scheme and algorithm used for the stored user password value.
The DSA evaluates this attribute only if it is contained in the global Password Policy subentry. It ignores this attribute if it is contained in specific Password Policy subentries.
Password Storage Scheme Algorithm
The Password Storage Scheme Algorithm attribute is a single-valued attribute specifying the hash algorithm that the DSA uses to hash a user password if the value of the Password Storage Scheme attribute is not plain. Specify one of the following values:
-
1 - The DSA uses the algorithm SHA-1 for hashing the user password.This action results in user password values starting with the tag {SHA1}.
-
224 - The DSA uses the algorithm SHA-224 for hashing the user password.This results in user password values starting with the tag {SHA224}.
-
256 - The DSA uses the algorithm SHA-256 for hashing the user password.This action results in user password values starting with the tag {SHA256}.
-
384 - The DSA uses the algorithm SHA-384 for hashing the user password.This action results in user password values starting with the tag {SHA384}.
-
512 - The DSA uses the algorithm SHA-512 for hashing the user password.This action results in user password values starting with the tag {SHA512}.
The default value is 1. (See the section Password Encryption in the User Password section for details.)
The DSA evaluates this attribute only if it is contained in the global Password Policy subentry. It ignores this attribute if it is contained in specific Password Policy subentries.
Note: Do not use a value other than 1 if the password is going to be used by a DSA that is older than version DirX Directory 8.3.
Password Storage Scheme Level
The Password Storage Scheme Level attribute is a single-valued attribute specifying the level of password hashing if the value of the Password Storage Scheme attribute is not plain. Specify one of the following values:
-
1 (Basic Level) - The hashing of a stored password is taken into account when performing an operation; for example, when evaluating a filter in a search operation.
-
2 (Read Level) - When a password in clear text format is read, it is converted into the corresponding hash format before returning it to the requestor or writing it into an LDIF file.
-
3 (Read and Write Level) - When a password in clear text format is to be written into the database, it is converted into the corresponding hash format before saving it.
The default value is 2. (See section titled Password Encryption in the User Password section for details.)
The DSA evaluates this attribute only if it is contained in the global Password Policy subentry. It ignores this attribute if it is contained in specific Password Policy subentries.
Password Attribute Type
The Password Attribute Type attribute is a single-valued attribute specifying the password attribute type to which the password policy is applied. The default value is the OID of the userPassword attribute type (2.5.4.35). The DSA ignores the value of this attribute. It always applies the specified policies to the userPassword attribute type.
Password Allow User Change
The Password Allow User Change attribute is a single-valued attribute specifying whether a user can change his own password. Specify one of the following values:
-
TRUE - The user can change his own password.
-
FALSE - The user cannot change his own password.
The default value is TRUE.
The DSA does not support this attribute. Access control can be used to allow or deny a user to change his password.
Password Safe Modify
The Password Safe Modify attribute is a single-valued attribute specifying whether or not the old password value must be specified when changing the password. Specify one of the following values:
-
TRUE - The old password value must be specified.
-
FALSE - The old password value does not need to be specified.
The default value is FALSE.
The DSA does not support this attribute.
Password Policy Exclusions
The Password Policy Exclusions attribute is a multi-valued attribute specifying distinguished names of entries. The distinguished names can point to leaves or nodes. Password Policy checks concerning Password Aging and Account Locking are not performed during an operation if the target entry’s DN matches or contains one of the Password Policy Exclusions values. The target entry of an operation is the bind requestor or the DN of an entry whose userPassword is to be modified.
The default is no value.
Notes:
-
The Password Storage Scheme (see attributes Password Storage Scheme and Password Storage Scheme Level above) does not depend on Password Policy Exclusions; that is, the userPassword of all users is treated in the same way with respect to the storage scheme.
Attributes of the Proxied Authorization Control Subentry
The Proxied Authorization Control subentry stores the policy for operations that carry the Proxied Authorization control according to RFC 4370.
The Proxied Authorization control provides a mechanism for specifying an authorization identity on a per-operation basis. It allows an LDAP client to request that an operation be performed under a given authorization identity instead of under the current authorization identity associated with the session. This mechanism enables a user to perform operations efficiently on behalf of multiple users without the need to invoke an individual bind operation for each user. The authorization identity (authID) is the key data for the DirX Directory DSA’s access control decision operation in the context of each operation. As a result, proper administration of the privilege to use the Proxied Authorization control is very important.
Proxied authorization uses a single sign-on model of trust: the LDAP client (typically a service-related application) uses a method outside the scope of LDAP (for example HTTPS) to authenticate the user. In subsequent LDAP accesses to the directory service, the LDAP client uses the Proxied Authorization control to transport the authID - which must be represented in DN format - to the DirX Directory DSA. The DSA grants the proxy request 1) if the LDAP client is authenticated and 2) the policy stored in the Proxied Authorization subentry permits the LDAP client to present the specified authID.
There are two entities associated with a Proxied Authorization control:
-
The proxyControlOwner - the user who has performed the bind operation that initiates the session in whose context the operation that contains the Proxied Authorization control occurs
-
The proxiedUser - the user named in the Proxied Authorization control on whose behalf the operation is to be performed
Here is an example of a Proxied Authorization control as it might be sent along with an LDAP request:
Type: 2.16.840.1.113730.3.4.18 Criticality: TRUE Value: “dn:cn=abele,ou=sales,o=my-company”
The "Type" argument specifies the OID that identifies the control as a Proxied Authorization control, the "Criticality" value is mandatory, and the "Value" argument specifies the proxiedUser.
The Proxied Authorization Control subentry provides two attributes for defining Proxied Authorization control policies:
-
The proxyControlOwner attribute, which specifies who (the entity that performs the bind operation to the directory service) is granted proxy rights.
-
The subtreeSpecification attribute, which defines for whom the proxyControlOwner can act as a proxy.
If a request carries the a Proxied Authorization control and the DSA recognizes by the policy stored in the subentry that
-
The user who originated the bind is not a valid proxyControlOwner or
-
The proxiedUser is outside the range of valid authIDs for the particular proxyControlOwner
The DSA returns an error result that is mapped onto the LDAP error code 123 for that particular request.
A Proxied Authorization Control subentry can be created below an administrative point (ADM-Point) if the Administrative Role of the ADM-Point has the value ProxyAuthenticationSpecificArea (PASA).
Proxy Control Owner
The Proxy Control Owner attribute is a multi-valued, mandatory attribute that specifies distinguished names (DNs) of entries to be granted proxy rights via Proxied Authorization controls. The distinguished names must point to leaf entries; that is, every entry that is granted proxy rights must be specified individually.
If there is no Proxied Authorization Control subentry, no entry is granted proxy rights.
Subtree Specification
The Proxied Authorization Control subentry inherits the Subtree Specification attribute from its superior Objectclass subentry as a mandatory attribute. The Subtree Specification attribute restricts the range of authIDs that the entry specified in the Proxy Control Owner attribute is granted to use. The entire range of Subtree Specification values can be used to describe this restriction. (See Subtree-Specification in section X.500 Directory Operational Attributes above and in chapter DirX Directory String Representation for DAP Binds for details).
The following examples illustrate the effects of the Subtree Specification attribute values of this subentry.
Examples (DAP)
SS={DEF=TRUE}
The entry specified by the Proxy Control Owner attribute can act as a proxy for every entry in the entire subtree below the Administrative Point.
SS={BAS={/OU=Sales}}
If the ADM-Point is /O=my-company, the entry specified by the proxyControlOwner attribute can act as a proxy for every entry in subtree below /O=my-company/OU=sales.If the Proxy Control Owner attempts to present, for example, the authID “dn:cn=mayer,o=development,o=my-company” as a proxiedUser in a Proxied Authorization control request, the operation fails and returns the error code 123.
SS={BAS={/OU=Sales}, SF={ITEM=IPER}}
This example represents an further restriction of SS={BAS={/OU=Sales}.Here the Proxy Control Owner can act as a proxy only for every inetOrgPerson entry in the subtree below /O=my-company/OU=sales.
X.500 Directory Operational Attributes
Directory operational attributes represent control information, such as access control information, or other information provided by the Directory, such as when an entry was modified.These attributes can be viewed and manipulated using dirxcp.
Attributes for Access Control
The following directory operational attributes are used to grant or deny users access to directory information.
Access Control Scheme
The Access Control Scheme attribute specifies the means by which access to the Directory information and potentially to access rights themselves may be controlled within an access control-specific area.The attribute is placed in the administrative entry for the corresponding administrative point.Only administrative entries for access control-specific points contain the Access Control Scheme attribute.
The Access Control Scheme attribute can have the following values:
-
BACS basic-access-control scheme
-
SACS simplified-access-control scheme
Entry ACI
The Entry ACI attribute specifies the local access control requirements applicable to a single entry. (See ACI-Item syntax for details.)
Prescriptive ACI
The Prescriptive ACI attribute is an attribute of a subentry that specifies access control information applicable to entries within a subentry´s scope. (See ACI-Item syntax for details.)
Example (DAP)
PACI={ID=Some authenticated users can Read all entries,
PR=50,
AL={BL={L=SIMPLE}},
UF={UC={N={DN={/O=My-Company/CN=admin}};
{DN={/O=My-Company/OU=Sales/CN=Mayer}};
{DN={/O=My-Company/OU=Manufacturing/CN=Ketzer}},
SUB={BAS={/O=My-Company/OU=Development}}},
UP={PI={E=TRUE},
GAD=grantRead+grantBrowse+grantReturnDN};
{PI={AUATV=TRUE},
GAD=grantRead+grantCompare+grantFilterMatch};
{PR=51,
PI={AT=UP},
GAD=denyRead+denyFilterMatch}}};
{ID=Authenticated users can Modify their passwords,
PR=100,
AL={BL={L=SIMPLE}},
UF={UC={TH=TRUE},
UP={PI={E=TRUE},
GAD=grantModify};
{PI={AT=UP,
AAV=UP},
GAD=grantAdd+grantRemove}}};
{ID=The administrator has additional permissions,
PR=254,
AL={BL={L=SIMPLE}},
UF={UC={N={DN={/O=My-Company/CN=admin}}},
UP={PI={E=TRUE},
GAD=grantAdd+grantRemove+grantModify};
{PI={AUATV=TRUE},
GAD=grantAdd+grantRemove};
{PI={AT=CRN;CRT;MN;MT},
GAD=grantRead}}
}
Attributes of Information Framework
The following directory operational attributes are used for controlling aspects of the DirX Directory information framework.
Administrative Role
The Administrative Role attribute specifies the administrative role of an entry representing an administrative point; that is, the type of an administrative point. It is also used to regulate the subentries permitted to be subordinate to an administrative entry.
Valid values for the Administrative Role attribute are:
-
AA autonomous area
-
ACSA access control specific area
-
ACIA access control inner area
-
CAIA collective attribute inner area
-
CASA collective attribute specific area
-
PASA proxy authorization specific area
-
PPSA password policy specific area
-
SASA subschema administrative area
Collective Exclusions
The Collective Exclusions attribute specifies the collective attribute types that should be excluded from an entry. The values are object identifiers for the collective attributes that are to be excluded. The value XACA (OID: 2.5.18.0) excludes all collective attributes from an entry.
Creators Name
The Creators Name attribute specifies the distinguished name of the Directory user that created an entry.
DirX Directory Entry UUID
The DirX Directory Entry UUID attribute specifies a unique identifier that the DirX Directory DSA creates at entry creation time.
Modifiers Name
The Modifiers Name attribute specifies the distinguished name of the Directory user that last modified an entry.
Modification Time
The Modification Time attribute specifies the time that an entry was last modified.
Number of Subordinates
The Number of Subordinates attribute specifies the number of immediate subordinates of an entry. This is a virtual attribute. It must not be used in search filters. If it is used in a search filter, an Unwilling to Perform error will be returned.
Number of All Subordinates
The Number of All Subordinates attribute specifies the number of all subordinates of an entry. This is a virtual attribute. It must not be used in search filters. If it is used in a search filter, an Unwilling to Perform error will be returned.
Attributes for Schema Administration
The following directory operational attributes are used to control aspects of DirX Directory schema administration.
Governing Structure Rule
The Governing Structure Rule attribute specifies the governing structure rule of an entry.
Attributes for Database Configuration
The following directory operational attributes are used for controlling DirX Directory database configuration.
Attribute Index
The Attribute Index attribute is a proprietary DirX Directory attribute that provides information about the actual index configuration of an attribute type. It is an attribute of the database configuration subentry CN=DB-Configuration-Subentry and is used only for display purposes.
Attribute Outsourcing
The Attribute Outsourcing attribute is a proprietary DirX Directory attribute that is used to configure outsourced attributes. It is an attribute of the database configuration subentry CN=DB-Configuration-Subentry. This attribute should not be changed directly via modify operations. Instead use the dirxadm attr operations. See the attr reference page in the DirX Directory Administration Reference for details.
Password Policy Attributes
In order to support the password policy procedures specified by the relevant password policy subentry, each user entry contains a set of operational attributes that provides information about the current status of the user’s password. This set of attributes provides state information to support procedures for
-
password checking
-
password aging
-
account lockout
-
password administration
-
storing login information
Attributes Supporting Password Checking
To support password-checking procedures for reusing old passwords, each user entry contains the Password History attribute. The following section describes this attribute.
Password History Attribute
The Password History attribute is a multi-valued attribute saving the last recently used password values. The password values are stored in an internal format containing the password modification timestamp, the object identifier of the attribute, and the SHA-1 hashed password value.
This attribute is neither written to LDIF files nor replicated via DISP.
This attribute is maintained by the DSA. Read or write access should not be granted even to administrative users.
Attributes Supporting Password Aging
To support password-aging procedures for password expiration, each user entry contains the Password Changed Time, the Password Expiration Warned, and the Password Grace Use Time attributes. The following sections describe these attributes.
Password Changed Time Attribute
The Password Changed Time attribute is a single-valued attribute that stores the timestamp at which the entry’s password was changed.
This attribute is written to LDIF files and replicated via DISP.
It is maintained by the DSA during the modify operation. Read or write access should not be granted even to administrative users.
Password Expiration Warned
The Password Expiration Warned attribute is a single-valued attribute that saves the timestamp at which the password expiration warning was initially sent. The password expires Password Expire Warning seconds after the first warning has been sent. The Password Expire Warning attribute is an attribute of the relevant Password Policy subentry.
It is maintained by the DSA during the bind operation, by default on the local DSA only. Therefore, in a shadowing scenario, a user’s entry may have different values for this password policy-related operational attribute on different DSAs.
Setting the environment variable DIRX_GLOBAL_PPO_STATES to 1 directs the DSA to distribute and replicate changes to the Password Expiration Warned operational attribute to all DSAs in a shadowing scenario, creating a globally consistent password policy state for the user.
Read or write access should not be granted even to administrative users.
Password Grace Use Time
The Password Grace Use Time attribute is a multi-valued attribute saving the timestamps of grace-logins, which are logins that are granted even though an expired password has been used.
It is maintained by the DSA during the bind operation, by default on the local DSA only. Therefore, in a shadowing scenario, a user’s entry may have different values for this password policy-related operational attribute on different DSAs.
Setting the environment variable DIRX_GLOBAL_PPO_STATES to 1 directs the DSA to distribute and replicate changes to the Password Grace Use Time operational attribute to all DSAs of a shadowing scenario, creating a globally consistent password policy state for the user.
Read or write access should not be granted even to administrative users.
The Password Grace Login Limit attribute of the relevant Password Policy subentry specifies the maximum number of times an expired password can be used to authenticate.
Attributes Supporting Account Lockout
To support password account lockout procedures, each user entry contains the Password Account Locked Time and the Password Failure Time attributes. The following sections describe these attributes.
Password Account Locked Time Attribute
The Password Account Locked Time attribute is a single-valued attribute saving the timestamp the account was locked that is the password can no longer be used to authenticate.
The DSA locks an account during the bind operation if the lock conditions are met (specified in the attributes Password Lockout, Password Maximum Failure and Password Failure Counter Interval of the relevant Password Policy subentry). By default, the Account Locked Time is set on the local DSA only. Therefore, in a shadowing scenario, a user’s entry may have different values for this password policy-related operational attribute on different DSAs.
Setting the environment variable DIRX_GLOBAL_PPO_STATES to 1 directs the DSA to distribute and replicate changes to Password Account Locked Time to all DSAs in a shadowing scenario, creating a globally consistent account lock state for the user.
Usually the account is unlocked when performing a successful bind operation and at least Password Lockout Duration seconds has elapsed after the Password Account Locked Time. The Password Lockout Duration is an attribute of the relevant Password Policy subentry.
A value of 19700101000000Z (in GMT format) indicates that the account has been locked permanently and only an administrator can unlock the account by deleting this attribute; for example, with a dirxcp modify entry operation.
The administrator can lock an account by adding this attribute to a user’s entry.
If the administrator has locked or unlocked an account on the master DSA of the user’s entry, the value of this attribute is replicated; that is, the account is locked or unlocked on all DSAs participating in the directory system. If the account has been locked on a master or shadow entry while performing a bind or compare operation, the value of this attribute is not replicated; that is, the account is locked only on a single DSA.
Administrative users should be granted read and write permissions.
Password Failure Time
The Password Failure Time attribute is a multi-valued attribute saving the timestamps of consecutive authentication failures.
It is maintained by the DSA during the bind operation, by default on the local DSA only. Therefore, in a shadowing scenario, a user’s entry may have different values for this password policy- related operational attribute on different DSAs.
Setting the environment variable DIRX_GLOBAL_PPO_STATES to 1 directs the DSA to distribute and replicate changes to Password Failure Time to all DSAs in a shadowing scenario, creating a globally consistent password policy state for the user.
Read or write access should not be granted even to administrative users.
If the Password Lockout policy is enabled (the value of the Password Lockout attribute of the relevant Password Policy subentry is TRUE), the user’s account is locked after Password Maximum Failure consecutive failed bind attempts have occurred within the period of time specified in Password Failure Counter Interval. The account is locked for Password Lockout Duration seconds. The Password Maximum Failure, Password Lockout and the Password Failure Counter Interval attribute are attributes of the relevant Password Policy subentry.
As long as an account is not locked:
-
All Password Failure Time values are deleted when a successful bind occurs.
-
All Password Failure Time values that are older than Password Failure Counter Interval are deleted when an unsuccessful bind occurs.
Attributes Supporting Password Administration
To support password administration procedures each user entry contains the Password Reset attribute. The following sections describe this attribute.
Password Reset Attribute
The Password Reset attribute is a single-valued attribute specifying whether (value TRUE) or not (value FALSE) a user must change his password after he has performed a successful bind operation.
An administrator usually forces a user to change his password by modifying or adding this attribute with the value TRUE together with resetting the user’s password; for example, because the user has forgotten his password.
The user may use the re-set password to authenticate during the bind operation. However, all operations except a modify password operation are prohibited. The DSA rejects these operations with the error code Unwilling to perform and the error message Password Modification is the only operation allowed due to Password Policy. Perform the following dirxcp operation to modify the password:
obj modify [distinguished_name] [-bindid bid]
–replaceattr {userPassword=new_user_password}
For example:
obj modify {cn=mueller peter,ou=board,o=my-company} \
-replaceattr {userPassword=xWersT}
The Password Safe Modify (PPSAMO, pwdSafeModify) attribute must also be FALSE. It is not possible to use another kind of modify operation to change the user password.
Attributes Supporting Storing of Login Information
To support the storing of login information, each user entry contains the Password Number of Failed Logins and the Password Last Login Time operational attributes. The following sections describe these attributes.
Password Number of Failed Logins Attribute
The Password Number of Failed Logins attribute is a single-valued attribute recording the number of unsuccessful bind operations. The value of this attribute is incremented when a bind operation fails due to an Invalid Credentials error if the password policy Password Store Login Info (pwdStoreloginInfo) attribute has a value of 1 or 3.
Disabling this feature by setting the Password Store Login Info attribute in the relevant password policy subentry to a value of 0 or 2 does not delete or modify the counter.
The purpose of this attribute is only informational; it is not evaluated by any password policy procedure. The scope of this operational attribute is local; that is, the value of the Password Number of Failed Logins attribute in a replicated environment represents the number of failed logins at the local DSA. This attribute is independent from the setting of the environment variable DIRX_GLOBAL_PPO_STATES.
Administrative users should be granted read permissions.
Password Last Login Time Attribute
The Password Last Login Time attribute is a single-valued attribute recording the time of the most recent successful bind operation. The value of this attribute is set as a result of a successful bind operation if the password policy Password Store Login Info (pwdStoreloginInfo) attribute has a value of 2 or 3.
Disabling the feature by setting the Password Store Login Info attribute in the relevant password policy subentry to a value of 0 or 1 does not delete or modify the value of this operational attribute.
The purpose of this attribute is only informational; it is not evaluated by any password policy procedure. The scope of this operational attribute is local; that is, the value of the Password Last Login Time attribute in a replicated environment represents the time of the most recent successful bind to the local DSA. This attribute is independent from the setting of the environment variable DIRX_GLOBAL_PPO_STATES.
Administrative users should be granted read permissions.
Attributes for Synchronous Shadowing
The following operational attributes are used by a DSA when it is part of a synchronous shadowing configuration. For more information about synchronous shadowing, see the dirxadm sob create operation in the DirX Directory Administration Reference and the chapter “Creating a Synchronous Shadow DSA” in the DirX Directory Administration Guide.
DirX Directory Backup Type
The DirX Directory Backup Type attribute is generated or modified by the supplier DSA when a total update by media is configured and a database backup is started. The attribute value contains the name of the backup type which was initiated. The administrator can choose between two database backup types:
-
Dirxbackup, which requires binary compatibility between the supplier DSA and the consumer DSA.
-
ldif_dump, which dumps the database in LDIF format with dirxadm and does not require binary compatibility between the supplier DSA and the consumer DSA.
This attribute is part of the backup signature. See “Creating a Synchronous Shadow DSA” -> “Performing a Total Update by Media” in the DirX Directory Administration Guide for more information on this topic.
DirX Directory Backup Time
The DirX Directory Backup Time attribute is generated or modified by the supplier DSA when a total update by media is configured and a backup is started. It contains the time stamp of the start of the backup.
This attribute is part of the backup signature. See “Creating a Synchronous Shadow DSA” -> “Performing total update by media” in the DirX Directory Administration Guide for more information on this topic.
DirX Directory Backup MSN
The DirX Directory Backup MSN attribute is generated respectively modified by the supplier DSA when a total update by media is configured and a backup is started and contains the value of attribute DirX Directory Recent MSN at the time of the start of the backup.
This attribute is part of the backup signature. See “Creating a Synchronous Shadow DSA” -> “Performing total update by media” in the DirX Directory Administration Guide for more information on this topic.
DirX Directory Backup DSAName
The DirX Directory Backup DSAName attribute is generated or modified by the supplier DSA when a total update by media is configured and a backup is started. It contains the name of the supplier DSA as specified in the environment variable DIRX_DSA_NAME.
This attribute is part of the backup signature. See “Creating a Synchronous Shadow DSA” -> “Performing total update by media” in the DirX Directory Administration Guide for more information on this topic.
DirX Directory Entry MSN
The DirX Directory Entry MSN attribute specifies the modification sequence number (MSN) of the last update operation of the DSE. It is an attribute of the DSE. The value of this attribute is equal to the value of the DirX Directory Recent MSN attribute at the time of the update operation.
DirX Directory In Sync
The DirX Directory In Sync (CINS) attribute shows the status of data synchronicity in a synchronous shadowing configuration. It is an attribute of the subentry /CN=DirXDBVersionSubentry. On the master DSA, the value of this attribute is always TRUE. On a consumer DSA, the attribute can have a value of FALSE if the shadowing agreement has been disabled, a total update is running, or an error has occurred. In this case, you can use the dirxadm sob show command with the
–supplier option on the supplier DSA to display more information about the status of the shadowing agreement. See the dirxadm section in the DirX Directory Administration Reference for details on the sob show command.
DirX Directory Recent DN
The DirX Directory Recent DN attribute shows the distinguished name (DN) of the last update operation. It is an attribute of the subentry CN=DirXDBVersionSubentry.
DirX Directory Recent MSN
The DirX Directory Recent MSN (RSMN) attribute specifies a modification sequence number (MSN) that uniquely identifies the version of a DSA database. It is an attribute of the subentry /CN=DirXDBVersionSubentry. The master DSA increments the DirX Directory Recent MSN attribute each time it performs an update operation and stores the value in the local subentry. At each incremental refresh, the master DSA propagates the value of the DirX Directory Recent MSN attribute to all synchronous shadow consumer DSAs.
DirX Directory Recent MSN Time Stamp
The DirX Directory Recent MSN Time Stamp attribute holds the last modification time stamp of the last update operation. It is an attribute of the subentry /CN=DirXDBVersionSubentry.
Attributes for Nested and Dynamic Groups
The following operational attributes can be used by the administrator for nested and dynamic group management.
DirX Directory Member
The DirX Directory Member attribute can be requested in search operations. It is used to show all members of a groupOfNames object and of a nested group object (structural object class groupOfNames plus auxiliary class dirxImportGroup), including all the members that come from the imported groups. It is also used to show all members from a dynamic group object (structural object class dirxGroupOfUrls). The attribute can also be specified in a search filter and is used for matching in nested groups and dynamic groups.
DirX Directory Member Of
The DirX Directory Member Of attribute can be requested in search operations. It shows the DNs of groupOfNames entries in which the resulting entry is a direct member of the group or an indirect member through its inclusion in a nested group or a member of a dynamic group. The attribute can also be specified in a search filter and returns the DNs of the nested and dynamic groups of which the entry is a member.
DirX Directory Member Url
The DirX Directory MemberUrl attribute specifies an LDAP search expression. It is used to define a dynamic group.
DirX Directory Imported Groups
The DirX Directory Imported Groups attribute can be requested in search operations. It shows the DNs of all imported groups of a nested group entry.
X.500 Distributed Operational Attributes
Operational attributes are attributes representing operational and/or administrative information.Distributed operational attributes are used by several DSAs as part of distributed operations; for example, knowledge reference attributes.
Knowledge Reference Attributes
This section describes distributed operational attributes related to knowledge references.
Non Specific Knowledge
The Non Specific Knowledge attribute specifies access points for the master DSAs of one or more naming contexts and/or shadow DSAs for the same or more naming contexts.The context prefixes of the naming context(s) is (are) not known.The immediate superior is known and the access point information is associated with its name.(See Master-And_Shadow-Access-Points syntax for details.) The attribute is multi-valued and managed by the DSA itself.It is accessible only by using dirxadm.
The attribute is held in a DSE of type NSSR and represents non-specific subordinate references.
The DSA may use the attribute information when constructing a continuation reference returned in a DAP or DSP referral, when performing chaining, and when constructing shadowed DSA specific entries of type NSSR provided in the DISP.
Non-specific subordinate references are not supported by the DirX Directory DSAs.
Specific Knowledge
The Specific Knowledge attribute specifies access points for the master DSAs of a naming context and/or shadow DSAs for that naming context. The context prefix of the naming context is known and associated with the access point information. (See Master-And_Shadow-Access-Points syntax for details.) The attribute is single-valued. It is accessible only by using dirxadm.
The attribute is held in a DSE of type SUBR (representing a specific subordinate reference), IMM_SUPR (representing a immediate superior reference), or XR (representing a cross reference).
The DSA may use the attribute information when constructing a continuation reference returned in a DAP or DSP referral, when performing chaining, and when constructing shadowed DSA specific entries of type SUBR, IMM_SUPR, or XR provided in the DISP.
To return LDAP referrals to LDAP clients, the AE component can contain the value of the special naming attribute LDAP URL (abbreviation LURL and syntax Directory-String {32768}). The referral to another LDAP server is returned as LDAP URL. In this case, the presentation address (PSAP) is ignored.
Example (DAP)
SK={MOS={MSAP={AE={/O=my-company/OU=asw/CN=dsa/CN=sni-dsa1},
PSAP={TS=Server19,
NA='TCP/IP!internet=123.45.67.89+port=102'}},
CAT=MASTER};
{MSAP={AE={/O=my-company/OU=asw/CN=dsa/CN=sni-dsa2},
PSAP={TS=Server19,
NA='TCP/IP!internet=139.88.99.1+port=102'}},
CAT=SHADOW}
}
SK={MOS={MSAP={AE={/LURL=ldap:\/\/ldapservice.dec.de:389},
PSAP={TS=X,NA='TCP/IP!internet=127.0.0.1+port=1'}}}}
DirX Directory DSA Operational Attributes
Operational attributes are attributes representing operational and/or administrative information.DSA operational attributes are used only locally to the DSA.
Authentication
This section describes DirX Directory DSA operational attributes related to authentication.
DirX Directory-Admininistrators
The DirX Directory-Administrators attribute specifies the distinguished names of the users that the DSA will recognize as an authorized user of dirxadm.It is an attribute of the root DSE.(See the dse bind operation of the dse (dirxadm) section in the DirX Directory Administration Reference for details.)
Because this attribute is only accessible by using dirxadm, no access using LDAP or DAP protocol is possible.
Knowledge Attributes
This section describes DirX Directory DSA operational attributes related to replication configurations.
Consumer Knowledge
The Consumer Knowledge attribute specifies information about shadow consumers for a particular naming context held by a shadow supplier DSA. It is a multi-valued attribute associated with the context prefix of a naming context. The information identifies the access points of the consumer DSAs and also the identifiers for the corresponding shadowing agreements. (See Consumer-Information syntax for details.)
All shadow supplier DSAs contain a value of this attribute for each shadowing agreement in which they act as a supplier.
The AGR (agreement id) component of the attribute is required in all DISP operations.
Superior Knowledge
The Superior Knowledge attribute is used by non-first level DSAs to specify its superior reference. It is a single-valued attribute of the root-DSE and accessible only by using dirxadm. All non-first level DSAs shall hold this attribute. The attribute is managed by the DSA itself. (See Access-Point syntax for details.)
The DSA may use the attribute information when constructing a continuation reference returned in a DAP or DSP referral or when performing chaining.
Supplier Knowledge
The Supplier Knowledge attribute specifies information about the shadow supplier DSA in a shadow agreement for a particular naming context held by a shadow consumer DSA. It is a multi-valued attribute associated with the context prefix of a shadowed naming context. The attribute consists of the ID and version number that identify the shadow agreement between the supplier and the consumer, the access point for the supplier of the copy of the naming context, and an indication of whether this supplier holds the master copy of the naming context. In addition, the information can optionally include the access point for the master if the supplier does not hold the master copy. (See Supplier-Information syntax for details.)
All shadow consumer DSAs hold a value of this attribute for each shadowing agreement in which they act as a consumer.
The DSA may use the attribute information when constructing a continuation reference returned in a DAP or DSP referral.
The AGR (agreement id) component of the attribute is required in all DISP operations.
Example (DAP)
SUK={SUP={AE={/O=my-company/OU=asw/CN=dsa/CN=sni-dsa1},
PSAP={TS=Server19,
NA='TCP/IP!internet=123.45.67.89+port=102'}},
AGR={ID=1,
VERS=1},
ISM=TRUE,
NSM={AE={/O=my-company/OU=asw/CN=dsa/CN=sni-dsa2},
PSAP={TS=Server19,
NA='TCP/IP!internet=139.88.99.1+port=102'}};
{AE={/O=my-company/OU=asw/CN=dsa/CN=sni-dsa3},
PSAP={TS=Server19,
NA='TCP/IP!internet=139.88.99.2+port=102'}}
}
Secondary Shadows
The Secondary Shadows attribute specifies the suppliers of secondary shadows and their consumers. It is a multi-valued attribute associated with the context prefix of a shadowed naming context. The attribute consists of the access point of a shadow supplier and a list of its direct consumers. (See Supplier-And-Consumers syntax for details.)
Example (DAP)
SES={SUP={AE={/O=my-company/OU=asw/CN=dsa/CN=sni-dsa1},
PSAP={TS=Server19,
NA='TCP/IP!internet=123.45.67.89+port=102'}}},
CON={AE={/O=my-company/OU=asw/CN=dsa/CN=sni-dsa2},
PSAP={TS=Server19,
NA='TCP/IP!internet=139.88.99.2+port=102'}}};
{AE={/O=my-company/OU=asw/CN=dsa/CN=sni-dsa3},
PSAP={TS=Server19,
NA='TCP/IP!internet=139.88.99.3+port=102'}}}
}
Policy Attributes
This section describes DirX Directory DSA operational attributes for establishing policies.
Audit Policy
The Audit Policy attribute specifies the auditing of DirX Directory transactions. It is an attribute of the root-DSE and is managed by the audit (dirxadm) command. (See the audit operation in the DirX Directory Administration Reference for details.)
Because this attribute is only accessible by using dirxadm, no access using LDAP and DAP protocols is possible.
DSA Policy
The DSA Policy attribute specifies information that defines bilateral agreements between the local DSA and other remote DSAs known to it. It is an attribute of the root DSE and is managed by using dirxadm. It supplies information about the authentication procedures for DSP and DISP operations. The attribute is multi-valued. Each value is assigned to a specific DSA or / and contains one or more policy options. (See DSA-Policies syntax for details.)
Because this attribute is only accessible by using dirxadm, no access using LDAP and DAP protocols is possible.
Local Scope Policy
The Local Scope Policy attribute specifies the interpretation of the local-scope service control. It is a single-valued attribute of the root-DSE and is managed by using dirxadm. (See Local Scope Policy syntax for details.)
Because this attribute is only accessible by using dirxadm no access using LDAP and DAP protocols is possible.
Valid values for the Local Scope Policy attribute are:
-
DSA - The local scope is the scope of the DSA. The DSA responds on the basis of information that it holds itself, and does not chain or create referrals or continuation references
-
LOCAL-DOMAIN - The local scope is the scope of the local domain of the DSA. The DSA chains or creates referrals or continuation references only to the group of DSAs in the local domain. A DSA belongs to the same local domain as the local DSA if a DSA policy exists for this DSA with the value OPT=LOCAL-DOMAIN
-
DMD - The local scope is the scope of the Directory Management Domain (DMD) of the DSA. The DSA will chain or create referrals or continuation references only within the group of DSAs configured within the DMD. A DSA belongs to the same DMD as the local DSA if a DSA policy exists for this DSA with the value OPT=DMD
The default value is DSA.
Paging Policy
The Paging Policy attribute specifies the configuration parameters for paged results of search requests. It is an attribute of the root DSE and is managed by using dirxadm. The attribute is single-valued. It is valid for all search operations. (See Paging-Policies syntax for details.)
Because this attribute is only accessible by using dirxadm, no access using LDAP and DAP protocols is possible.
When you want to use simple paging with your client, the administrator should set this global policy.
When one of the specified limits has been exceeded, the DSA returns the error Unwilling To Perform.
Example (dirxadm)
In the following example, resume information kept for paged results is released when no subsequent request has been received for a period of 180 seconds.
Search operations are rejected with the error "Unwilling To Perform" when
- a search operation containing a paged result request requires to allocate resume information while resume information is already kept for 15 other search operations
- the resume information exceeds the maximum amount of 2 MB
PAGP={PTO=180,
MAXNUM=15,
MAXMEM=2048}
Partial Entry Shadowing Policy
The Partial Entry Shadowing Policy attribute specifies the behavior of the DSA when performing DISP protocol on supplier / initiator side; that is, when generating update information messages for shadowing or when writing LDIF files.
If this attribute is not specified or set to FALSE, the total update message segments contain only complete entries. If there is a huge entry to be shadowed or to be written to an LDIF file, for example, an entry that contains a group with huge number of members, it may happen that the system cannot provide enough memory to prepare the update segment and shadowing or writing an LDIF file fails.
If this attribute is set to TRUE, the DSA is able to process partial entries and generate segmented messages or LDIF file records that contain only a part of an entry.
An administrator may set this attribute to TRUE when all the following conditions are met:
-
The DSA acts as a shadow supplier or writes LDIF content files.
-
Total update is performed by sending protocol messages and not done by media.
-
The DSA contains huge entries that cannot be loaded from the database to the memory as a whole; for example, entries that contain groups with a huge number of members.
-
An administrator should set the PESHA attribute to TRUE only when failing TOTAL updates occur because of memory problems.
DSAs providing this policy cannot interoperate with DSAs older than DirX Directory EE V2.0C00 or DirX Directory V7.0B00 or with other vendor implementations. When running your DSA in such interoperation scenarios, you must set this attribute to FALSE.
This attribute is an attribute of the root-DSE and is managed by using dirxadm. The attribute is single-valued.
Because this attribute is only accessible by using dirxadm, no access using LDAP and DAP protocols is possible.
Search Base Policy
The Search Base Policy attribute specifies the topmost level in the DIT where a search operation can be started. It is an attribute of the root DSE and is managed by using dirxadm.
DAP and DSP search requests for subtrees are rejected with the service error administrativeLimitExceeded if the base object contains fewer RDNs than specified in the Search Base Policy attribute.
Because this attribute is only accessible by using dirxadm, no access using LDAP and DAP protocols is possible.
Time Limit Policy
The Time Limit Policy attribute specifies the maximum time limit in seconds for search operations that is accepted by the DSA in user requests. It is an attribute of the root DSE and is managed by using dirxadm.
If the time limit is exceeded, an incomplete result is returned.
Because this attribute is only accessible by using dirxadm, no access using LDAP and DAP protocols is possible.
User Policy
The User Policy attribute specifies policies for DAP users, discriminating between them by name. It is an attribute of the root DSE and is managed by using dirxadm. It supplies information about the user’s required authentication method, whether the users can access the chaining and modify services of the DSA, the maximum number of entries of a retrieval result, and the maximum length of attribute values returned in a retrieval result. The attribute is multi-valued and each value is assigned to a specific user or a group of users. (See User-Policies syntax for details.)
Because this attribute is only accessible by using dirxadm, no access using LDAP and DAP protocols is possible.
Miscellaneous Attributes
This section describes miscellaneous DirX Directory DSA operational attributes.
Cooperating DSA
The Cooperating DSA attribute specifies information about the administered operational bindings with partner DSAs. It is an attribute of a subentry of the root-DSE and is used only for display purposes. The name of the subentry is /CN=Cooperating-DSAS-Subentry. The attribute value should not be modified by the user. It can be accessed by dirxadm only. Use the dirxadm lob and sob show operation to display the value. The dirxadm lob and sob functions must be used to create, modify, or delete the information displayed by this attribute. (See Cooperating-DSA syntax for details.)
The master and supplier DSA of the cooperating DSAs subentry is the DSA that is displayed in the Supplier Knowledge (SUK) attribute of the agreement propagating the cooperating DSA subentry to all participating DSAs. This agreement is created and administrated automatically by the DSA when the administrator creates a shadowing agreement. The supplier of the cooperating DSA is modified by the DSA when the administratior performs a sob switch operation. The cooperating DSA subentry must be the same on all DSAs participating in a network.
Because this attribute is only accessible by using dirxadm, no access using LDAP and DAP protocols is possible.
Example (dirxadm)
-
In the following example the CDSA (Cooperating-DSA) attribute displays the attribute values of two LDIF agreements.
CDSA={SUPP={AE={/O=My-Company/CN=DSA1}, PSAP={TS=DSA1,NA=TCP/IP_IDM!internet=123.45.67.89+port=21100}}, LDIF agreement 1: SOB={SAI={SS={AREA={CP={/O=My-Company}, RA={BAS={/}}},ATT={DEF=TRUE}}, UM={SI={S={PS={WS=1000,UI=1}}}}}, AGR={ID=14057,VERS=0}, OBMV={VF=030401064822Z}, OBS=NONCOOPERATIVE, RPOL={SUPP={MAXLOC=1024}, LDSUPP={BINO=NONE,MAXROW=200, CS=UTF8,CHANGEO=FALSE}}}; LDIF agreement 2: {SAI={SS={AREA={CP={/O=My-Company2},}, RA={BAS={/}}},ATT={DEF=TRUE}}, UM={SI={S={PS={WS=1000,UI=1}}}}}, AGR={ID=16058,VERS=0}, OBMV={VF=030401064822Z}, OBS=NONCOOPERATIVE, RPOL={LDSUPP={CS=LATIN1,CHANGEO=FALSE}}}} -
In the following example the CDSA (Cooperating-DSA) attribute displays the attribute values of two shadowing agreements.
{CDSA={SUPP={AE={/O=My-Company/CN=DSA1} PSAP={TS=DSA1,NA=TCP/IP_IDM!internet=123.45.67.89+port=21100}}, CONS={AE={/O=My-Company/CN=DSA2}, PSAP={TS=DSA2,NA=TCP/IP_IDM!internet=123.45.67.88+port=21100}}, agreement 1: SOB={SAI={SS={AREA={CP={/O=My-Company}, RA={BAS={/}}},ATT={DEF=TRUE}}, UM={SI={S={PS={WS=1000,UI=1}}}}}, AGR={ID=0,VERS=0}, OBMV={VF=030401065354Z}, OBS=NONCOOPERATIVE, RPOL={INI={ATU=TRUE}, SUPP={MAXLOC=100}, CONS={MAXLOC=100,REPLS=TRUE}}}; automatically generated agreement to propagate agreement information to consumer DSA: {SAI={SS={AREA={CP={/CN=Cooperating-DSAS-Subentry}, RA={DEF=TRUE}},ATT={DEF=TRUE}}, UM={SI={OC=TRUE}}}, AGR={ID=1,VERS=0}, OBMV={VF=030401065354Z}, OBS=COOPERATIVE}; agreement 2: {SAI={SS={AREA={CP={/O=My-Company2}, RA={BAS={/}}},ATT={DEF=TRUE}}, UM={SI={S={PS={WS=1000,UI=1}}}}}, AGR={ID=16058,VERS=0}, OBMV={VF=030401065354Z}, OBS=NONCOOPERATIVE, RPOL={SUPP={US=TOTAL},CONS={US=TOTAL}}}}}
DSE Type
The DSE Type attribute specifies the role that a DSE plays in regard to an entry and its distribution. A DSE can have multiple DSE types. A combination of DSE type values is specified by using the + (plus sign). Every DSE in a DSA has this attribute, which is accessible using dirxadm only. (See DSE Type Syntax for details.)
Because this attribute is only accessible by using dirxadm, no access using LDAP and DAP protocols is possible.
Valid values for the DSE Type attribute are:
-
ROOT - Used exclusively by the DSE that represents the root of the DIT in a particular DSA.
-
GLUE - A DSE that represents a name only. A DSA uses glue DSEs to hold the names of the superiors of the context prefixes and cross references where there is no other knowledge associated with them. You cannot assign any other DSE types to a DSE typed as GLUE.
-
CP - A DSE that represents the context prefix of a naming context.
-
ENTRY - A DSE that represents the entry itself, normally including the user attributes. If the SHADOW bit is not set, the DSE represents the master copy of the entry and holds all the attributes associated with the entry.
-
ALIAS - A DSE that represents an alias entry.
-
SUBR - A DSE that represents a specific subordinate reference and holds a corresponding knowledge attribute.
-
NSSR - A DSE that represents a non-specific subordinate reference, and holds a corresponding knowledge attribute.
-
SUPR - A root DSE that holds a knowledge attribute that represents a specific superior reference. (See ROOT value.)
-
XR - A DSE that represents a cross-reference and holds a corresponding knowledge attribute.
-
ADM_POINT - A DSE that represents an administrative point.
-
SUBENTRY - A DSE that represents a subentry.
-
SHADOW - A DSE that represents shadowed information.
-
IMM_SUPR - A DSE that represents an immediate superior reference and holds a corresponding knowledge attribute.
-
RHOB - A DSE that holds policy information (either administrative point or subentry information), which has been received from a superior DSA as the result of a hierarchical operational binding.
-
SA - An additional characteristic of a subordinate reference DSE (that is, of type SUBR), which is used to indicate that the context prefix pointed to by the reference is an alias and not a normal entry.
The following list gives the most commonly used types and combinations in the absence of shadowing:
-
ROOT+SUPR
-
GLUE (must be used alone)
-
ENTRY+CP+ADM_POINT
-
ALIAS+CP
-
SUBENTRY (used alone)
-
IMM_SUPR (used alone)
Enable Unique Index
The Enable Unique Index attribute enables or disables unique constraint checking of attribute type values. It is an attribute of the root DSE. By default, this feature is disabled and the Enable Unique Index (ENUI) attribute is not present in the root DSE. To enable this feature, create the Enable Unique Index (ENUI) attribute with the value TRUE in the root DSE.