一、确保将“ sa”登录帐户设置为“已禁用”
描述
sa帐户是sysadmin中一个广为人知且经常使用的SQL Server特权帐户。 这是安装期间创建的原始登录,并且始终具 Principal_id = 1,sid = 0x01。实施此控制可降低攻击者对众所周知的主体执行暴力攻击的可能性。
加固建议
运行以下T-SQL命令:
USE [master]
GO
DECLARE @tsql nvarchar(max)
SET @tsql = 'ALTER LOGIN ' + SUSER_NAME(0x01) + ' DISABLE'
EXEC (@tsql)
GO
操作时建议做好记录或备份
二、确保“ sa”登录帐户已重命名
sa帐户是具有sysadmin特权的众所周知且经常使用的SQL Server登录。 sa登录名是安装期间创建的原始登录名,并且始终具有principal_id = 1和sid = 0x01。 如果名称未知,则对sa登录名发起密码猜测和蛮力攻击更加困难。
加固建议 在以下语句中用自定义的名称替换<different_user>值,然后执行以重命名sa登录名。
ALTER LOGIN sa WITH NAME = <different_user>;
三、确保所有SQL身份验证登录名的“ CHECK_POLICY”选项都设置为“ ON”
将Windows中使用的相同密码过期策略应用于SQL Server内部使用的密码。 确保SQL登录名符合Windows Server Benchmark所应用的安全密码策略,将确保频繁更改具有sysadmin特权的SQL登录名的密码,以帮助防止通过蛮力攻击造成的损害。 控制 SERVER是sysadmin的等效权限,并且还应该要求具有该权限的登录名具有到期的密码。
加固建议
四、使用以下代码段确定SQL登录名的状态以及是否强制执行其密码复杂性。
SELECT name, is_disabled
FROM sys.sql_logins
WHERE is_policy_checked = 0;
对于审核过程发现的每个<login_name>,执行以下T-SQL语句
ALTER LOGIN [login_name] WITH CHECK_POLICY= ON;
确保将“登录审核”设置为“失败”和“成功登录”
描述
设置日志记录成功和失败的登录SQL Server身份验证尝试。 记录成功和失败的登录信息可提供关键信息,这些信息可用于检测/确认密码猜测攻击。 此外,记录成功的登录尝试可用于在司法调查期间确认服务器访问。
加固建议
执行以下步骤来设置审核级别: 1.打开SQL Server Management Studio。 2.右键单击目标实例,然后选择“属性”并导航到“安全性” 标签。 3.在“登录审核”下选择选项“成功登录失败和成功登录” 部分,然后单击确定。 4.重新启动SQL Server实例。操作时建议做好记录或备份
五、确保Sysadmin角色中所有经过SQL身份验证的登录名的“ CHECK_EXPIRATION”选项都设置为“ ON”
将Windows中使用的相同密码过期策略应用于SQL Server内部使用的密码。 确保SQL登录名符合Windows Server Benchmark所应用的安全密码策略,将确保频繁更改具有sysadmin特权的SQL登录名的密码,以帮助防止通过蛮力攻击造成的损害。 CONTROL SERVER是sysadmin的等效权限,并且还应该要求具有该权限的登录名具有到期的密码。
加固建议
运行以下T-SQL语句,以CHECK_EXPIRATION = OFF查找sysadmin或等效登录名。 不应返回任何行。
SELECT l.[name], 'sysadmin membership' AS 'Access_Method'
FROM sys.sql_logins AS l
WHERE IS_SRVROLEMEMBER('sysadmin',name) = 1
AND l.is_expiration_checked <> 1
UNION ALL
SELECT l.[name], 'CONTROL SERVER' AS 'Access_Method'
FROM sys.sql_logins AS l
JOIN sys.server_permissions AS p
ON l.principal_id = p.grantee_principal_id
WHERE p.type = 'CL' AND p.state IN ('G', 'W')
AND l.is_expiration_checked <> 1;
对于审核程序发现的每个<login_name>,执行以下T-SQL语句:文章来源:https://www.toymoban.com/news/detail-445755.html
ALTER LOGIN [login_name] WITH CHECK_EXPIRATION = ON;
操作时建议做好记录或备份文章来源地址https://www.toymoban.com/news/detail-445755.html
到了这里,关于Sql server 数据库安全配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!