Check ID: sqlserver_va_scan_reports_configured
Provider: Azure
Service: sqlserver
Severity: MEDIUM
Categories: vulnerabilities
Resource type: microsoft.sql/servers

What this check verifies

Azure SQL Server vulnerability assessment uses recurring scans and emails results to designated recipients. This evaluates that VA is enabled and that Send scan reports to (or subscription admin notifications) is configured so scan reports are delivered.

Risk

If VA reports aren’t sent to responsible owners, findings can be missed, delaying fixes. Attackers may exploit misconfigurations, excessive permissions, or outdated settings, leading to data exposure (C), unauthorized changes (I), and potential service disruption (A).

Recommendation

Enable Vulnerability Assessment, keep recurring scans active, and configure Send scan reports to with accountable security owners or subscription admins. Integrate notifications with central alerting, apply least privilege to recipients, and enforce SLAs to triage and remediate findings promptly.

Remediation

az rest --method PUT --url "https://management.azure.com/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Sql/servers/<SERVER_NAME>/vulnerabilityAssessments/Default?api-version=2023-08-01-preview" --body '{"properties":{"storageContainerPath":"https://<STORAGE_ACCOUNT>.blob.core.windows.net/<CONTAINER>","storageAccountAccessKey":"<STORAGE_KEY>","recurringScans":{"isEnabled":true,"emailSubscriptionAdmins":true,"emails":["<EMAIL_ADDRESS>"]}}}'

References

Where this check fires

This check runs on every scheduled scan against your Azure account. Findings appear at Cloud Security → Findings filterable by Check ID = sqlserver_va_scan_reports_configured. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to Azure checks