- 使用 SQL Server Management Studio(SSMS)开启登录失败处理功能(以设置账户锁定策略为例)
- 连接到 SQL Server 实例。
- 展开服务器节点,右键单击 “安全性”,然后选择 “登录名”。
- 选择要设置登录失败处理功能的登录名(例如 “sa” 登录名或其他自定义登录名),右键单击并选择 “属性”。
- 在登录名属性窗口中,选择 “状态” 选项卡。
- 对于 “登录” 选项,可以设置为 “启用” 或 “禁用”。如果要防止暴力破解,可以先将登录设置为 “禁用”,在验证用户身份成功后再启用。
- 在 “登录失败” 部分:
- “允许的最大失败登录次数”:设置一个合理的值,例如 3 次或 5 次。当用户连续登录失败达到这个次数时,将触发登录失败处理机制。
- “在达到最大失败登录次数后锁定登录”:可以将此选项设置为 “是”,这样当用户达到最大失败登录次数后,该登录名将被锁定,无法继续登录。
- “锁定持续时间(分钟)”:如果选择锁定登录名,需要设置一个锁定的持续时间,例如 15 分钟或 30 分钟等。在这个时间内,即使输入正确的密码,也无法使用该登录名登录。
- 使用 T - SQL 语句开启登录失败处理功能
- 对于创建新登录名时设置登录失败处理功能:
- 例如,创建一个新登录名并设置登录失败相关策略
- 对于创建新登录名时设置登录失败处理功能:
sql
-- 创建新登录名
CREATE LOGIN [new_login] WITH PASSWORD = 'password' MUST_CHANGE,
CHECK_EXPIRATION = ON,
CHECK_POLICY = ON;
-- 设置允许的最大失败登录次数为3次
ALTER LOGIN [new_login]
SET FAILURE_LOGIN_ATTEMPTS = 3;
-- 设置在达到最大失败登录次数后锁定登录
ALTER LOGIN [new_login]
SET LOCKOUT_ON_FAILURE = ON;
-- 设置锁定持续时间为15分钟(这里以分钟为单位,需要转换为秒)
ALTER LOGIN [new_login]
SET LOCKOUT_DURATION = 900;
- 对于现有登录名设置登录失败处理功能:
sql
-- 针对现有登录名[existing_login]
-- 设置允许的最大失败登录次数为3次
ALTER LOGIN [existing_login]
SET FAILURE_LOGIN_ATTEMPTS = 3;
-- 设置在达到最大失败登录次数后锁定登录
ALTER LOGIN [existing_login]
SET LOCKOUT_ON_FAILURE = ON;
-- 设置锁定持续时间为15分钟(这里以分钟为单位,需要转换为秒)
ALTER LOGIN [existing_login]
SET LOCKOUT_DURATION = 900;
通过以上方法,可以在 SQL Server 数据库中开启登录失败处理功能,从而提高数据库的安全性,防止恶意的暴力破解登录尝试。