TMAegis
Другие правила для mssql

TMA-MSSQL-2.16

Ensure no login exists with the name 'sa'

СреднийУровень 1Автоматическаяmssql

Описание

The sa login (e.g. principal) is a widely known and often widely used SQL Server account. Therefore, there should not be a login called sa even when the original sa login (principal_id = 1) has been renamed. Default: The login with principal_id = 1 is named sa by default. 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-запрос

sql_query
sqlcmd -b -h -1 -W -Q "SET NOCOUNT ON; SELECT COUNT(*) FROM sys.server_principals WHERE name = 'sa';"
Ожидаемый вывод
0

Как исправляется

Метод исправления: Рекомендация или патч инфраструктуры

Execute the appropriate ALTER statement below based on the principal_id returned for the login named sa. Replace the <different_name> value within the below syntax and execute to rename the sa login. USE [master] GO -- If principal_id = 1 or the login owns database objects, rename the sa login ALTER LOGIN [sa] WITH NAME = <different_name>; GO

Свойства

Операционные системы
Любая
Теги
mssqldatabaseauthentication
Источник
CIS Microsoft SQL Server 2025 Benchmark v1.0.0 - 2.16 Ensure no login exists with the name 'sa'

Проверить этот хост

Выполните команду на компьютере, аудит которого вам разрешён. Сканирование работает только на чтение.

shell
tmaegis scan --target mssql