The IBM(R) Tivoli(R) Directory Integrator 6.0 Password Synchronizer plug-in intercepts Windows(R) 2000/Windows XP/Windows 2003 Server password change requests and propagates the changes to a repository (Password Store) after the Windows system changes the password.
The IBM Tivoli Directory Integrator 6.0 Password Synchronizer stores the password of the Windows user in a Password Store (LDAP server, WebSphere(R) MQ Everyplace(R)). The change is later propagated to other servers by an IBM Tivoli Directory Integrator 6.0 AssemblyLine.
This Password Synchronizer can be used on Windows 2000, Windows XP and Windows 2003 Server operating systems. It must be noted that this function creates a resident Java(TM) process with a footprint approximately 15 MB.
To synchronize passwords from a single machine, install the Password Synchronizer on the Windows stand-alone machine.
To install the IBM Tivoli Directory Integrator 6.0 Synchronizer Plug-in for Windows, run the idiplug-insWin32.exe binary from the plug-ins CD, and select IBM Tivoli Directory Integrator 6.0 Password Synchronizer Plug-in for Windows when asked to select plug-ins.
To synchronize password changes from a Windows 2000 or Windows XP domain, install the Password Synchronizer on all domain controllers for the domain with which you want to synchronize.
Bob logs onto the windows machine, presses Ctrl+Alt+Delete, and requests a password change. That password change is intercepted by the Password Synchronizer, then delegated to the associated Password Store (LDAP Password Store, MQe Password Store).
Password change requests to Active Directory through LDAP/JNDI are also intercepted and handled by the Password Synchronizer.
Windows allows password filter plug-ins to register for notifications of user password changes. These plug-ins are invoked before the password change is committed by Windows. The purpose of these password filters is to validate the password. If any one of the registered password filters rejects the password change, Windows also rejects the password change.
The Windows Password Synchronizer plug-in registers as such a Windows password filter. The plug-in verifies that the Password Store is available. If the Password Store is not available the plug-in rejects the password change. If the Password Store is up and running the plug-in allows Windows to complete committing the password change. If, however, another password filter rejects the password change Windows rejects the password change and the plug-in will not synchronize the password change.
Windows has a notification mechanism which allows applications to get notified when a user password change has been committed by Windows. The Windows Password Synchronizer plug-in registers for this notification. This notification is not generated if Windows rejects a password change. Thus the plug-in notification for a committed password change is not invoked unless all password filters have approved the password and Windows has successfully committed the password change.
The IBM Tivoli Directory Integrator 6.0 Password Synchronizer requires JRE 1.4.2 (included).
The installation program creates most of the required Windows registry entries. There is, however, one parameter which you need to set manually - it is called "AccountTypes". The Password Synchronizer plug-in is capable of reporting password changes to the following Windows account types:
The "AccountTypes" parameter value is stored in the Windows registry at HKEY_LOCAL_MACHINE\SOFTWARE\IBM\Tivoli Identity Manager\Windows Password Synchronizer\AccountTypes - the value of this parameter is a character string, indicating which account types the Password Synchronizer will report password changes for. Its format is a space-delimited list of account types.
An example value for this parameter would be: "NORMAL_ACCOUNT WORKSTATION_TRUST_ACCOUNT"
To make setting the "AccountTypes" parameter in the Windows registry more convenient, the installation program copies to the plugin installation folder a default Windows registry .reg file - setWinPwSyncAccTypes.reg. This default .reg file contains the default value for the "AccountTypes" parameter, which is "NORMAL_ACCOUNT"; this means that if you don't edit the setWinPwSyncAccTypes.reg file and use it to update the Windows registry, the Password Synchronizer will only report password updates to normal user accounts. By double-clicking this .reg file in Windows Explorer you can set the "AccountTypes" parameter at the correct location in the Windows registry. You can edit setWinPwSyncAccTypes.reg file in a text editor to change the default setting of the "AccountTypes" parameter. After editing this file you need to double-click it in order to apply the changes to the Windows registry. If the Password Synchronizer has already been configured and is up and running you need to reboot the Windows machine after applying your changes to the Windows registry so that the changes can take effect.
The control settings are located in the following directory:
HKEY_LOCAL_MACHINE\SOFTWARE\IBM\Tivoli Identity Manager\Windows Password Synchronizer
To verify the settings using regedt32, select view-->find key. Enter Windows Password Synchronizer. Click find next. You see something like the following for the Windows Password Synchronizer key:
AccountTypes: NORMAL_ACCOUNT Class: REG_SZ: com.ibm.di.plug-in.idipwsync.IDIPasswordSynchronizer Classpath: "c:\<install_directory>" Java:REG_SZ: "c:\<install_directory>\_jvm\bin\java.exe"
Do the following to verify the enablement setting using regedt32:
If you are using Windows 2000 do the following:
During installation you will be prompted to choose a Password Store. The installer will configure the Password Synchronizer to use the chosen Password Store, but will not configure the Password Store itself.
See the following for setting up the Password Stores:
A command line tool for performing administrative tasks can be found
in the plugin installation directory: "pwsync_admin.exe"
The primary purpose of this administrative tool is to allow
reconfiguration of the Windows Password Synchronizer without
rebooting the Windows machine. For example, using this administrative tool it is possible
to change the password store without rebooting Windows.
Note: The only change that cannot be accomplished without rebooting
Windows is replacing the "timpwflt.dll" plugin DLL located in the Windows "System32"
directory.
This is how the administration tool is used from the command line:
pwsync_admin.exe command
This tool takes a single command line parameter (the command argument above), whose value can be one of the following:
The Java proxy listens on a server socket for administrative
commands to be sent by the administration tool. The port of the command
socket can be specified in the Windows registry in the following key:
[HKEY_LOCAL_MACHINE\SOFTWARE\IBM\Tivoli Identity Manager\Windows
Password Synchronizer]
"ProxyCommandPort"="19002"
If this key is missing a default value of 19001 will be used.
Changing
the Java proxy command port is not recommended unless the default port of
19001 is occupied by another application.
The value of this key is used by both the Java proxy and the administration tool - it lets the
administration tool connect to the Java proxy by using the same port.
This key can only be created manually, but creating this key is only required
when the Java proxy command port needs to be changed.
Note: Changing this key should be done only when the Java proxy is stopped. Otherwise on the next
invocation of the administration tool it will not be able to connect to the Java proxy.
The registry key used by the suspend_plugin and resume_plugin commands:
[HKEY_LOCAL_MACHINE\SOFTWARE\IBM\Tivoli Identity Manager\Windows
Password Synchronizer]
"disabled"="true"
If this
key is missing or has any value different than “true” the plugin will
synchronize passwords. If the key has a value of "true", then the plugin
will not synchronize passwords.
This key is created by the plugin administration
tool on first use.
Note: Neither of these two keys is present in the Windows registry after the plugin is installed. These keys are not required for the normal operation of the plugin.
The administrative tool logs messages both to the console and to a log file named pwsync_admin.log located in the install directory of the plugin. The log file can be used for analyzing errors encountered during administrative tool operations and can serve as a history reference on what operations have been performed using this tool.
1) When the plugin is suspended password changes are skipped (i.e. not propagated) by the plugin and that could result in inconsistencies (i.e. password changes lost) in the target synchronization system.
2) When the Java proxy is started, it loads the password store configuration file. This happens when the machine is rebooted, or when the plugin is not suspended, the Java proxy is stopped, and a password change occurs. If the user is editing the configuration file at the time, the Java proxy may load a possibly corrupted configuration.
3) When the plugin is not suspended and the Java proxy is not running, if a password change is issued with the "Active Directory Users and Computers" user interface tool the plugin is notified by Windows two or three times of this password change. The result is that the same password update is propagated two or three times. This happens because the plugin starts the proxy on the next password change, which takes some time and this causes Windows to notify the plugin several times of the same password change. This multiple reporting, however, is only present the first time the Java proxy is not running, because on subsequent password changes the Java proxy is already running.
4) When the plugin is configured with the LDAP Password Store and the LDAP Store itself is set for asynchronous storing (waitForStore=false specified in the LDAP Store configuration file) and when the plugin is not suspended it is possible that a stop_proxy command would cause some password changes to be skipped.
Recommendations: To avoid these problems, please follow these guidelines:
The following steps show how the log file of the MQe password store can be changed without rebooting the Windows machine:
After these steps are completed the MQe password store will start logging to the new log file. During the short window when the plugin is suspended, password changes could be skipped. They will occur in the Windows domain controller, but they will not be propagated by the plugin. So, this procedure should occur at a low usage time, when password changes are unlikely.