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