密码重置监听器
密码重置是 PAM360 执行的关键功能之一,旨在保护组织内的敏感数据免受未经授权的访问。当关键系统的密码被重置时,应及时更新依赖该密码的关联服务和系统,以防止服务中断。
PAM360 中的密码重置监听器是一种重置后机制,可自动将更新的凭据与外部应用程序和服务进行同步。它帮助管理员在整个环境中安全地部署新密码,确保系统、应用程序和数据库之间的一致性。通过这种方式,它最大限度地减少了因密码不匹配导致的停机时间,并简化了凭据管理。
本文档详细介绍了以下主题:
1. 角色与权限
默认情况下,具有“特权管理员”和“管理员”角色的用户可在 PAM360 中添加、管理和配置密码重置监听器。此外,PAM360 允许管理员在“管理>>自定义>>角色>>自定义设置”中配置具有“管理密码重置监听器”权限的自定义用户角色,以便添加、管理和批准密码重置监听器。
2. 工作流
每当 PAM360 存储库中存储的账户密码发生轮换时,PAM360 中配置的密码重置监听器会调用脚本或可执行文件,以更新相关服务和系统上的密码。 监听器脚本可在本地账户密码轮换时,以及 PAM360 原生不支持远程密码重置的资源类型密码轮换时被调用。管理员可以针对每种资源类型(包括自定义(即用户定义)资源类型)单独配置密码重置监听器脚本。
- 监听器脚本的执行方式与在操作系统的命令提示符下执行时相同。
- 如果脚本需要运行另一个程序(例如,cscript c:\scripts\changepassword.vbs old_password new_password),则可以将其指定为预命令。
- 默认情况下,PAM360 会将资源名称、DNS 名称、帐户名称、旧密码和新密码等参数作为参数传递给脚本。
- 还可以通过“附加参数”字段配置其他参数。
出于安全考虑,密码重置监听器脚本将以运行 PAM360 服务器的用户账户相同的权限执行,且双重控制机制确保对密码重置监听器的任何添加、编辑或删除操作均需经另一位管理员批准。在经过审核并获批之前,PAM360 不会调用该脚本。
密码重置监听器在独立线程中调用,因此不会影响密码重置流程本身。监听器脚本安全地存储在 PAM360 数据库中,确保其受益于现有的数据库安全和备份配置。
3. PAM360 支持的后续操作
PAM360 允许管理员在密码重置完成后立即通过监听器脚本执行一系列后续操作。这些操作有助于确保相关服务和进程与更新后的凭据保持同步,从而最大限度地减少中断。支持的后续操作包括:
- 在重置密码后立即重启相关服务,以确保连续性,避免服务中断。
- 更新 Windows 计划任务和其他相关进程的凭据,以防止身份验证失败。
- 对于使用在 PAM360 中重置了密码的帐户的服务,监听器脚本可以自动更新服务“登录”属性中存储的凭据。
- 如果网络设备的帐户作为资源添加到 PAM360 中,可以先在 PAM360 中本地重置其密码,然后触发自定义监听器脚本连接到设备,并直接在设备上应用更新的密码。
4. 添加密码重置监听器
注意
在添加“密码重置监听器”时,“执行顺序”和“执行模式”字段仅在 5710 版及更高版本中可用。
请按照以下步骤设置新的密码重置监听器:
- 导航至“管理”>>“密码管理”>>“密码重置监听器”。
- 在弹出的“密码重置监听器”窗口中,点击顶部窗格中的“添加监听器”按钮。

- 在弹出的窗口中,输入以下详细信息:
- 预执行命令- 若您添加的脚本需要运行其他程序(例如:cscript c:\scripts\changepassword.vbs old_password new_password),请在此字段中指定该命令。
- 监听器名称- 为正在创建的密码重置监听器输入名称。
- 监听器脚本- 点击“浏览”按钮,从您的计算机上传监听器脚本。允许的最大文件大小为 5 MB。
- 附加参数- 若需向脚本传递附加参数,请在此字段中指定。这些参数将在执行过程中按指定顺序作为参数传递给脚本。
- 执行顺序- 选择脚本的执行顺序。这允许管理员在密码重置操作之前或之后执行脚本。
- 资源类型- 在左侧列中点击所需的资源类型,然后点击右箭头按钮进行选择。对于您正在配置此密码重置监听器的所有必需资源类型,请重复此步骤。
- 执行模式- 点击下拉菜单,从给定选项中选择所需的执行模式,例如无代理、代理以及无代理与代理混合模式。
- 若选择无代理模式,脚本将在 PAM360 服务器上执行。
- 如果您选择“代理”模式,脚本将在代理机器上执行。
- 若选择“无代理与代理”模式,脚本将首先在 PAM360 服务器上执行;若执行失败,则转而在代理机上执行。
- 添加必要信息后,从“发送审批请求至”字段旁边的下拉选项中选择一名管理员,然后点击“保存”。系统将向所选管理员发送一封电子邮件,通知其审批请求。
- 一旦获得所选管理员的批准,监听器脚本即添加成功。
5. 批准密码重置监听器
默认情况下,具有管理员类型用户角色的用户可在 PAM360 中添加密码重置监听器。此外,管理员添加的所有密码重置监听器均需经另一位管理员批准,以确保仅调用经过授权且必要的脚本或程序。请按照以下步骤批准添加密码重置监听器:
- 导航至“管理”>>“密码管理”>>“密码重置监听器”。
- 在“密码重置监听器”页面上,您将看到环境中已添加的所有监听器的列表。
- 点击“审批状态”列下您想要批准的监听器旁边的“批准”按钮。
PAM360 会审计所有与密码重置监听器相关的事件。
6. 实现自定义密码重置监听器
除了默认的密码重置监听器外,PAM360 还允许您实现自己的自定义监听器。自定义监听器提供了灵活性,可定义并执行超出标准监听器脚本范围的任何密码重置后跟进操作。这可以通过编写自己的实现类来实现,该类通过提供的接口与 PAM360 集成。
以下是一个使用重置监听器执行 PowerShell 脚本的示例实现步骤:
- 编写自己的实现类,使其实现 PAM360ListenerInterface.java 接口,以定义自定义监听器,如下所示:
public interface PAM360ListenerInterface {
static final Logger LOG = Logger.getLogger(PAM360ListenerInterface.class.getName());
public String executeListener(Properties resourceProps, Properties accountProps, String listenerFilePath, String oldPassword) throws Exception;} - 在实现类中,请确保将资源或账户属性作为参数传递。您可以将各种资源和账户属性作为参数传递给您的实现类。例如,要访问资源名称,可以使用resourceProps.get("RESOURCENAME")语法。
- 在 PAM360 中将您的实现类添加为自定义监听器。操作步骤如下:导航至“管理>>密码管理>>密码重置监听器>>添加监听器”。

