SV-271265r1108933_rule
V-271265
SRG-APP-000023-DB-000001
SQLI-22-003700
CAT I
10
If mixed mode is required, document the need and justification; describe the measures taken to ensure the use of SQL Server authentication is kept to a minimum; describe the measures taken to safeguard passwords; and list or describe the SQL Logins used.
Documentation must be approved by the ISSO/ISSM.
If mixed mode is not required, disable it as follows:
1. In the SSMS Object Explorer, right-click on the server instance.
2. Select Properties >> Security page.
3. Click the radio button for "Windows Authentication Mode".
4. Click "OK".
5. Restart the SQL Server instance.
OR
Run the statement:
USE [master]
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO
Restart the SQL Server instance.
For each account being managed by SQL Server but not requiring it, drop or disable the SQL Login. Replace it with an appropriately configured account, as needed.
To drop or disable a login in the SSMS Object Explorer, navigate to "Security Logins".
Right-click on the login name and click "Delete" or "Disable".
To drop or disable a login by using a query:
USE master;
DROP LOGIN login_name;
ALTER LOGIN login_name DISABLE;
Dropping a login does not delete the equivalent database user(s). There may be more than one database containing a user mapped to the login. Drop the user(s) unless still needed.
To drop a user in the SSMS Object Explorer:
Navigate to Databases >> Security Users.
Right-click on the username.
Click "Delete".
To drop a user via a query:
USE database_name;
DROP USER <user_name>;
Determine whether SQL Server is configured to use only Windows authentication.
In the Object Explorer in SQL Server Management Studio (SSMS), right-click on the server instance.
Select "Properties", then select the Security page.
If Windows Authentication Mode is selected, this is not a finding.
OR
In a query interface such as the SSMS Transact-SQL editor, run the statement:
SELECT CASE SERVERPROPERTY('IsIntegratedSecurityOnly')
WHEN 1 THEN 'Windows Authentication'
WHEN 0 THEN 'Windows and SQL Server Authentication'
END as [Authentication Mode]
If the returned value in the "Authentication Mode" column is "Windows Authentication", this is not a finding.
Mixed mode (both SQL Server authentication and Windows authentication) is in use. If the need for mixed mode has not been documented and approved by the information system security officer (ISSO)/information system security manager (ISSM), this is a finding.
From the documentation, obtain the list of accounts authorized to be managed by SQL Server.
Determine the accounts (SQL Logins) actually managed by SQL Server. Run the statement:
SELECT name
FROM sys.sql_logins
WHERE type_desc = 'SQL_LOGIN' AND is_disabled = 0;
If any accounts listed by the query are not listed in the documentation, this is a finding.
V-271265
False
SQLI-22-003700
Determine whether SQL Server is configured to use only Windows authentication.
In the Object Explorer in SQL Server Management Studio (SSMS), right-click on the server instance.
Select "Properties", then select the Security page.
If Windows Authentication Mode is selected, this is not a finding.
OR
In a query interface such as the SSMS Transact-SQL editor, run the statement:
SELECT CASE SERVERPROPERTY('IsIntegratedSecurityOnly')
WHEN 1 THEN 'Windows Authentication'
WHEN 0 THEN 'Windows and SQL Server Authentication'
END as [Authentication Mode]
If the returned value in the "Authentication Mode" column is "Windows Authentication", this is not a finding.
Mixed mode (both SQL Server authentication and Windows authentication) is in use. If the need for mixed mode has not been documented and approved by the information system security officer (ISSO)/information system security manager (ISSM), this is a finding.
From the documentation, obtain the list of accounts authorized to be managed by SQL Server.
Determine the accounts (SQL Logins) actually managed by SQL Server. Run the statement:
SELECT name
FROM sys.sql_logins
WHERE type_desc = 'SQL_LOGIN' AND is_disabled = 0;
If any accounts listed by the query are not listed in the documentation, this is a finding.
M
5677