是否有安全原因不允许用户随意更改密码?我在一个站点中找到了这个安全策略,但我不确定它为什么要执行它。
我可以想象的一个原因是更改密码功能是一个“昂贵的过程”,并且连续多次更改它可能会在网站上引发 DoS 或在每次输入密码时发送电子邮件的邮件服务器中产生过多的流量被改变。
还有什么原因吗?
注意:我在这里发现了一个类似的问题:是否有任何可以想象的理由来阻止身份验证系统中的密码更改?
是否有安全原因不允许用户随意更改密码?我在一个站点中找到了这个安全策略,但我不确定它为什么要执行它。
我可以想象的一个原因是更改密码功能是一个“昂贵的过程”,并且连续多次更改它可能会在网站上引发 DoS 或在每次输入密码时发送电子邮件的邮件服务器中产生过多的流量被改变。
还有什么原因吗?
注意:我在这里发现了一个类似的问题:是否有任何可以想象的理由来阻止身份验证系统中的密码更改?
此类政策实施的真正原因是因为它们是默认实施的。这就是 Active Directory 中的情况:
所以你会经常遇到这样的事情,主要是因为它需要努力和理解来设置它们。大多数人一生都在幸福的无知和懒惰中度过,系统管理员也不例外。
当需要第三个属性(密码更改间隔 24 小时)的理由时,经常被引用的原因是 @bobince 所说的:防止狡猾的用户循环使用 23 个虚拟密码以取回他的初始密码,因为那样会与第一条规则相矛盾(不重复使用密码)。
当然,这样的规则不会阻止用户使用“序列密码”:Password37、Password38、Password39 ......这在某种程度上违背了强制密码到期的目的(目的已经非常可疑)。防止用户随意更改密码也意味着用户无法根据需要经常更改密码:如果用户注意到刚刚偷了他的密码的肩上冲浪者,那么有安全意识的用户会想快速更改密码。他自己的密码,在这种情况下,这将是一个非常好的主意。禁止更改密码的规则可能会阻止这种情况。
通常它与密码历史策略结合使用,例如“您不能重复使用您最近 12 个密码中的任何一个”。如果没有最小更改期限,则可以通过连续 12 次更改密码来规避此问题,并恢复为原始密码。
IMO 的价值相当可疑。
不,我认为限制密码更改次数没有任何合理的安全理由。应该强制执行的唯一限制是限制 DoS 尝试的昂贵操作的一般限制的一部分,例如“每 5 秒更改密码不超过一次*”或“每 10 秒登录尝试不超过一次*”。
但是,我能想到一个例外——有时更改密码真的很昂贵。例如,当使用从用户密码派生的密钥对大量数据进行加密时。当密码更改时,需要使用新密码对数据进行加密,并且需要删除旧的加密文件,然后可能会通过备份等传播。即使这样,设置一个非常严格的限制也不是一个好主意,因为您不知道用户的密码何时可能会被泄露。
* 数字是任意的。