TMAegis
More rules for mssql

TMA-MSSQL2022-3.10

Ensure Windows local groups are not SQL Logins

MediumLevel 1Automatedmssql

Description

Local Windows groups should not be used as logins for SQL Server instances. Allowing local Windows groups as SQL Logins provides a loophole whereby anyone with OS level administrator rights (and no SQL Server rights) could add users to the local Windows groups and thereby give themselves or others access to the SQL Server instance.

How it is checked

Audit method: SQL query

sql_query
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)) + '%';"
Expected output
0

How it is fixed

Fix method: Guidance or infrastructure patch

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

Properties

Operating systems
Any
Tags
loggingmssqlsqlserver-2022
Reference
CIS Microsoft SQL Server 2022 Benchmark v1.3.0 - 3.10 Ensure Windows local groups are not SQL Logins

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target mssql