SQL Server 2008密碼策略

iSQlServer發表於2008-11-25

在 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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章