20.11. 复制帐户锁定属性
如果登录尝试失败了多次,则帐户锁定策略将阻止用户 ID 访问目录服务器。这可以防止黑客或其他恶意人员通过猜测密码破坏目录服务器。密码策略在本地设置,通常帐户锁定属性对于每个副本是本地的。这意味着,一个人员可以尝试登录一个副本,直到达到帐户锁定计数为止,然后立即对另一个副本尝试。为了防止复制与条目帐户锁定计数相关的属性,因此恶意用户会在单一供应商中尝试失败时锁定在配置中的每个供应商和消费者副本。
默认情况下,不会复制三个密码策略属性,即使其他密码属性是:这些属性与登录失败和锁定周期相关:
passwordRetryCount
retryCountResetTime
accountUnlockTime
20.11.1. 管理帐户锁定和复制 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在复制环境中强制使用密码和帐户锁定策略略有不同:
- 在数据供应商中强制执行密码策略。
- 在参与复制的所有服务器上强制实施帐户锁定。
目录中的一些密码策略信息会自动复制:
passwordMinAge
andpasswordMaxAge
passwordExp
passwordWarning
但是,配置信息将保存在本地,且不会被复制。此信息包括密码语法以及密码修改的历史记录。帐户锁定计数器和层不会复制,除非特别配置了复制。
在复制环境中配置密码策略时,请确保这些元素已就位,因此密码策略和帐户锁定设置会一致执行:
- 即将密码过期的服务器中的警告由所有副本发出。此信息保留在每台服务器上,因此,如果用户依次绑定到多个副本,则会多次发出相同的警告。另外,如果用户更改密码,则可能需要过时间来将此信息过滤到副本。如果用户更改密码,然后立即重新绑定,则可能会发现绑定失败,直到副本注册更改为止。
- 同一绑定行为应该在所有服务器上发生,包括供应商和副本。确保在每个服务器上创建相同的密码策略配置信息。
- 帐户锁定计数器在多层次环境中可能无法按预期工作。默认情况下,帐户锁定计数器不会复制(尽管可以进行配置)。如果根本不复制帐户锁定属性,那么可以从一台服务器锁定用户,但可以成功绑定到另一台服务器(或者相反,用户可以在一个服务器上解锁用户,仍然会阻止另一个服务器)。如果复制帐户锁定属性,那么一个服务器上的帐户锁定更改以及该更改被传播到其他服务器时可能会滞后。它取决于复制调度。
- 为复制创建的条目(例如,服务器身份)需要有永不过期的密码。为确保这些特殊用户具有没有过期的密码,请将
passwordExpirationTime
属性添加到条目中,并为它赋予值 20380119031407Z (有效范围的顶部)。
注意
如果启用了密码策略,并且
alwaysRecordLogin
参数设置为 yes,则 lastLoginTime
属性的值可在供应商和只读副本上有所不同。例如,如果用户登录到只读副本,则 lastLoginTime
属性会在本地更新,但该值不会复制到供应商服务器。
20.11.2. 将目录服务器配置为复制密码策略属性 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
特殊的核心配置属性控制是否复制密码策略操作属性。这是
passwordIsGlobalPolicy
属性,在消费者目录服务器配置中启用,以允许消费者接受密码策略操作属性。
默认情况下,此属性设置为 off。
要启用这些属性被复制,请更改消费者上的
passwordIsGlobalPolicy
配置参数:
dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwdisglobal="on"
# dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwdisglobal="on"
将该值更改为 on 允许
passwordRetryCount
、retryCountResetTime
和 accountUnlockTime
复制。
20.11.3. 为密码策略属性配置 Fractional Replication 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
设置
passwordIsGlobalPolicy
属性会影响复制中的消费者,以便允许消费者接收对这些属性的更新。要控制密码策略属性是否实际由供应商复制,请使用部分复制,控制要复制哪些特定条目属性。
如果应复制密码策略属性,请确保在部分复制协议中包含这些属性(因为默认情况下是它们)。
如果在消费者上将
passwordIsGlobalPolicy
属性设置为 off,因此不应复制密码策略属性,请使用部分复制(在 第 15.1.7 节 “使用 DNATactional Replication 复制子属性集”中描述)来强制在供应商中强制实施该供应商,并从复制协议中排除这些属性。
有关配置复制的详情,请参考:
当您在上述链接的步骤中创建复制协议时,配置部分复制:
- 在供应商上配置复制协议时,请单击 Show Advanced Settings。
- 在 Exclude Attributes 字段中输入
passwordRetryCount
,retryCountResetTime
, 和accountUnlockTime
属性的名称。 - 完成复制协议配置。