Description:
Enable Vulnerability Assessment (VA) service scans for critical SQL servers and corresponding SQL databases.
Rationale:
Enabling Azure Defender for SQL server does not enables Vulnerability Assessment capability for individual SQL databases unless storage account is set to store the scanning data and reports.
The Vulnerability Assessment service scans databases for known security vulnerabilities and highlight deviations from best practices, such as misconfigurations, excessive permissions, and unprotected sensitive data. Results of the scan include actionable steps to resolve each issue and provide customized remediation scripts where applicable.
Additionally an assessment report can be customized by setting an acceptable baseline for permission configurations, feature configurations, and database settings.
Impact:
Enabling the Azure Defender for SQL features will incur additional costs for each SQL server.
Default Value:
By default Azure Defender for SQL is not enabled for a SQL server. Enabling Azure Defender for SQL does not enable VA scanning by setting Storage Account automatically.
Audit:
From Azure Console
Go to SQL servers
Select a server instance
Click on Security Center
Ensure that Azure Defender for SQL is set to Enabled
Select Configure next to Enabled at subscription-level
In Section Vulnerability Assessment Settings, Ensure Storage Accounts is does not read Configure required settings
Using Azure PowerShell
Get the list of all SQL Servers
1Get-AZSqlServer
For each Server
1Get-AzSqlServerVulnerabilityAssessmentSetting -ResourceGroupName <resource group name> -ServerName <server name>
Remediation:
From Azure Console
Go to SQL servers
Select a server instance
Click on Security Center
Select Configure next to Enabled at subscription-level
In Section Vulnerability Assessment Settings, Click Storage Account
Choose Storage Account (Existing or Create New). Click Ok
Click Save
Using Azure PowerShell
If not already, Enable Azure Defender for a SQL:
1Set-AZSqlServerThreatDetectionPolicy -ResourceGroupName <resource group name> 2-ServerName <server name> -EmailAdmins $True
To enable ADS-VA service by setting Storage Account
1Update-AzSqlServerVulnerabilityAssessmentSetting ` 2-ResourceGroupName "<resource group name>"` 3-ServerName "<Server Name>"` 4-StorageAccountName "<Storage Name from same subscription and same Location" ` 5-ScanResultsContainerName "vulnerability-assessment" ` 6-RecurringScansInterval Weekly ` 7-EmailSubscriptionAdmins $true ` 8-NotificationEmail @("[email protected]" , "[email protected]")