SV-276303r1150104_rule
V-276303
SRG-APP-000164-DB-000401
MSQL-D0-007900
CAT I
10
Ensure check of policy and expiration are enforced when SQL logins are created.
Use the command below to set CHECK_EXPIRATION and CHECK_POLICY to on 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 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.
Azure SQL Managed Instance must be configured to inherit password complexity and password lifetime rules from the operating system.
Review Azure SQL Managed Instance 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
WHERE
is_disabled = 0
Review any accounts returned by the query other than the disabled SA account, ##MS_PolicyTsqlExecutionLogin##, and ##MS_PolicyEventProcessingLogin##.
If any account does not have both "is_expiration_checked" and "is_policy_checked" equal to "1", this is a finding.
V-276303
False
MSQL-D0-007900
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.
Azure SQL Managed Instance must be configured to inherit password complexity and password lifetime rules from the operating system.
Review Azure SQL Managed Instance 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
WHERE
is_disabled = 0
Review any accounts returned by the query other than the disabled SA account, ##MS_PolicyTsqlExecutionLogin##, and ##MS_PolicyEventProcessingLogin##.
If any account does not have both "is_expiration_checked" and "is_policy_checked" equal to "1", this is a finding.
M
5711