Microsoft SQL Server
TMA-MSSQL-3.10
Ensure Windows local groups are not SQL Logins
说明
Local Windows groups should not be used as logins for SQL Server instances. Default: By default, no local groups are added as SQL logins. Runs one sqlcmd query with its defaults (Windows authentication to the local default instance); set SQLCMDSERVER, SQLCMDUSER and SQLCMDPASSWORD for another instance or SQL authentication. Needs VIEW SERVER STATE / sysadmin-level read access.
检查方式
审计方法: SQL 查询
sqlcmd -b -h -1 -W -Q "SET NOCOUNT ON; SELECT COUNT(*) FROM sys.server_principals pr JOIN sys.server_permissions pe ON pr.principal_id = pe.grantee_principal_id WHERE pr.type_desc = 'WINDOWS_GROUP' AND pr.name LIKE CAST(SERVERPROPERTY('MachineName') AS nvarchar(128)) + '%';"- 预期输出
0
修复方式
修复方法: 操作指南或基础设施补丁
1. For each LocalGroupName login, if needed create an equivalent AD group containing only the required user accounts. 2. Add the AD group or individual Windows accounts as a SQL Server login and grant it the permissions required. 3. Drop the LocalGroupName login using the syntax below after replacing <name>. USE [master] GO DROP LOGIN [<name>] GO
属性
- 操作系统
- 任意
- 标签
- mssqldatabaseprivileges
- 参考
- CIS Microsoft SQL Server 2025 Benchmark v1.0.0 - 3.10 Ensure Windows local groups are not SQL Logins
检查本机
请在您有权审计的机器上运行此命令。扫描为只读操作。
tmaegis scan --target mssql