STIGQter STIGQter: STIG Summary: Microsoft SQL Server 2022 Instance Security Technical Implementation Guide Version: 1 Release: 4 Benchmark Date: 01 Apr 2026:

If DBMS authentication using passwords is employed, SQL Server must enforce the DOD standards for password complexity and lifetime.

DISA Rule

SV-271307r1109241_rule

Vulnerability Number

V-271307

Group Title

SRG-APP-000164-DB-000401

Rule Version

SQLI-22-007900

Severity

CAT I

CCI(s)

Weight

10

Fix Recommendation

Ensure check of policy and expiration are enforced when SQL logins are created.

Use the command below to set CHECK_EXPIRATION and CHECK_POLICY for any login found to be noncompliant:

ALTER LOGIN [LoginnameHere] WITH CHECK_EXPIRATION=ON;
ALTER LOGIN [LoginNameHere] WITH CHECK_POLICY=ON;

New SQL authenticated logins must be created with CHECK_EXPIRATION and CHECK_POLICY set to ON.

CREATE LOGIN [LoginNameHere] WITH PASSWORD = 'ComplexPasswordHere', CHECK_EXPIRATION = ON, CHECK_POLICY = ON;

Check Contents

Check for use of SQL Authentication:

SELECT CASE SERVERPROPERTY('IsIntegratedSecurityOnly')
WHEN 1 THEN 'Windows Authentication' WHEN 0 THEN 'SQL Authentication'
END as [Authentication Mode]

If the returned value in the "Authentication Mode" column is "Windows Authentication", this is not a finding.

SQL Server should be configured to inherit password complexity and password lifetime rules from the operating system. Review the SQL Server Instance to ensure logons are created with respect to the complexity settings and password lifetime rules by running the following statement:

SELECT
[name],
is_expiration_checked,
is_policy_checked,*
FROM
sys.sql_logins
WHERE
is_disabled = 0
AND name NOT IN ('##MS_PolicyTsqlExecutionLogin##','##MS_PolicyEventProcessingLogin##')
AND sid <> 1

If any account does not have both "is_expiration_checked" and "is_policy_checked" equal to "1", this is a finding.

Vulnerability Number

V-271307

Documentable

False

Rule Version

SQLI-22-007900

Severity Override Guidance

Check for use of SQL Authentication:

SELECT CASE SERVERPROPERTY('IsIntegratedSecurityOnly')
WHEN 1 THEN 'Windows Authentication' WHEN 0 THEN 'SQL Authentication'
END as [Authentication Mode]

If the returned value in the "Authentication Mode" column is "Windows Authentication", this is not a finding.

SQL Server should be configured to inherit password complexity and password lifetime rules from the operating system. Review the SQL Server Instance to ensure logons are created with respect to the complexity settings and password lifetime rules by running the following statement:

SELECT
[name],
is_expiration_checked,
is_policy_checked,*
FROM
sys.sql_logins
WHERE
is_disabled = 0
AND name NOT IN ('##MS_PolicyTsqlExecutionLogin##','##MS_PolicyEventProcessingLogin##')
AND sid <> 1

If any account does not have both "is_expiration_checked" and "is_policy_checked" equal to "1", this is a finding.

Check Content Reference

M

Target Key

5677