OpenSSO Enterprise provides a Password Reset service to allow users to reset their password for access to a given service or application protected by OpenSSO Enterprise. The Password Reset service attributes, defined by the top-level administrator, control user validation credentials (in the form of secret questions), control the mechanism for new or existing password notification, and sets possible lockout intervals for incorrect user validation.
Your configuration must meet the following prerequisites in order for the Password Reset service to work:
Valid email address for the users who want their password to be reset through this service.
Valid SMTP service host and port configured in the Access Manager Server.
The user data store must be a supported instance of Sun Directory Server Enterprise Edition or OpenDS For more information see the Sun OpenSSO Enterprise 8.0 Installation and Configuration Guide.
The Password Reset service does not need to be registered for the realm in which the user resides. If the Password Reset service does not exist in the organization in which the user resides, it will inherit the values defined for the service in Service Configuration.
Navigate to the realm to which you will register the password for the user.
Click the realm name and click the Services tab.
If it has not been added to the realm, click the Add button.
Select Password Reset and click Next
The Password Reset service attributes will be displayed. For attribute definitions, see the online help or Password Reset in Sun OpenSSO Enterprise 8.0 Administration Reference.
Click Finish.
Once the Password Reset service has been registered, the service must be configured by a user with administrator privileges.
Select the realm for which the Password Reset service is registered.
Click the Services tab.
Click Password Reset from the services list.
The Password Reset attributes appear, allowing you to define requirements for the Password Reset service. Make sure that the Password Reset service is enabled (it is by default). At a minimum, the following attributes must be defined:
The Bind DN attribute must contain a user with privileges for resetting the password (for example, Help Desk Administrator). Due a limitation in Directory Server, Password Reset does not work when the bind DN is cn=Directory Manager. The remaining attributes are optional. See the online help for a description of the service attributes.
Enable Force Change Password After Reset.
This optional step is the key part for the password reset service to force the user to change their password after a password reset. If this is not enabled then password reset service will ignore the pwdreset control from the Directory Server. This particular option is meaningful only if the password policy in the Directory Server is enabled to force the users to change the password upon an administrator-controlled password reset occurrence, so you must make a configuration change for the Directory Server.
You can enable Force Change Password After Reset globally by selecting it in the global Password Reset attributes, or you can select if for individual users by selecting a User profile, clicking on Password Reset Options, and enabling the attribute.
Select the Personal Question Enabled attribute if the user is to define his/her unique personal questions. Once the attributes are defined, click Save.
If you are running a localized version of the OpenSSO Enterprise, and wish to display the secret question in a character set specific to you locale, perform the following:
Add the secret question key to the Current Values list under the Secret Question attribute in the Password Reset service. For example, favorite-color.
Add the key to the amPasswordReset.properties file with the question that you want to displays the value of this key. For example:
favorite-color=What is your favorite color?
Add the same key with the localized question to AMPasswordReset_locale.properties. When the user attempts to changes his or her password, the localized question is displayed.
The Password Reset service contains a lockout feature that will restrict users to a certain number of attempts to correctly answer their secret questions. The lockout feature is configured through the Password Reset service attributes. See the online help for a description of the service attributes. Password Reset supports two types of lockout, memory lockout and physical lockout.
This is a temporary lockout and is in effect only when the value in the Password Reset Failure Lockout Duration attribute is greater than zero and the Enable Password Reset Failure Lockout attribute is enabled. This lockout will prevent users from resetting their password through the Password Reset web application. The lockout lasts for the duration specified in Password Reset Failure Lockout Duration, or until the server is restarted. See the online help or Password Reset in Sun OpenSSO Enterprise 8.0 Administration Reference for a description of the service attributes.
This is a more permanent lockout. If the value set in the Password Reset Failure Lockout Count attribute is set to 0 and the Enable Password Reset Failure Lockout attribute is enabled, the users’ account status is changed to inactive when he or she incorrectly answers the secret questions. See the online help, or Password Reset in Sun OpenSSO Enterprise 8.0 Administration Reference for a description of the service attributes.
A password policy is a set of rules to govern how passwords are used in a given directory. Password policies are defined in the Directory Server, typically through the Directory Server console. A secure password policy minimizes the risks associated with easily-guessed passwords by enforcing the following:
Users must change their passwords according to a schedule.
Users must provide non-trivial passwords.
Accounts may be locked after a number of binds with the wrong password.
Directory Server provides several ways to set password policy at any node in a tree and there are several ways to set the policy. For details refer to the Sun Java System Directory Server Enterprise Edition 6.0 Administration Guide.
In Directory Server, the password policy contains an attribute, passwordExp, that defines whether user passwords will expire after a given number of seconds. If the administrator sets the passwordExp attribute to on, this sets the expiration for the end-user's password as well as the OpenSSO Enterprise's administration accounts, such as amldap, dsame, and puser. When the OpenSSO Enterprise administrator's account password expires, and an end-user is logged in, the user will receive the password change screen. However, OpenSSO Enterprise does not specify the user to which the password change screen pertains. In this case, the screen is intended for the administrator and the end-user will be unable to change the password.
To resolve this, the administrator must log in to the Directory Server and change the amldap, dsame, and puser passwords, or change the passwordExpirationTime attribute for some time in the future.
The following example shows how to configure the Directory Server to work with the Force Password Change After Reset attribute. This involves creating a password policy and assigning to it to a range of user identities.
This sample password policy forces users to change their password after an administrator reset (Any password change that is not done by the self modify is considered as password reset, meaning that the attribute pwdreset will be true.)
Type the following text in a file called passwdPolicy.ldif.
Change dc=red,dc=sun,dc=com in the text to the actual root suffix of the deployed Directory Server.
dn: cn=AMUsersPasswordPolicy,dc=red,dc=sun,dc=com objectClass: top objectClass: pwdPolicy objectClass: LDAPsubentry cn: AMUsersPasswordPolicy pwdMustChange: TRUE pwdattribute: userPassword |
Execute the following command:
ldapmodify -D"cn=directory manager" -w admin123 -c -a -f passwdPolicy.ldif
This will add the password policy to the Directory Server.
Assign this policy to user identities. For example, enter the following text in to a file called AddPwdPolicy.ldif:
dn:uid=example_user,ou=people,dc=red,dc=iplanet,dc=com changetype:modify add: pwdPolicySubentry pwdPolicySubentry:cn=AMUsersPasswordPolicy,dc=red,dc=iplanet,dc=com |
Execute the following command:
ldapmodify -D"cn=directory manager" -w admin123 -c -a -f AddPwdPolicy.ldif
The following sections describe the user experience for the Password Reset service.
Once the Password Reset service has been enabled and the attributes defined by the administrator, users are able to log into the OpenSSO Enterprise console in order to customize their secret questions.
The user logs into the OpenSSO Enterprise console, providing Username and Password and is successfully authenticated.
In the User Profile page, the user selects Password Reset Options. This displays the Available Questions Answer Screen.
The user is presented with the available questions that the administrator defined for the service, such as:
The user selects the secret questions, up to the maximum number of questions that the administrator defined for the realm (the maximum amount is defined the Password Reset Service). The user then provides answers to the selected questions. These questions and answers will be the basis for resetting the user’s password (see the following section). If the administrator has selected the Personal Question Enabled attribute, text fields are provided, allowing the user to enter a unique secret question and provide an answer.
The user clicks Save.
In the case where users forget their password, OpenSSO Enterprise uses the Password Reset web application to randomly generate new passwords and notify the user of the new password. A typical forgotten password scenario follows:
The user logs into the Password Reset web application from a URL given to them by the administrator. For example:
http://hostname:port /uri/password (for the default realm)
or
http://hostname:port/deploy_uri /ui/PWResetUserValidation?realm=realmname, where realmname is the name of the realm.
If the Password Reset service is not enabled for a parent realm but is enabled for a sub-realm, users must use the following syntax to access the service:
http://hostname: port/deploy_uri/ui/PWResetUserValidation?realm=realmname |
The user enters the user ID.
The user is presented with the personal questions that were defined in the Password Reset service and select by the user during customization. If the user has not previously logged into the User Profile page and customized the personal questions, the password will not be generated.
Once the user answers the questions correctly, the new password is generated and emailed to the user. Attempt notification is sent to the user whether the questions are answered correctly or not. Users must have their email address entered in the User Profile page in order for the new password and attempt notification to be received.