Azure logging & audit security checks
Audit logs, event retention and incident-response hooks — the evidence you need when something goes wrong, and the controls auditors ask for first.
On Azure, Black Cat runs 13 checks in this area on every scan. Each one below lists its severity, how to fix it, and the compliance controls it satisfies where a control applies. See what access the Azure connector needs.
Checks (13)
severity: high NSG Flow Logs Disabled fix difficulty: easy #
Enable NSG flow logs to capture network traffic metadata for security analysis
- Navigate to the Azure Portal and open Network Watcher
- Click NSG flow logs in the left menu
- Click Add and select the flagged NSG from the dropdown
- Choose a storage account for log retention and set retention to at least 90 days
- Optionally enable Traffic Analytics for enhanced insights
- Click Save and verify the flow log status shows Enabled
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-5.2 HIPAA (SaaS Security) HIPAA-312.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1
severity: medium Key Vault Diagnostic Logging Disabled fix difficulty: medium #
Enable diagnostic settings on the Key Vault to capture audit and request logs
- Navigate to the Azure Portal and open Key vaults
- Select the flagged Key Vault and click Diagnostic settings under Monitoring
- Click Add diagnostic setting
- Select AuditEvent and AllMetrics log categories
- Choose a destination (Log Analytics workspace or Storage account) for log storage
- Click Save and verify the diagnostic setting appears in the list
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-5.2 HIPAA (SaaS Security) HIPAA-312.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1
severity: high SQL Auditing Disabled fix difficulty: easy #
Enable auditing on the Azure SQL Server to log all database events
- Navigate to the Azure Portal and open SQL servers
- Select the flagged SQL Server and click Auditing under Security
- Toggle Auditing to On
- Choose a storage destination (Storage account, Log Analytics, or Event Hub)
- Set the retention period to at least 90 days
- Click Save and verify the auditing status shows Enabled
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-5.2 GDPR (SaaS Security) GDPR-33.1 HIPAA (SaaS Security) HIPAA-312.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1
severity: medium SQL Audit Retention Short fix difficulty: easy #
Extend the SQL Server audit log retention period to at least 90 days
- Navigate to the Azure Portal and open SQL servers
- Select the flagged SQL Server and click Auditing under Security
- Verify auditing is enabled and click the storage account destination link
- In the storage account settings, set Retention (days) to 90 or higher
- Click Save on the auditing configuration page
- Verify the retention period is reflected in the auditing settings
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-5.2 HIPAA (SaaS Security) HIPAA-316.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1
severity: high App Service Logging Disabled fix difficulty: easy #
Enable application and HTTP logging on the App Service
- Navigate to the Azure Portal and open App Services
- Select the flagged web app and click App Service logs under Monitoring
- Set Application logging (Filesystem) to On and choose a level (e.g. Warning or Error)
- Enable Web server logging and set a retention period of at least 30 days
- Optionally enable Detailed error messages and Failed request tracing
- Click Save and verify logs are being written by checking the Log stream
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-5.2 HIPAA (SaaS Security) HIPAA-312.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1
severity: medium Diagnostic Retention Short fix difficulty: easy #
Set the diagnostic setting log retention period to at least 365 days
- Navigate to the Azure Portal and open Monitor
- Click Diagnostic settings in the left menu
- Select the resource with the short retention setting
- Click Edit setting next to the existing diagnostic setting
- Under the storage account destination, set Retention (days) to 365 or higher
- Click Save to apply the updated retention policy
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-5.2 HIPAA (SaaS Security) HIPAA-316.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1
severity: medium Alert Policy Assignment Missing fix difficulty: medium #
Create an activity log alert for Azure Policy assignment create and update operations
- Navigate to the Azure Portal and open Monitor
- Click Alerts and then Create an alert rule
- Click Select condition and search for Create policy assignment (Microsoft.Authorization/policyAssignments/write)
- Configure the scope to the subscription level
- Add an action group with email or webhook notification
- Name the alert rule and click Create alert rule
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-33.1 HIPAA (SaaS Security) HIPAA-312.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1
severity: medium Alert NSG Create Missing fix difficulty: medium #
Create an activity log alert for NSG create and update operations
- Navigate to the Azure Portal and open Monitor
- Click Alerts and then Create an alert rule
- Click Select condition and search for Create or Update Network Security Group (Microsoft.Network/networkSecurityGroups/write)
- Configure the scope to the subscription level
- Add an action group with email or webhook notification
- Name the alert rule and click Create alert rule
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-33.1 HIPAA (SaaS Security) HIPAA-312.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1
severity: medium Alert NSG Delete Missing fix difficulty: medium #
Create an activity log alert for NSG delete operations
- Navigate to the Azure Portal and open Monitor
- Click Alerts and then Create an alert rule
- Click Select condition and search for Delete Network Security Group (Microsoft.Network/networkSecurityGroups/delete)
- Configure the scope to the subscription level
- Add an action group with email or webhook notification
- Name the alert rule and click Create alert rule
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-33.1 HIPAA (SaaS Security) HIPAA-312.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1
severity: medium Alert Security Solution Create Missing fix difficulty: medium #
Create an activity log alert for security solution create and update operations
- Navigate to the Azure Portal and open Monitor
- Click Alerts and then Create an alert rule
- Click Select condition and search for Create or Update Security Solution (Microsoft.Security/securitySolutions/write)
- Configure the scope to the subscription level
- Add an action group with email or webhook notification
- Name the alert rule and click Create alert rule
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-33.1 HIPAA (SaaS Security) HIPAA-312.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1
severity: medium Alert Security Solution Delete Missing fix difficulty: medium #
Create an activity log alert for security solution delete operations
- Navigate to the Azure Portal and open Monitor
- Click Alerts and then Create an alert rule
- Click Select condition and search for Delete Security Solution (Microsoft.Security/securitySolutions/delete)
- Configure the scope to the subscription level
- Add an action group with email or webhook notification
- Name the alert rule and click Create alert rule
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-33.1 HIPAA (SaaS Security) HIPAA-312.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1
severity: medium Alert SQL Firewall Missing fix difficulty: medium #
Create an activity log alert for SQL Server firewall rule create, update, and delete operations
- Navigate to the Azure Portal and open Monitor
- Click Alerts and then Create an alert rule
- Click Select condition and search for Create or Update Server Firewall Rule (Microsoft.Sql/servers/firewallRules/write)
- Configure the scope to the subscription level
- Add an action group with email or webhook notification
- Name the alert rule and click Create alert rule
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-33.1 HIPAA (SaaS Security) HIPAA-312.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1
severity: medium Alert Disabled fix difficulty: easy #
Enable the disabled activity log alert rule so it fires on matching events
- Navigate to the Azure Portal and open Monitor
- Click Alerts in the left menu and then Alert rules
- Filter to show disabled rules and locate the flagged alert rule
- Click the alert rule name to open its details
- Click Edit and set the Status toggle to Enabled
- Click Save and verify the alert rule status shows as Enabled
Satisfies: ISO 27001:2022 A.8.9 SOC 2 Type II CC7.2 CIS Controls v8 CIS-08 NIST CSF 2.0 DE.CM GDPR (SaaS Security) GDPR-33.1 HIPAA (SaaS Security) HIPAA-312.b NIS2 Directive NIS2-21.b.2 DORA (SaaS Security) DORA-10.1