SQL Server 2008密码策略 2008-11-25 13:59:43
分类: Linux
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 必须设置为 O
N。否则,该语句将失败。
如果 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)
 
 SQL Server 2008的选择身份验证模式 2008-11-25 13:56:22
分类: Linux
在安装过程中,必须为数据库引擎选择身份验证模式。可供选择的模式有两种:Windows 身份验证模式和混合模式。Windows 身份验证模式会启用 Windows 身份验证并禁用 SQL Sersql server两种身份验证模式
ver 身份验证。混合模式会同时启用 Windows 身份验证和 SQL Server 身份验证。Windows 身份验证始终可用,并且无法禁用。
 配置身份验证模式 
如果在安装过程中选择混合模式身份验证,则必须为名为 sa 的内置 SQL Server 系统管理员帐户提供一个强密码并确认该密码。sa 帐户通过使用 SQL Server 身份验证进行连接。
如果在安装过程中选择 Windows 身份验证,则安装程序会为 SQL Server 身份验证创建 sa 帐户,但会禁用该帐户。如果稍后更改为混合模式身份验证并要使用 sa 帐户,则必须启用该帐户。您可以将任何 Windows SQL Server 帐户配置为系统管理员。由于 sa 帐户广为人知且经常成为恶意用户的攻击目标,因此除非应用程序需要使用 sa 帐户,否则请勿启用该帐户。切勿为 sa 帐户设置空密码或弱密码。若要从 Windows 身份验证模式更改为混合模式身份验证并使用 SQL Server 身份验证,请参阅如何更改服务器身份验证模式。
 通过 Windows 身份验证进行连接 
当用户通过 Windows 用户帐户连接时,SQL Server 使用操作系统中的 Windows 主体标记验证帐户名和密码。也就是说,用户身份由 Windows 进行确认。SQL Server 不要求提供密
码,也不执行身份验证。Windows 身份验证是默认身份验证模式,并且比 SQL Server 身份验证更为安全。Windows 身份验证使用 Kerberos 安全协议,提供有关强密码复杂性验证的密码策略强制,还提供帐户锁定支持,并且支持密码过期。通过 Windows 身份验证完成的连接有时也称为可信连接,这是因为 SQL Server 信任由 Windows 提供的凭据。
安全说明: 
请尽可能使用 Windows 身份验证。
 

 通过 SQL Server 身份验证进行连接 
当使用 SQL Server 身份验证时,在 SQL Server 中创建的登录名并不基于 Windows 用户帐户。用户名和密码均通过使用 SQL Server 创建并存储在 SQL Server 中。通过 SQL Server 身份验证进行连接的用户每次连接时必须提供其凭据(登录名和密码)。当使用 SQL Server 身份验证时,必须为所有 SQL Server 帐户设置强密码。有关强密码的指南,请参阅数据库引擎配置 - 帐户设置。
可供 SQL Server 登录名选择使用的密码策略有三种。
用户在下次登录时必须更改密码
要求用户在下次连接时更改密码。更改密码的功能由 SQL Server Management Studio 提供。如果使用该选项,则第三方软件开发人员应提供此功能。
强制密码过期
SQL Server 登录名强制实施计算机的密码最长使用期限策略。
强制实施密码策略
SQL Server 登录名强制实施计算机的 Windows 密码策略。这包括密码长度和密码复杂性。此功能需要通过 NetValidatePasswordPolicy API 实现,该 API 只在 Windows Server 2003 和更高版本中提供。
确定本地计算机的密码策略 
开始菜单上,单击运行
运行对话框中,键入 secpol.msc,然后单击确定
本地安全设置应用程序中,依次展开安全设置帐户策略,然后单击密码策略
密码策略将如结果窗格中所示。
SQL Server 身份验证的缺点
如果用户是具有 Windows 登录名和密码的 Windows 域用户,则还必须提供另一个用于连接的 (SQL Server) 登录名和密码。记住多个登录名和密码对于许多用户而言都较为困难。每次连接到数据库时都必须提供 SQL Server 凭据也十分烦人。
SQL Server 身份验证无法使用 Kerberos 安全协议。
SQL Server 登录名不能使用 Windows 提供的其他密码策略。
SQL Server 身份验证的优点
允许 SQL Server 支持那些需要进行 SQL Server 身份验证的旧版应用程序和由第三方提供的应用程序。
允许 SQL Server 支持具有混合操作系统的环境,在这种环境中并不是所有用户均由 Windows 域进行验证。
允许用户从未知的或不可信的域进行连接。例如,既定客户使用指定的 SQL Server 登录名进行连接以接收其订单状态的应用程序。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。