SQL Server 2008密码策略

在 Windows Server 2003 或更高版本中运行时,SQL Server 可以使用 Windows 密码策略机制。

SQL Server 可以对在 SQL Server 内部使用的密码应用在 Windows Server 2003 中使用的相同复杂性策略和过期策略。此功能需要通过 NetValidatePasswordPolicy API 实现,该 API 只在 Windows Server 2003 和更高版本中提供。

 密码复杂性
密码复杂性策略通过增加可能密码的数量来阻止强力攻击。实施密码复杂性策略时,新密码必须符合以下原则:

密码不得包含全部或部分用户帐户名。部分帐户名是指三个或三个以上两端用“空白”(空格、制表符、回车符等)或任何以下字符分隔的连续字母数字字符:逗号 (,)、句点 (.)、连字符 (-)、下划线 (_) 或数字符号 (#)。

密码长度至少为八个字符。

密码包含以下四类字符中的三类:

拉丁文大写字母 (A - Z)

拉丁文小写字母 (a - z)

10 个基本数字 (0 - 9)

非字母数字字符,如感叹号 (!)、美元符号 ($)、数字符号 (#) 或百分号 (%)。

密码最长可为 128 个字符。使用的密码应尽可能长,尽可能复杂。

 密码过期
密码过期策略用于管理密码的使用期限。如果 SQL Server 实施密码过期策略,则系统将提醒用户更改旧密码,并禁用带有过期密码的帐户。

 策略实施
可为每个 SQL Server 登录名单独配置密码策略实施。使用 ALTER LOGIN (Transact-SQL) 来配置 SQL Server 登录名的密码策略选项。配置密码策略实施时,适用以下规则:

如果 CHECK_POLICY 改为 ON,则将出现以下行为:

除非将 CHECK_EXPIRATION 显式设置为 OFF,否则也会将其设置为 ON。

密码历史使用当前的密码哈希值初始化。

如果 CHECK_POLICY 改为 OFF,则将出现以下行为:

CHECK_EXPIRATION 也设置为 OFF。

清除密码历史。

lockout_time 的值被重置。

不支持策略选项的某些组合。

如果指定 MUST_CHANGE,则 CHECK_EXPIRATION 和 CHECK_POLICY 必须设置为 ON。否则,该语句将失败。

如果 CHECK_POLICY 设置为 OFF,则 CHECK_EXPIRATION 不能设置为 ON。包含此选项组合的 ALTER LOGIN 语句将失败。
重要提示:
只有在 Windows Server 2003 及更高版本上才会强制执行 CHECK_EXPIRATION 和 CHECK_POLICY。
 

重要提示:
Windows Server 2003 中的已知问题可以防止错误密码计数在达到 LockoutThreshold 后重置。这可能会导致在后续登录尝试失败后立即锁定。可以通过暂时设置 CHECK_POLICY = OFF,然后设置 CHECK_POLICY = ON 来手动重置错误的密码计数。
 


当 SQL Server 在 Windows 2000 中运行时,设置 CHECK_POLICY = ON 将禁止创建以下类型的密码:

为 NULL 或空

与计算机名或登录名相同

下列任意项:“password”、“admin”、“administrator”、“sa”、“sysadmin”

可以在 Windows 中设置安全策略,也可以从域接收安全策略。若要查看计算机上的密码策略,请使用本地安全策略 MMC 管理单元 (secpol.msc)。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-503164/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16436858/viewspace-503164/

你可能感兴趣的:(SQL Server 2008密码策略)