SV-276259r1150012_rule
V-276259
SRG-APP-000503-DB-000351
MSQL-00-014800
CAT II
10
Deploy an Azure SQL Managed Instance audit.
Refer to the supplemental file "AzureSQLMIAudit.txt" script.
Reference: https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/auditing-configure?view=azuresql
Review Azure SQL Managed Instance configuration to verify audit records are produced when unsuccessful logons or connection attempts occur.
Determine if an audit is configured and started by executing the following query:
SELECT name AS 'Audit Name',
status_desc AS 'Audit Status',
audit_file_path AS 'Current Audit File'
FROM sys.dm_server_audit_status WHERE name NOT IN ('admin_audit','SqlDbThreatDetection_ServerAudit')
Execute the following query to verify the SUCCESSFUL_LOGIN_GROUP and FAILED_LOGIN_GROUP are included in the server audit specification.
SELECT a.name AS 'AuditName',
s.name AS 'SpecName',
d.audit_action_name AS 'ActionName',
d.audited_result AS 'Result'
FROM sys.server_audit_specifications s
JOIN sys.server_audits a ON s.audit_guid = a.audit_guid
JOIN sys.server_audit_specification_details d ON s.server_specification_id = d.server_specification_id
WHERE a.is_state_enabled = 1 AND d.audit_action_name IN ('SUCCESSFUL_LOGIN_GROUP', 'FAILED_LOGIN_GROUP')
If both 'SUCCESSFUL_LOGIN_GROUP' and 'FAILED_LOGIN_GROUP' are not in the active audit, this is a finding.
V-276259
False
MSQL-00-014800
Review Azure SQL Managed Instance configuration to verify audit records are produced when unsuccessful logons or connection attempts occur.
Determine if an audit is configured and started by executing the following query:
SELECT name AS 'Audit Name',
status_desc AS 'Audit Status',
audit_file_path AS 'Current Audit File'
FROM sys.dm_server_audit_status WHERE name NOT IN ('admin_audit','SqlDbThreatDetection_ServerAudit')
Execute the following query to verify the SUCCESSFUL_LOGIN_GROUP and FAILED_LOGIN_GROUP are included in the server audit specification.
SELECT a.name AS 'AuditName',
s.name AS 'SpecName',
d.audit_action_name AS 'ActionName',
d.audited_result AS 'Result'
FROM sys.server_audit_specifications s
JOIN sys.server_audits a ON s.audit_guid = a.audit_guid
JOIN sys.server_audit_specification_details d ON s.server_specification_id = d.server_specification_id
WHERE a.is_state_enabled = 1 AND d.audit_action_name IN ('SUCCESSFUL_LOGIN_GROUP', 'FAILED_LOGIN_GROUP')
If both 'SUCCESSFUL_LOGIN_GROUP' and 'FAILED_LOGIN_GROUP' are not in the active audit, this is a finding.
M
5711