Control: 5.3.3 Ensure server parameter 'audit_log_enabled' is set to 'ON' for MySQL flexible Server
Description
Enable audit_log_enabled
on MySQL flexible servers
.
Enabling audit_log_enabled
helps MySQL Database to log items such as connection attempts to the server, DDL/DML access, and more. Log data can be used to identify, troubleshoot, and repair configuration errors and suboptimal performance.
Remediation
From Azure Portal
Part 1 - Turn on audit logs
- Login to Azure Portal using https://portal.azure.com.
- Go to
Azure Database for MySQL flexible servers
. - For each database, under
Settings
, clickServer parameters
. - Set
audit_log_enabled
toON
. - Click
Save
.
Part 2 - Capture audit logs (diagnostic settings is for example only, send these logs to the appropriate data sink for your logging needs)
- Under Monitoring, select
Diagnostic settings
. - Select
+ Add diagnostic setting
. - Provide a diagnostic setting name.
- Under Categories, select
MySQL Audit Logs
. - Specify destination details.
- Click
Save
.
It may take up to 10 minutes for the logs to appear in the configured destination.
From Azure CLI
Use the below command to enable audit_log_enabled
:
az mysql flexible-server parameter set --resource-group <resourceGroup> --server-name <serverName> --name audit_log_enabled --value on
From PowerShell
Use the below command to enable audit_log_enabled
:
Update-AzMySqlFlexibleServerConfiguration -ResourceGroupName <resourceGroup> -ServerName <serverName> -Name audit_log_enabled -Value on
Default Value
audit_log_enabled is set to OFF by default.
Usage
Run the control in your terminal:
powerpipe control run azure_compliance.control.cis_v300_5_3_3
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run azure_compliance.control.cis_v300_5_3_3 --share
SQL
This control uses a named query:
mysql_flexible_server_audit_logging_enabled