Change Service Account Passwords - Hitachi ID Privileged Access Manager
On the Windows operating system, service programs are run either using the SYSTEM login ID, which possesses almost every privilege on the system (and consequently can do the maximum harm) and which has no password or using a real user's login ID and password, in order to execute with reduced privileges. This means that on each Windows workstation and server there are a number of service accounts, each with its own password, which are used to run service programs such as web servers, backup agents, anti-virus software, etc.
Service account passwords differ from administrator passwords in that they are stored in at least two places:
- Hashed, in the security database -- e.g., the local SAM database or Active Directory, just like all users.
- Reversibly encrypted, in the registry or elsewhere, where the program that starts the service (e.g., Service Control Manager or similar) can retrieve it when it needs to start the service.
Other Windows components besides the Service Control Manager also store passwords twice:
- Virtual directories used to access web content from the IIS web server.
- Programs scheduled to be run by the Windows Scheduler.
Third party programs may also require passwords to be stored outside the Security Accounts Manager (SAM) database.
Of the above passwords, all but those used in IIS are static and may represent a security vulnerability.
Hitachi ID Privileged Access Manager can be configured to secure service account passwords. This means two things, depending on the mode of operation:
- In pull mode, the Privileged Access Manager workstation service periodically scrambles service account passwords locally, in coordination with the central Privileged Access Manager server cluster.
- In push mode, Privileged Access Manager servers periodically connect to Windows servers or Active Directory in order to change the passwords of service accounts.
In both cases, Privileged Access Manager must notify the program that launches services -- the subscriber -- of the new password value, so that it can successfully launch the service at the time of the next system restart or when an administrator manually stops and restarts the service in question. In some cases, for example when domain accounts are used to run services, an immediate restart may be required or advisable, due to Kerberos token expiry.
Privileged Access Manager includes extensive automation to discover subscribers and subscriber-to-service-account dependency. This allows Hitachi ID Systems customers to review what services are run in the security context of what named users, on what systems. This is particularly helpful where services run in the security context of domain accounts, since multiple services on multiple servers may rely on the same service account and may therefore require notification of the same new password in a quick and fault-tolerant fashion.
Privileged Access Manager includes several processes that support safe and secure changes to service account passwords:
- Auto-discovery of subscriber/account dependencies for a variety of subscriber types: IIS, Scheduler, SCM, DCOM, at various OS and subscriber versions.
- A white-list mechanism (usually table driven, but a plug-in is available for more complex scenarios) so customers can control which service accounts should have their passwords randomized and when.
- Built-in tools to notify known subscribers of new password values.
- A transaction manager that can retry notifications to off-line subscribers.
The above are primarily used when managed systems are integrated with Privileged Access Manager in "push mode" -- i.e., there is no locally installed software on the target system and Privileged Access Manager initiates all connections remotely, over the network, directly or via a co-located Privileged Access Manager proxy server.
In case push mode is inappropriate -- for example because the relevant services (remote registry, WMI, etc.) are disabled or firewalled or because the end system is offline or inaccessible due to name resolution or IP routing issues (NAT, etc.), a pull mode service can be installed on the managed system, which performs essentially the same functions but with much simpler connectivity (call home over HTTPS) and no need for network accessible services on the local system.
Pull mode is normally used on laptops and in some cases desktop PCs, but works on any system running any version of the Windows OS.
Any problems encountered in updating a service password can and should be configured to trigger an exit trap program on the Privileged Access Manager server, to notify an administrator of an imminent problem when the service in question is next started.
Both the discovery and notification mechanisms described above are extensible. This means that customers who have other types of subscribers -- for example, third party job schedulers -- can add small programs that discover their account dependencies and notify them of new service account passwords. These are typically command-line programs (Windows executable or script) that run on the Privileged Access Manager server. For pull mode, the equivalent form of extensibility is provided via deployment-specific DLLs.