Sun Java System Directory Server Enterprise Edition 6.0 管理指南

密码策略和工作单

本部分介绍密码策略设置,并提供一个工作单,以帮助您定义符合要求的密码策略。


注 –

要使用默认的密码策略,请参见管理默认密码策略。


密码策略设置

在目录服务器中指定密码策略时,需要修改或创建包含对象类 pwdPolicy(5dsoc) 的条目。

为特定类型的用户定义密码策略时,需要考虑以下注意事项:

本章的后续部分将介绍如何处理密码策略的这些方面。可以使用用于定义密码策略的工作单阐明要实现的每种密码策略。

帐户锁定策略

本部分介绍用于管理帐户锁定的策略属性。

目录服务器帐户一般指用户条目,以及用户在目录上执行操作的权限。每个帐户都与绑定 DN 和用户密码相关联。当入侵者看上去要尝试破解密码时,您希望目录服务器锁定帐户。锁定可阻止入侵者使用帐户进行绑定。锁定还可阻止入侵者继续进行攻击。

作为管理员,您还可以手动停用某个帐户或共享某个角色的所有用户的帐户。有关说明,请参见手动锁定帐户。但是,密码策略的一个重要部分就是指定目录服务器在什么情况下锁定帐户,而不需要您的干预。

首先,您必须指定目录服务器可以在发生太多失败绑定时使用 pwdLockout(5dsat) 自动锁定帐户。目录服务器会跟踪尝试绑定到帐户的连续失败次数。可以使用 pwdMaxFailure(5dsat) 指定在目录服务器锁定帐户之前所允许的连续失败次数。

目录服务器将严格按照密码策略锁定帐户。此操作完全为机械性操作。帐户锁定的原因可能不是入侵者对帐户发动攻击,而是用户键入了错误的密码。因此,可以使用 pwdFailureCountInterval(5dsat) 指定目录服务器在清除失败尝试记录之前等待下一次尝试的时间。可以使用 pwdLockoutDuration(5dsat) 指定在目录服务器自动对帐户解除锁定之前锁定持续的时间。如果用户并非出于恶意而犯下了合理错误,管理员无需介入帐户解除锁定。

如果在整个复制拓扑中复制用户数据,则会复制锁定计数器和锁定属性。pwdIsLockoutPrioritized(5dsat) 属性用于确定是否使用较高优先级复制锁定属性更新,因此在大多数情况下,应该将此属性保留为 TRUE。这样,用户在被锁定之前只能进行 pwdMaxFailure 次绑定到副本的尝试,当用户尝试绑定到更多副本时,尝试次数可能会更少。请参见《Sun Java System Directory Server Enterprise Edition 6.0 Deployment Planning Guide》中的“Preventing Authentication by Using Global Account Lockout”。包含全局锁定的文档将说明如何确保用户在进行 pwdMaxFailure 次尝试之后,才会在整个复制拓扑中将其锁定。

密码更改策略

本部分介绍用于管理密码更改的策略属性。

在许多部署中,目录服务器是标识数据的系统信息库。用户应该可以更改自己的密码(由 pwdAllowUserChange(5dsat) 指定),因此您无需更改密码。

允许用户更改自己的密码之后,您可能还希望控制用户可以在哪些情况下更改密码。可以使用 pwdSafeModify(5dsat) 指定要更改密码的用户必须首先提供正确的现有密码,然后才能替换密码。有关如何修改密码的示例,请参见当 pwdSafeModify 为 TRUE 时从命令行修改密码。可以使用 pwdInHistory(5dsat) 指定目录服务器记住的密码个数,以阻止用户重复使用相同的密码。也可以通过设置 pwdMinAge(5dsat) 来阻止用户过于频繁地更改密码。

在许多情况下,您(管理员)或者您管理的应用程序会在目录中创建用户条目。您可以指定在用户首次绑定到新帐户时要更改的用户密码值。您可能还必须重置用户密码,重置密码后,用户在下次使用该帐户时应该更改密码。目录服务器具有特定属性 pwdMustChange(5dsat),可以使用该属性指示当其他用户重置密码值后,用户是否必须更改密码。

还可以指定当目录管理者通过设置 passwordRootdnMayBypassModsChecks(5dsat) 更改密码时,可以不必遵循策略。

密码内容策略

本部分介绍用于管理密码内容的策略属性。

虽然一般不会在目录搜索中返回密码值,但攻击者仍有可能获取对目录数据库的访问权限。因此,密码值一般以某种受支持的散列格式(使用 passwordStorageScheme(5dsat) 指定)存储。

可以通过设置 pwdMinLength(5dsat) 来强制密码至少包含指定数目的字符。

