Executive Summary:
Microsoft offers several password synchronization solutions for securing access to your information technology (IT) infrastructure. Microsoft’s Identity Lifecycle Manager (ILM) is provisioning or identity lifecycle management software that provides directory synchronization, account provisioning and deprovisioning, password synchronization, and management services. Microsoft’s Identity Integration Feature Pack (IIFP) can provide identity directory synchronization, account provisioning and deprovisioning, and password synchronization services. Microsoft’s Services for UNIX (SFU) 3.5, which Windows 2003 R2 includes, has a password synchronization service. Host Integration Server (HIS) comes with an optional component called Enterprise Single Sign-On (ENTSSO) that can provide single sign-on (SSO) services. Services for NetWare can provide one-way password synchronization from Active Directory (AD) to a bindery, Novell Directory Services (NDS), or eDirectory.
|
Passwords have become a necessary evil to many users and administrators. Although
passwords are a cheap solution for securing access to an IT infrastructure and
its resources, poorly chosen or managed passwords can lead to insecure environments
and the compromise of corporate data or resources. In addition, because different
applications and environments have specific password requirements, most users
end up with several passwords. Average users who must deal with different passwords
often choose identical or easy-to-remember passwords. If a user's passwords
aren't easy to remember, the user might record the passwords on a handy notepad.
These practices make password compromise more likely than ever.
Several approaches exist for making
passwords more secure and easier to manage. Options include enforcement of strong
password policies, employment of credential
mapping solutions, and use of password synchronization.
Strong password policies can ensure that passwords are changed at regular intervals
and that they adhere to certain complexity rules—both of which lower
the chances of successful password guessing or brute force cracking-based attacks
on password hashes. Credential mapping solutions map a user's credentials that
are needed to access different resources to a set of primary user credentials.
Successful authentication using the primary credentials transparently unlocks
the other user credentials and provides single sign-on (SSO) for that particular
user to the other resources.
The third approach—password synchronization—specifically targets
the user and administrator problem of having to deal with different passwords.
Password synchronization can significantly ease users' and administrators' lives
because it reduces the problem of multiple passwords to the management and maintenance
of just one password. In this article I focus on Microsoft solutions for synchronizing
passwords between Active Directory (AD) and other repositories. To start with,
I define password synchronization and discuss the challenges you might face
when architecting a password synchronization solution.
Definition and Challenges
A password synchronization solution ensures that a user's passwords that are
stored in different repositories are kept synchronized. A single synchronized
password is easier to remember than multiple passwords, and users are far less
prone to having problems and calling the Help desk. Users also tend to write
down their single synchronized passwords less often.
Password synchronization solutions come in two flavors: one-way and bidirectional.
Table 1 lists four Microsoft password synchronization
solutions and their characteristics (including one-way or bidirectional). (For
more information about these solutions, see the Learning Path.) One-way password
synchronization solutions push password changes from a central "master" repository
to a set of connected repositories—these solutions are also referred
to as "password push" solutions. In bidirectional password synchronization solutions,
password changes can occur in any of the connected repositories. Even though
both solutions sound like simple copy operations, they pose a few interesting
challenges.
One challenge arises from the fact that passwords are stored in a secure format.
For example, in AD, passwords are always stored in a hashed format. Hash functions
are one-way cryptographic ciphers: You can't derive the original password from
a password hash. As a result, accessing a user's plaintext password under normal
AD operations is impossible. Plaintext passwords are available only when the
password is set (i.e., when the associated user account is created), reset by
an administrator, or changed by the user. This also means that passwords can—unlike
other user attributes— be synchronized only when a password set, reset,
or change event occurs. Also, unless users communicate with the password synchronization
solution only when they set or change their password, password synchronization
solutions require special software logic that can intercept plaintext passwords
when users set or change their password on an AD domain controller (DC) or a
Novell NetWare directory server.
Another challenge is password complexity rules. Different repositories typically
have different rules regarding password complexity. When you set up password
synchronization between repositories, you must define the least common denominator
set of password complexity rules for each of the connected repositories. If
you don't align the password complexity rules, synchronization will fail. For
security experts, this alignment of the password complexity rules is a valid
reason to argue against the security of password synchronization solutions.
Moreover, security experts typically aren't fond of password synchronization
solutions because they think that synchronizing password credentials between
the databases of different authentication authorities is dangerous. Their objections
are based on the "key to the kingdom" argument: If you know a user's password,
you can access other resources that are secured with the same password (as long
as you know the correct user account on the target system). However, this problem
shouldn't be overemphasized. Even with password synchronization, a significant
barrier still exists for a malicious person to access information that's secured
using a user ID/password-based authentication scheme. The user must know the
single synchronized password and the correct user ID on the target system. Nevertheless,
when you implement password synchronization you need to educate your users about
their single synchronized password's crucial role. In addition, you must constantly
remind users of the dangers of social engineering and of sharing their password
with others.
Finally, bidirectional password synchronization solutions require a synchronization loop
detection mechanism. Without loop detection,
password synchronization would go on forever
between the different repositories. This problem doesn't occur with one-way password
synchronization solutions.
Using ILM or IIFP
Microsoft Identity Lifecycle Manager (ILM, formerly known as Microsoft Identity
Integration Server—MIIS) is Microsoft's provisioning or identity lifecycle
management software. Besides directory synchronization, account provisioning,
and deprovisioning services, ILM can also provide password synchronization and
management services. ILM can provide these services between a wide range of
connected repositories, including AD, Active Directory Application Mode (ADAM),
Exchange 2000 Server or Exchange Server 2003, and Windows NT 4.0, as well as
Lotus Notes, Sun ONE Directory Server, and Novell eDirectory. The latest ILM
version is ILM 2007. For more information about ILM, go to the Microsoft Identity
Lifecycle Manager 2007 Web site at http://www.microsoft.com/windowsserver/ilm2007/default.mspx
Microsoft's Identity Integration Feature Pack (IIFP) can provide identity directory
synchronization, account provisioning and deprovisioning, and password synchronization
services—but only between AD, ADAM, and Exchange 2000 or Exchange 2003
instances. You can download this free software package from http://www.microsoft.com/downloads/details.aspx?familyid=d9143610-c04d-41c4b7ea-6f56819769d5&displaylang=en
ILM and IIFP connectivity to other repositories is based on the existence of a set of
connectors or Management Agents (MAs)—as
Microsoft refers to them—that are installed on
the ILM or IIFP server. ILM and IIFP password
synchronization doesn't require the installation of special agents on the target systems.
This means that users or administrators must
always interact directly with ILM or IIFP when
setting or changing passwords. Two notable
exceptions to this rule that don't require any
explicit interaction between a user and ILM
for setting passwords are when the Password
Change Notification Service (PCNS) is used
and when ILM creates a new user account. In
the first case users can directly interact with
a Windows DC for setting or changing their
passwords. (I explain PCNS in more detail
later in the article.) In the latter case ILM initializes a user's password to a predefined value
when the associated user account is created
as part of ILM's user account provisioning
process.
Password set and change operations are
supported by the AD, ADAM, and NT 4.0 MAs.
The Lotus Notes, Sun ONE Directory Server,
and eDirectory MAs support only password set
operations. ILM and IIFP can also be extended
to provide password synchronization services
to other repositories through the creation of
custom password extensions. If you don't
mind coding and getting your hands dirty, the
Developer Reference that comes with ILM and
IIFP describes in detail how to create these
password extensions.
As I explained previously, passwords can only be synchronized when they're
available in plaintext (i.e., when a password set, reset, or change operation
occurs). ILM and IIFP support the following interfaces for intercepting password
sets or changes and initiating a password synchronization operation to a set
of connected repositories: the Helpdesk Password Reset and the Self-Service
Password Reset Web applications, and the Change Password option in the Windows
Ctrl+Alt+Del dialog box.
When using the Helpdesk Password Reset or the Self-Service Password Reset Web
applications, users or administrators interact directly with the ILM or IIFP
server through a Web interface. Both Web applications are free add-ons to ILM
and IIFP that are included in the MIIS 2003 scenarios. You can download these
scenarios, including the necessary code and deployment instructions, from http://www.microsoft.com/downloads/details.aspx?familyid=15032653-d78e-4d9d-9e486cf0ae0c369c&displaylang=en.
Microsoft's "User-Based, Self-Service Password Change Solution Guide for MIIS
2003" (http://www.microsoft.com/downloads/details.aspx?familyid=7e90b216-6cfd-4ccd-bdb9-2cc6be00
4bc4&displaylang=en) describes the Self-Service Password Reset Web application.
When using the Change Password option
in the Ctrl+Alt+Del dialog box, users interact
with ILM or IIFP indirectly through their
authenticating Windows DC. This password
change mechanism requires the installation
of the PCNS on all DCs in the domain where
user password changes must be intercepted.
The PCNS logic is included in ILM and IIFP1a.
The PCNS can be installed on Windows 2000
and Windows Server 2003 DCs.
The PCNS is a Windows service that monitors AD password changes and notifies other
servers (e.g., ILM servers) of these password
changes. The PCNS consists of three pieces
of software: a password filter DLL, the PCNS,
and the PCNS configuration utility. The password filter DLL obtains a clear-text copy of the
changed password from a DC's Local Security
Authority (LSA—lsass.exe). The PCNS receives
the password-change notifications from the
password filter, queues them, and sends them
to the target systems. The PCNS configuration
utility is used to set the PCNS configuration
data. This information is stored in AD and
includes the PCNS notification targets.
ILM and IIFP can support only one-directional or "password push"–based password
synchronization in mixed environments (i.e.,
Windows and non-Windows). Neither ILM nor
IIFP can replicate password sets or changes
originating on the non-Windows side of the
synchronization channel to the Windows
side.
Using SFU or Windows 2003 R2
Microsoft's Services for UNIX (SFU) 3.5 is a software package that Microsoft provides
to Win2K and Windows 2003 customers at no additional cost and that includes tools
and services for integrating Windows and UNIX/ Linux platforms. SFU also includes
a password synchronization service. Windows 2003 R2 includes part of the SFU services,
including the password synchronization service. For more information about SFU
and its services, go to Microsoft's Windows Services for UNIX Web site (http://www.microsoft.com/technet/
interopmigration/unix/sfu/default.mspx).
The SFU 3.5 and Windows 2003 R2 password synchronization service can synchronize
passwords between Windows 2003 R2, Windows 2003, Windows XP, Win2K Server, Win2K
Pro, NT Server 4.0, and NT Workstation platforms on the Windows side, and HP-UX
11, Red Hat Linux 7.0, Solaris 7, and AIX 4.3.3 platforms on the UNIX side.
The service can synchronize passwords between domains and standalone machines
on the Windows side, and between Network Information Service (NIS) databases
and standalone machines on the UNIX/Linux-side.
You can set SFU and Windows 2003 R2
password synchronization to work in both
directions (i.e., from Windows to UNIX or from
UNIX to Windows) for all the UNIX platforms
I mentioned, with the exception of AIX. The
SFU and Windows 2003 R2 password synchronization service triggers a password synchronization action each time a user updates
his or her password on a Windows machine
(for Windows-to-UNIX synchronization) or
on a UNIX/Linux host (for UNIX-to-Windows
synchronization).
To support this bidirectional password
synchronization, SFU and Windows 2003 R2
password synchronization require the deployment of special password synchronization
software. If passwords are to be synchronized
between a Windows domain and UNIX/Linux
environment, the SFU and Windows 2003 R2
password synchronization service must be
installed on all Windows DCs. This requirement is necessary because password updates
can occur on any server in a multi-master
model. The password synchronization service
must also be installed on a Windows standalone machine if passwords are to be synchronized between the standalone machine
and UNIX/Linux. Windows-to-UNIX/Linux
password synchronization requires the ssod
daemon on the UNIX/Linux platform. UNIX/
Linux-to-Windows password synchronization
requires the pam_sso module on the UNIX/
Linux side.
Using HIS
Host Integration Server 2006 (HIS 2006; http://www.microsoft.com/hiserver)
is the most recent version of Microsoft's mainframe gateway server software.
Earlier Microsoft HIS versions were referred to as SNA Server. HIS 2006 helps
enterprises integrate their missioncritical host-based applications, data sources,
messaging, and security systems within a Microsoft .NET-oriented architecture,
enabling the reuse of IBM mainframe and midrange (IBM AS/400) data and applications
across distributed environments.
HIS comes with an optional component called Enterprise Single Sign-On (ENTSSO)
that can provide single sign-on (SSO) services between Windows and mainframe
or midrange system environments. ENTSSO is a good example of a server-side credential
caching-based SSO solution. In addition to server-side credential caching-based
SSO, ENTSSO can also be used for bidirectional password synchronization between
Windows and nonWindows environments. ENTSSO includes password synchronization
interfaces and the PCNS. This is the same PCNS as for ILM and IIFP, which I
explained previously. The PCNS can also send password change notifications to
an HIS ENTSSO server.
Finally, HIS includes an agent that can make ENTSSO password synchronization
bidirectional when synchronizing with AS/400 systems. For mainframes, a third-party
software agent is required to achieve complete bidirectional synchronization
with the security systems of IBM's Resource Access Control Facility (RACF) and
ACF2, and CA's Top Secret. An example of a software vendor that provides an
additional HIS ENTSSO password synchronization agent is Proginet (http://eps.proginet.com).
Using Services for NetWare
Services for NetWare is a software package that Microsoft provides at no additional
cost and that simplifies the integration of AD and Novell Directory Services
(NDS), eDirectory, or bindery-based environments. Services for NetWare can also
provide one-way password synchronization from AD to a bindery, NDS, or eDirectory.
The latest version is Services for NetWare 5.03; for more information, go to
the Microsoft Windows Services for NetWare 5.03 Overview Web site (http://www.microsoft.com/windowsserver2003/techinfo/overview/sfncd.mspx).
Services for NetWare lets you use one of the following methods for password
synchronization:
-
After users are copied from a bindery, NDS, or eDirectory to AD, the users
are prompted to change their passwords when first logging on to AD. The
new AD passwords are then synchronized with the corresponding password attributes
in a bindery, NDS, or eDirectory. This method is called initial reverse
synchronization.
-
When user accounts are created in NDS or eDirectory, the new user objects
are copied to AD. When the new users successfully log on to AD, they're
prompted to change their passwords. The new passwords are then copied to
NDS or eDirectory.
-
When users change their passwords or when an administrator resets user
passwords in AD, the new passwords overwrite the existing bindery, NDS,
or eDirectory passwords.
Or Using Third-Party Solutions?
The password synchronization solutions I discuss in this article each have unique
characteristics and target specific synchronization scenarios. Obviously many
other password synchronization solutions exist. Password synchronization logic
is included in all of today's identity provisioning software (e.g., IBM Tivoli
Identity Manager, HP OpenView Select Identity). In addition, specialized password
synchronization products are available (e.g., M-Tech's P-Synch, Courion's PasswordCourier).
Comparing the non-Microsoft provisioning solutions with ILM is difficult; the
products have equivalent features and their differences are minor. However,
the specialized password synchronization products stand out because they support
a much wider range of connected repositories. These solutions also include a
self-service password reset Web site (where end users can reset their passwords
or unlock their accounts if they get locked out), a Help desk password reset
portal (where Help desk personnel can reset passwords and unlock accounts),
and several other key features such as a phone interface for password resets,
automated password expiration emails, and logon script password expiration notifications.
Of course, these extra features aren't free—so you need to decide whether
your needs justify their cost. Microsoft's password synchronization solutions
might well be your best bet.