- 在弹出的窗口中,切换到“自定义监听器”选项卡并输入以下详细信息:
- 类名- 从可用选项中选择所需的实现类。点击“添加新类”按钮可添加新的实现类。
- 新类名- 在此字段中输入您的实现类名称。
- 实现类- 在此字段中输入您的实现类。
- 描述- 在此字段中输入您正在添加的自定义监听器的简要说明。
- 监听器名称- 在此字段中输入您正在创建的密码重置监听器的名称。
- 监听器脚本- 点击“浏览”按钮,从您的计算机上传监听器脚本。允许的最大文件大小为 5 MB。
- 资源类型- 在左侧列中点击所需的资源类型,然后点击右箭头按钮进行选择。对于您正在配置此自定义重置监听器的所有必需资源类型,请重复此步骤。
- 添加必要信息后,从“发送审批请求至”字段旁边的下拉菜单中选择一名管理员,然后点击“保存”。系统将向所选管理员发送一封电子邮件,通知其审批请求。
- 类名- 从可用选项中选择所需的实现类。点击“添加新类”按钮可添加新的实现类。
- 将您的实现类编译为 .jar 文件,并将该.jar文件移动到<PAM360-安装目录>/bin文件夹中。
- 重启 PAM360 服务以使更改生效。
您可以使用以下列出的键来检索任何属性的值。
| 资源属性 (resourceProps) | |
|---|---|
资源名称 |
在 PAM360 中添加的资源名称。 |
IPADDRESS |
资源的 DNS 名称或 IP 地址。 |
RESOURCEURL |
为该资源配置的资源 URL。 |
DOMAINNAME |
Windows 域资源的域名。 |
SSHPORT |
如果设备支持 SSH 连接,则为 SSH 端口号。 |
RESOURCEDESC |
资源的描述。 |
LOCATION |
资源的位置。 |
DEPARTMENT |
资源所属的部门。 |
自定义资源列 |
每个自定义列的标签名称将作为键。返回相应的账户参数详细信息。 |
| 帐户属性 (accountProps) | |
描述 |
账户的描述。 |
LOGINNAME |
在 PAM360 中添加的用户账户的登录名。 |
密码 |
用户账户的密码。 |
DOMAINNAME |
Windows 域资源的域名称。 |
符合性状态 |
密码是否符合 PAM360 中配置的密码策略。 |
COMPLIANTREASON |
如果密码不符合策略,则提供原因。 |
EXPIRYSTATUS |
该账户的密码过期状态。 |
PASSWRDSYNCSTATUS |
密码是否与远程资源上设置的密码保持同步。 |
自定义账户列 |
返回相应的账户参数详细信息。每个自定义列的标签名称将作为键。 |
| 其他参数 | |
listenerFilePath |
作为监听器调用的脚本或文件的路径。您也可以在 PAM360 中配置监听器时指定此文件。 |
oldPassword |
传递给实现类以协助密码重置操作的旧密码。 |
以下是一个利用监听器机制执行 PowerShell 脚本的自定义实现类示例:
public class PowerShellListener implements PAM360ListenerInterface {
public String executeListener(Properties resourceProps, Properties accountProps, String listenerFilePath, String oldPassword) throws Exception {
String message = "执行成功";// 用于审计
// 获取属性
// 调用 PowerShell 脚本}}
7. 常见问题
1. 密码重置监听器支持哪些执行模式?
提供两种执行模式:Pre(在密码重置前执行脚本)和Post(在重置后执行脚本)。
2. 是否提供配置了密码重置监听器的资源相关报告?
是的。请导航至“报告”>>“查询报告”>>“资源”,并搜索“密码重置监听器”。该报告将列出配置了该监听器的资源。
3. 升级到 PAM360 版本 5710 后,现有监听器将采用哪种模式?
默认情况下,所有现有监听器将设置为无代理模式,并采用“Post”作为执行顺序。