还可以通过设置 pwdCheckQuality(5dsat) 来强制检查密码是否满足最低密码质量的定义。执行检查时,目录服务器将检查密码是否至少达到最小长度。服务器也会检查密码是否不包含任何 cn、givenName、mail, ou、sn 或 uid 属性值。此外,启用严格密码检查插件时,目录服务器还会检查密码是否不包含该插件所使用的字典文件中的字符串。服务器也会检查密码是否包含不同类型字符的正确组合。

可以使用 dsconf set-server-prop 命令启用严格密码检查。可以使用 pwd-strong-check-enabled 属性打开插件,然后重新启动服务器以使更改生效。可以使用 pwd-strong-check-require-charset 属性指定密码所需的字符集。pwd-strong-check-require-charset 属性使用以下值的掩码:

lower

新密码必须包含小写字符。

upper

新密码必须包含大写字符。

digit

新密码必须包含数字。

special

新密码必须包含特殊字符。

any-two

新密码必须至少包含上述字符集中的两种,每种至少包含一个字符。

any-three

新密码必须至少包含上述字符集中的三种,每种至少包含一个字符。

pwd-strong-check-require-charset 属性的默认设置为 lower && upper && digit && special。

密码过期策略

本部分介绍用于管理密码过期的策略属性。

要确保用户定期更改密码,可以通过设置 pwdMaxAge(5dsat),将目录服务器配置为当密码达到特定存留期后将密码设置为过期。

必须通知用户其密码即将过期。可以将目录服务器配置为返回一个警告,指明用于绑定的密码即将过期。可以使用 pwdExpireWarning(5dsat) 定义在过期之前多久将会在客户端进行绑定时返回警告。请注意,客户端应用程序将收到该警告。用户不会直接收到警告。客户端应用程序在收到密码即将过期的警告时必须通知最终用户。

通过设置 pwdGraceAuthNLimit(5dsat),可允许用户使用过期密码进行一次或多次绑定尝试。因此,未能及时更改密码的用户仍可以进行绑定以更改密码。请注意,当用户使用宽限登录进行绑定时,该用户可以执行任何操作。宽限登录的工作方式就像密码尚未过期一样。

每次修改条目上的密码时,目录服务器都会更新操作属性 pwdChangedTime(5dsat)。因此,如果您准备启用密码过期,则已超过存留期限的用户密码会在您启用密码过期后立即过期。如果您不希望发生这种情况,请使用警告和宽限登录。

跟踪上次验证时间的策略

本部分介绍密码策略属性 pwdKeepLastAuthTime(5dsat) 的使用。

设置 pwdKeepLastAuthTime 之后,目录服务器将在每次用户验证时跟踪上次成功绑定的时间。此时间记录在用户条目的 pwdLastAuthTime(5dsat) 操作属性上。

由于此行为会为每次成功的绑定操作添加更新,因此在默认情况下不会激活 pwdKeepLastAuthTime 功能。您必须明确打开此功能才能在部署中使用。

用于定义密码策略的工作单

此工作单旨在帮助您通过命令行界面或使用目录服务控制中心 (Directory Service Control Center, DSCC) 定义要实现的密码策略。请为每个密码策略使用一个工作单。

记录密码策略条目的 DN 之后,请记录与每个策略范围中的属性设置有关的决策。另外,请记录使用这些设置的理由。

密码策略工作单 

密码策略条目标识名 

dn: cn=

策略范围 

属性 

在此处填写您的设置 

在此处填写使用这些设置的理由 

帐户锁定 

pwdFailureCountInterval(5dsat)

   

pwdIsLockoutPrioritized(5dsat)

           

           

pwdLockout(5dsat)

           

           

pwdLockoutDuration(5dsat)

           

           

pwdMaxFailure(5dsat)

           

           

密码更改 

passwordRootdnMayBypassModsChecks(5dsat)

           

           

pwdAllowUserChange(5dsat)

           

           

pwdInHistory(5dsat)

           

           

pwdMinAge(5dsat)

           

           

pwdMustChange(5dsat)

           

           

pwdSafeModify(5dsat)

           

           

密码内容 

passwordStorageScheme(5dsat)

           

           

pwdCheckQuality(5dsat)

           

           

pwdMinLength(5dsat)

   

密码过期 

pwdExpireWarning(5dsat)

           

           

pwdGraceAuthNLimit(5dsat)

           

           

pwdMaxAge(5dsat)

           

           

跟踪上次验证时间 

pwdKeepLastAuthTime(5dsat)

           

           


注 –

将 pwdCheckQuality 属性设置为 2 时,服务器可以执行其他检查。如果还启用了密码检查插件,则该插件的设置将影响对新密码值执行哪些检查。