TMA-MSSQL-2.14
Ensure the 'sa' Login Account has been renamed
Description
The sa account is a widely known and often widely used SQL Server login with sysadmin privileges. The sa login is the original login created during installation and always has principal_id=1 and sid=0x01. Default: By default, the sa login name is 'sa'. 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.
How it is checked
Audit method: SQL query
sqlcmd -b -h -1 -W -Q "SET NOCOUNT ON; SELECT CASE WHEN name = 'sa' THEN 'noncompliant' ELSE 'compliant' END FROM sys.server_principals WHERE sid = 0x01;"- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Replace the <different_user> value within the below syntax and execute to rename the sa login. ALTER LOGIN sa WITH NAME = <different_user>;
Properties
- Operating systems
- Any
- Tags
- mssqldatabaseauthentication
- Reference
- CIS Microsoft SQL Server 2025 Benchmark v1.0.0 - 2.14 Ensure the 'sa' Login Account has been renamed
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target mssql