STIGQter STIGQter: STIG Summary: MS SQL Server 2016 Instance Security Technical Implementation Guide Version: 2 Release: 3 Benchmark Date: 23 Apr 2021:

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

DISA Rule

SV-213964r617437_rule

Vulnerability Number

V-213964

Group Title

SRG-APP-000164-DB-000401

Rule Version

SQL6-D0-007900

Severity

CAT II

CCI(s)

Weight

10

Fix Recommendation

Configure the SQL Server operating system and SQL Server logins for compliance.

1. Ensure the password complexity requirements for the corresponding DISA Windows Server Security Technical Implementation Guide are met on the server where the SQL Server Instance is installed.

2. Ensure SQL Server is configured to inherit password complexity rules from the operating system for SQL logins. Ensure check of policy and expiration are enforced when SQL logins are created.

CREATE LOGIN <login_name> WITH PASSWORD= <enterStrongPasswordHere>, CHECK_EXPIRATION = ON, CHECK_POLICY = ON;

Check Contents

Check for use of SQL Server Authentication:

SELECT CASE SERVERPROPERTY('IsIntegratedSecurityOnly') WHEN 1 THEN 'Windows Authentication' WHEN 0 THEN 'SQL Server 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 SQL Server to ensure logons are created with respect to the complexity settings and password lifetime rules by running the statement:

SELECT [name], is_expiration_checked, is_policy_checked
FROM sys.sql_logins

Review any accounts returned by the query other than the disabled SA account, ##MS_PolicyTsqlExecutionLogin##, and ##MS_PolicyEventProcessingLogin##.

If any account doesn't have both "is_expiration_checked" and "is_policy_checked" equal to “1”, this is a finding.

Review the Operating System settings relating to password complexity.

Determine whether the following rules are enforced. If any are not, this is a finding.

Check the server operating system for password complexity:

Navigate to Start >> All Programs >> Administrative Tools >> Local Security Policy and to review the local policies on the machine. Account Policy >> Password Policy:

Ensure the DISA Windows Password Policy is set on the SQL Server member server.

Vulnerability Number

V-213964

Documentable

False

Rule Version

SQL6-D0-007900

Severity Override Guidance

Check for use of SQL Server Authentication:

SELECT CASE SERVERPROPERTY('IsIntegratedSecurityOnly') WHEN 1 THEN 'Windows Authentication' WHEN 0 THEN 'SQL Server 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 SQL Server to ensure logons are created with respect to the complexity settings and password lifetime rules by running the statement:

SELECT [name], is_expiration_checked, is_policy_checked
FROM sys.sql_logins

Review any accounts returned by the query other than the disabled SA account, ##MS_PolicyTsqlExecutionLogin##, and ##MS_PolicyEventProcessingLogin##.

If any account doesn't have both "is_expiration_checked" and "is_policy_checked" equal to “1”, this is a finding.

Review the Operating System settings relating to password complexity.

Determine whether the following rules are enforced. If any are not, this is a finding.

Check the server operating system for password complexity:

Navigate to Start >> All Programs >> Administrative Tools >> Local Security Policy and to review the local policies on the machine. Account Policy >> Password Policy:

Ensure the DISA Windows Password Policy is set on the SQL Server member server.

Check Content Reference

M

Target Key

3993

Comments