When a user connects to your Netscape Directory Server (Directory Server), first the user is authenticated. Then, the directory can grant access rights and resource limits to the user depending upon the identity established during authentication.
This chapter describes tasks for user account management, including configuring the password and account lockout policy for your directory, denying groups of users access to the directory, and limiting system resources available to users depending upon their bind DNs.
This chapter contains the following sections:
|
|
|
|
For an overview on password policy, see section "Designing a Password Policy" in chapter 7, "Designing a Secure Directory," in the Netscape Directory Server Deployment Guide.
|
|
|
|
|
A password policy minimizes the risks of using passwords by enforcing the following:
Once you have established a password policy, which can be for the entire directory or for specific subtrees or users, you can protect your user passwords from potential threats by configuring an account lockout policy. Account lockout protects against hackers who try to break into the directory by repeatedly guessing a user's password.
This section provides information about configuring your password and account lockout policies:
For an overview on password policy, check Netscape Directory Server Deployment Guide.
Directory Server supports fine-grained password policy, enabling you to define a policy that can be applied to the entire directory (global password policy), a particular subtree (subtree level or local password policy), or a particular user (user level or local password policy).
Essentially, your password policy is comprised of the following information:
The sections that follow describe the procedures for configuring your password policy:
|
|
|
|
After configuring your password policy, we recommend that you configure an account lockout policy. For details, see Configuring the Account Lockout Policy.
|
|
|
|
|
To set up or modify
the password policy for an entire directory:
To set up the password policy for a subtree or user, you need to add the required entries and attributes at the subtree or user level, set the appropriate values to the password policy attributes, and enable fine-grained password policy checking.
This section describes the attributes you set to create a password policy for your entire server. Use ldapmodify to change these attributes in the cn=config entry.
Table
7-1 describes the attributes you can use to configure your password
policy.
Table 7-1
Password Policy Attributes
|
This attribute indicates the number of grace logins permitted when a user's password is expired. When set to a positive number, the user will be allowed to bind with the expired password for that many times. For the global password policy, the attribute is defined under cn=config. By default, this attribute is set to 0, which means grace logins are not permitted. |
|
|
When on, this attribute requires users to change their passwords when they first login to the directory or after the password is reset by the Directory Manager. When on, the user is required to change their password even if user-defined passwords are disabled. If you choose to set this attribute to off, passwords assigned by the Directory Manager should not follow any obvious convention and should be difficult to discover. |
|
|
When on, this attribute indicates that users may change their own password. Allowing for users to set their own passwords runs the risk of users choosing passwords that are easy to remember. However, setting good passwords for the user requires a significant administrative effort. In addition, providing passwords to users that are not meaningful to them runs the risk that users will write the password down somewhere that can be discovered. |
|
|
When on, this attribute indicates that the user's password will expire after an interval given by the passwordMaxAge attribute. Making passwords expire helps protect your directory data because the longer a password is in use, the more likely it is to be discovered. |
|
|
This attribute indicates the number of seconds after which user passwords expire. To use this attribute, you must enable password expiration using the passwordExp attribute. This attribute is a dynamic parameter in that its maximum value is derived by subtracting January 18, 2038, from today's date. The attribute value must not be set to the maximum value or too close to the maximum value. If you set the value to the maximum value, Directory Server may fail to start because the number of seconds will go past the epoch date. In such an event, the error log will indicate that the password maximum age is invalid. To resolve this problem, you must correct the passwordMaxAge attribute value in the dse.ldif file. A common policy is to have passwords expire every 30 to 90 days. By default, the password maximum age is set to 8640000 seconds (100 days). |
|
|
This attribute indicates the number of seconds before a warning message is sent to users whose password is about to expire. Depending on the LDAP client application, users may be prompted to change their password when the warning is sent. Both Netscape Directory Express and the Directory Server Gateway provide this functionality. By default, the directory sends the warning 86400 seconds (1 day) before the password is about to expire. However, a password never expires until the warning message has been set. Therefore, if users don't bind to the Directory Server for longer than the passwordMaxAge, they will still get the warning message in time to change their password. |
|
|
When on, this attribute indicates that the password syntax will be checked by the server before the password is saved. Password syntax checking ensures that the password string meets or exceeds the minimum password length requirements and that the string does not contain any "trivial" words. A trivial word is any value stored in the uid, cn, sn, givenName, ou, or mail attributes of the user's entry. |
|
|
This attribute specifies the minimum number of characters that must be used in passwords. Shorter passwords are easier to crack. You can require passwords that are 2 to 512 characters long. Generally, a length of 6 to 8 characters is long enough to be difficult to crack but short enough for users to remember without writing it down. |
|
|
This attribute indicates the number of seconds that must pass before a user can change their password. Use this attribute in conjunction with the passwordInHistory attribute to discourage users from reusing old passwords. For example, setting the minimum password age to 2 days prevents users from repeatedly changing their passwords during a single session to cycle through the password history and reuse an old password once it has been removed from the history list. You can specify from 0 to 2147472000 seconds (24,855 days). A value of zero indicates that the user can change the password immediately. |
|
|
This attribute indicates whether the directory stores a password history. When set to on, the directory stores the number of passwords you specify in the passwordInHistory attribute in a history. If a user attempts to reuse one of the passwords, the password will be rejected. When you set this attribute to off, any passwords stored in the history remain there. When you set this attribute back to on, users will not be able to reuse the passwords recorded in the history before you disabled the attribute. This attribute is off by default, meaning users can reuse old passwords. |
|
|
This attribute indicates the number of passwords the directory stores in the history. You can store from 2 to 24 passwords in the history. This feature is not enabled unless the passwordHistory attribute is set to on. |
|
|
This attribute specifies the type of encryption used to store Directory Server passwords. The following encryption types are supported by Directory Server:
Passwords stored using crypt, SHA, or SSHA formats cannot be used for secure login through SASL Digest MD5. If you want to provide your own customized storage scheme, consult Netscape Professional Services. |
To configure a subtree
or user level password policy:
To turn off user and subtree level password policy checks, set the nsslapd-pwpolicy-local attribute to off by modifying the cn=config entry. For example, you can use the ldapmodify command to make these changes:
dn: cn=config
changetype:
modify
replace:
nsslapd-pwpolicy-local: on
nsslapd-pwpolicy-local:
off
You can also disable the attribute by modifying it directly in the configuration file (dse.ldif). To do this:
An entry can be used to bind to the directory only if it has a userpassword attribute and if it has not been inactivated. Because user passwords are stored in the directory, you can use whatever LDAP operation you normally use to update the directory to set or reset the user passwords.
For information on creating and modifying directory entries, see chapter 2, "Creating Directory Entries." For information on inactivating user accounts, refer to Inactivating Users and Roles.
You can also use the Users and Groups area of the Netscape Administration Server or the Directory Server Gateway to set or reset user passwords. For information on how to use the Users and Groups area, see the online help that is available in the Netscape Administration Server. For information on how to use the Gateway to create or modify directory entries, see the online help that is available in the Gateway.
The lockout policy works in conjunction with the password policy to provide further security. The account lockout feature protects against hackers who try to break into the directory by repeatedly trying to guess a user's password. You can set up your password policy so that a specific user is locked out of the directory after a given number of failed attempts to bind.
Configuring the account lockout policy is described in the following sections:
To set up or modify the account lockout policy for your Directory Server:
This section describes the attributes you set to create an account lockout policy to protect the passwords stored in your server. Use ldapmodify to change these attributes in the cn=config entry.
Table
7-2 describes the attributes you can use to configure your account
lockout policy.
Table 7-2
Account Lockout Policy Attributes
Password and account lockout policies are enforced in a replicated environment as follows:
Some of the password policy information in your directory is replicated. The replicated attributes are:
However, the configuration information is kept locally and is not replicated. This information includes the password syntax and the history of password modifications. Account lockout counters and tiers are not replicated, either.
When configuring a password policy in a replicated environment, consider the following points:
You can temporarily inactivate a single user account or a set of accounts. Once inactivated, a user cannot bind to the directory. The authentication operation will fail.
Users and roles are inactivated using the operational attribute nsAccountLock. When an entry contains the nsAccountLock attribute with a value of true, the server rejects the bind.
You use the same procedures for inactivating users and roles. However, when you inactivate a role, you are inactivating the members of the role and not the role entry itself. For more information about roles in general and how roles interact with access control in particular, refer to chapter 5, "Advanced Entry Management."
The rest of this section describes the following procedures:
|
|
|
|
You cannot inactivate the root entry (the entry corresponding to the root or sub suffix) on a database. For more information on creating the entry for a root or sub suffix, refer to chapter 2, "Creating Directory Entries," for more information. For more information on creating root and sub suffixes, refer to chapter 3, "Configuring Directory Databases."
|
|
|
|
|
The following procedure describes inactivating a user or a role using the Console:
To inactivate a user account, use the ns-inactivate.pl script. The following example describes using the ns-inactivate.pl script to inactivate Joe Frasier's user account:
ns-inactivate.pl
-D "
Directory Manager
" -w secretpwd -p 389
-h
example.com -I "
uid=jfrasier,ou=people,
dc=example,dc=com"
The following table describes the ns-inactivate.pl options used in the example:
The following procedure describes activating a user or a role using the Console:
To activate a user account, use the ns-activate.pl script. The following example describes using the ns-activate.pl script to activate Joe Frasier's user account:
ns-activate.pl -D
"
Directory Manager
" -w secretpwd -p 389
-h
example.com -I "
uid=jfrasier,ou=people,
dc=example,dc=com"
The following table describes the ns-activate.pl options used in the example:
You can control server limits for search operations using special operational attribute values on the client application binding to the directory. You can set the following search operation limits:
|
|
|
|
The Directory Manager receives unlimited resources by default.
|
|
|
|
|
The resource limits you set for the client application take precedence over the default resource limits you set for in the global server configuration.
The following procedure describes setting resource limits for a user or a role using the Console:
The following operational attributes can be set for each entry using the command-line. Use ldapmodify to add the following attributes to the entry:
For example, you might set the size limit for an entry by performing an ldapmodify as follows:
ldapmodify -h
myserver -p 389 -D
"
cn=directory manager
" -w
secretpwd
dn:
uid=bjensen,ou=people,dc=example,dc=com
changetype:
modify
add:nsSizeLimit
nsSizeLimit:
500
The ldapmodify
statement adds the nsSizeLimit
attribute to Babs Jensen's entry and gives it a search return size
limit of 500 entries.
| Previous |
Contents |
Index |
DocHome | Next |