Управление обнаруженными уязвимостями в базах данных SQL Azure
Microsoft Defender для облака предоставляет оценку уязвимостей для баз данных SQL Azure. Оценка уязвимостей проверяет базы данных на наличие уязвимостей программного обеспечения и предоставляет список выводов. Вы можете использовать результаты для устранения уязвимостей программного обеспечения и отключения результатов.
Необходимые компоненты
Перед продолжением убедитесь, что вы используете экспресс-или классические конфигурации .
Чтобы узнать, какая конфигурация используется, выполните следующие действия.
- На портале Azure откройте конкретный ресурс в Базе данных SQL Azure, Управляемый экземпляр Базы данных SQL или Azure Synapse.
- Под заголовком Безопасность выберите Defender для облака.
- В разделе "Состояние включения" выберите "Настроить", чтобы открыть панель параметров Microsoft Defender для SQL для всего сервера или управляемого экземпляра.
Если параметры уязвимости показывают параметр настройки учетной записи хранения, вы используете классическую конфигурацию. Если нет, вы используете экспресс-конфигурацию.
Экспресс-конфигурация
Просмотр журнала сканирования
Нажмите кнопку Журнал сканирования в области оценки уязвимостей, чтобы просмотреть журнал всех проверок этой базы данных.
Экспресс-конфигурация не сохраняет результаты сканирования, если они идентичны предыдущим сканированиям. Время сканирования, показанное в журнале сканирования, — это время последнего сканирования, в котором были изменены результаты сканирования.
Отключение определенных результатов в Microsoft Defender для облака (предварительная версия)
Если у вас есть организация, необходимо игнорировать поиск, а не исправить ее, можно отключить поиск. Отключенные результаты не учитываются в оценке безопасности и не создают нежелательный шум. Вы можете увидеть отключенный поиск в разделе "Неприменимо" результатов сканирования.
Если результат поиска соответствует критерию, заданному в правилах отключения, он не будет отображаться в списке результатов. Типичные сценарии могут включать:
- Отключение результатов с средней или более низкой степенью серьезности
- Отключение обнаруженных проблем, которые не подлежат исправлению
- Отключение результатов тестов производительности, которые не интересны для определенной области
Внимание
Чтобы отключить определенные результаты, необходимо иметь разрешения на изменение политики в Политике Azure. Дополнительные сведения см. в разделе Разрешения Azure RBAC в Политике Azure.
Чтобы создать правило, выполните следующие действия.
На странице сведений о рекомендациях для рекомендации Найденные в ходе оценки уязвимости SQL Server на компьютерах должны быть устранены выберите Отключить правило.
Выберите соответствующую область.
Определите условие. Вы можете использовать любое из следующих условий:
- Идентификатор обнаруженной проблемы
- Важность
- Тесты производительности
Создание правила отключения для результатов оценки уязвимостей SQL Server на компьютерах.
Нажмите Применить правило. Изменения могут занять до 24 часов.
Чтобы просмотреть, переопределить или удалить правило, выполните следующие действия.
- Выберите Отключить правило.
- В списке области подписки с активными правилами отображаются с пометкой Правило применено.
- Чтобы просмотреть или удалить правило, выберите меню с многоточием (...).
Настройка уведомлений по электронной почте с помощью Azure Logic Apps
Чтобы получать регулярные обновления состояния оценки уязвимостей для базы данных, можно использовать настраиваемый шаблон Azure Logic Apps.
Использование шаблона позволит вам:
- Выберите время отправки отчетов электронной почты.
- У вас есть согласованное представление о состоянии оценки уязвимостей, включающее отключенные правила.
- Отправка отчетов для серверов SQL Azure и виртуальных машин SQL.
- Настройте структуру отчетов и внешний вид, чтобы соответствовать стандартам организации.
Программное управление оценкой уязвимостей
Экспресс-конфигурация поддерживается в последней версии REST API со следующими функциями:
Description | Область действия | API |
---|---|---|
Базовые массовые операции | Системная база данных | Базовые показатели оценки уязвимостей SQL Базовые показатели оценки уязвимостей SQL |
Базовые массовые операции | Уровень пользовательской | Базовые показатели оценки уязвимостей Базы данных SQL |
Базовые операции с одним правилом | Уровень пользовательской | Базовые показатели правил оценки уязвимостей базы данных SQL |
Базовые операции с одним правилом | Системная база данных | Базовые показатели правил оценки уязвимостей SQL Базовый план правила оценки уязвимостей SQL |
Результаты однократного сканирования | Уровень пользовательской | Результат проверки уязвимостей базы данных SQL |
Результаты однократного сканирования | Системная база данных | Результат проверки уязвимостей SQL |
Сведения о сканировании (сводка) | Уровень пользовательской | Проверки оценки уязвимостей Базы данных SQL |
Сведения о сканировании (сводка) | Системная база данных | Проверки оценки уязвимостей SQL |
Выполнение ручной проверки | Уровень пользовательской | Проверка выполнения оценки уязвимостей Базы данных SQL |
Выполнение ручной проверки | Системная база данных | Проверка выполнения оценки уязвимостей SQL |
Параметры va (get only is supported for Express Configuration) | Уровень пользовательской | Параметры оценки уязвимостей Базы данных SQL |
Операции параметров VA | Сервер | Параметры оценки уязвимостей SQL Оценки уязвимостей SQL |
Использование шаблонов Azure Resource Manager
Используйте следующий шаблон ARM для создания нового логического сервера SQL Azure с экспресс-конфигурацией для оценки уязвимостей SQL.
Для настройки базовых показателей оценки уязвимостей с помощью шаблонов Azure Resource Manager используйте тип Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines
. Перед добавлением базовых показателей убедитесь, что vulnerabilityAssessments
она включена.
Ниже приведено несколько примеров настройки базовых показателей с помощью шаблонов ARM:
Настройте базовые показатели пакетной службы на основе последних результатов сканирования:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]", "properties": { "latestScan": true } }
Настройка пакетной базовой базы на основе конкретных результатов:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]", "properties": { "latestScan": false, "results": { "VA2065": [ [ "FirewallRuleName3", "62.92.15.67", "62.92.15.67" ], [ "FirewallRuleName4", "62.92.15.68", "62.92.15.68" ] ], "VA2130": [ [ "dbo" ] ] } } }
Настройте базовые показатели для определенного правила:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/rules", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default/VA1143')]", "properties": { "latestScan": false, "results": [ [ "True" ] ] } }
Настройте базовые показатели пакетной службы в базе данных master на основе последних результатов сканирования:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/master/default/default')]", "properties": { "latestScan": true } }
Использование PowerShell
Экспресс-конфигурация не поддерживается в командлетах PowerShell, но можно использовать PowerShell для вызова последних возможностей оценки уязвимостей с помощью REST API, например:
- Включение экспресс-конфигурации на сервере SQL Server Azure
- Настройка базовых показателей на основе последних результатов сканирования для всех баз данных в SQL Server Azure
- Справочник по командам PowerShell express configuration
Использование Azure CLI
Вызов экспресс-конфигурации с помощью Azure CLI.
Устранение неполадок
Возврат к классической конфигурации
Чтобы переключить базу данных SQL Azure с конфигурации с экспресс-оценкой уязвимости на классическую конфигурацию:
Отключите план Defender для SQL Azure на портале Azure.
Измените конфигурацию на классическую с помощью PowerShell:
Update-AzSqlServerAdvancedThreatProtectionSetting ` -ResourceGroupName "demo-rg" ` -ServerName "dbsrv1" ` -Enable 1 Update-AzSqlServerVulnerabilityAssessmentSetting ` -ResourceGroupName "demo-rg" ` -ServerName "dbsrv1" ` -StorageAccountName "mystorage" ` -RecurringScansInterval Weekly ` -ScanResultsContainerName "vulnerability-assessment"
В соответствии с проверкой уязвимостей магазина может потребоваться настроить
Update-AzSqlServerVulnerabilityAssessmentSetting
проверку уязвимостей в учетной записи хранения, доступной за брандмауэрами и виртуальными сетями.
ошибки
"Оценка уязвимостей включена на этом сервере или в одной из базовых баз данных с несовместимой версией"
Возможные причины:
Сбой переключения на экспресс-конфигурацию из-за ошибки политики сервера.
Решение. Повторите попытку, чтобы включить экспресс-конфигурацию. Если проблема сохранится, попробуйте отключить Microsoft Defender для SQL в ресурсе SQL Azure, нажмите кнопку "Сохранить", снова включите Microsoft Defender для SQL и нажмите кнопку "Сохранить".
Сбой переключения на экспресс-конфигурацию из-за ошибки политики базы данных. Политики базы данных не отображаются в портал Azure оценки уязвимостей Defender для SQL, поэтому мы проверяем их на этапе проверки переключения на экспресс-конфигурацию.
Решение. Отключите все политики базы данных для соответствующего сервера и повторите попытку переключиться на экспресс-конфигурацию.
Рассмотрите возможность использования предоставленного скрипта PowerShell для получения помощи.
Классическая конфигурация
Просмотр журнала сканирования
Нажмите кнопку Журнал сканирования в области оценки уязвимостей, чтобы просмотреть журнал всех проверок этой базы данных.
Отключение определенных результатов в Microsoft Defender для облака (предварительная версия)
Если правила вашей организации требуют игнорировать обнаруженную проблему, а не исправлять ее, вы можете исключить ее из результатов поиска. Отключенные результаты не учитываются в оценке безопасности и не создают нежелательный шум.
Если результат поиска соответствует критерию, заданному в правилах отключения, он не будет отображаться в списке результатов. Типичные сценарии могут включать:
- Отключение результатов с средней или более низкой степенью серьезности
- Отключение обнаруженных проблем, которые не подлежат исправлению
- Отключение результатов тестов производительности, которые не интересны для определенной области
Внимание
- Чтобы отключить определенные результаты, необходимо иметь разрешения на изменение политики в Политике Azure. Дополнительные сведения см. в разделе Разрешения Azure RBAC в Политике Azure.
- Отключенные результаты по-прежнему будут включены в еженедельный отчет об оценке уязвимостей SQL.
- Отключенные правила отображаются в разделе "Неприменимо" результатов сканирования.
Чтобы создать правило, выполните приведенные действия.
На странице сведений о рекомендациях для рекомендации Найденные в ходе оценки уязвимости SQL Server на компьютерах должны быть устранены выберите Отключить правило.
Выберите соответствующую область.
Определите условие. Вы можете использовать любое из следующих условий:
- Идентификатор обнаруженной проблемы
- Важность
- Тесты производительности
Нажмите Применить правило. Изменения могут занять до 24 часов.
Чтобы просмотреть, переопределить или удалить правило, выполните следующие действия.
Выберите Отключить правило.
В списке области подписки с активными правилами отображаются с пометкой Правило применено.
Чтобы просмотреть или удалить правило, выберите меню с многоточием (...).
Программное управление оценкой уязвимостей
Azure PowerShell
Примечание.
В этой статье предусмотрено использование модуля Azure Az PowerShell, который является рекомендуемым модулем PowerShell для взаимодействия с Azure. Чтобы начать работу с модулем Az PowerShell, ознакомьтесь со статьей Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Внимание
Модуль PowerShell Azure Resource Manager по-прежнему поддерживается, но вся дальнейшая разработка сосредоточена на модуле Az.Sql. Сведения об этих командлетах см. в разделе AzureRM.Sql. Аргументы команд в модулях Az и AzureRm практически идентичны.
Для программного управления оценками уязвимостей можно использовать командлеты Azure PowerShell. Поддерживаемые командлеты:
Имя командлета в виде ссылки | Description |
---|---|
Clear-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Очищает базовое правило оценки уязвимости. Следует сначала установить базовые показатели, прежде чем очищать их с помощью этого командлета. |
Clear-AzSqlDatabaseVulnerabilityAssessmentSetting | Очищает параметры оценки уязвимостей базы данных. |
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Очищает базовые показатели для правил оценки уязвимостей управляемой базы данных. Следует сначала установить базовые показатели, прежде чем очищать их с помощью этого командлета. |
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Очищает параметры оценки уязвимостей управляемой базы данных. |
Clear-AzSqlInstanceVulnerabilityAssessmentSetting | Очищает параметры оценки уязвимостей управляемого экземпляра. |
Convert-AzSqlDatabaseVulnerabilityAssessmentScan | Преобразует результаты проверки уязвимостей базы данных в файл Excel (экспорт). |
Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan | Преобразует результаты проверки уязвимостей управляемой базы данных в файл Excel (экспорт). |
Get-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Получает базовые показатели для заданного правила оценки уязвимостей базы данных. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Получает базовые показатели для заданного правила оценки уязвимостей управляемой базы данных. |
Get-AzSqlDatabaseVulnerabilityAssessmentScanRecord | Получает все записи о проверках для оценки уязвимостей, связанные с заданной базой данных. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentScanRecord | Получает все записи о проверках для оценки уязвимостей, связанные с заданной управляемой базой данных. |
Get-AzSqlDatabaseVulnerabilityAssessmentSetting | Возвращает параметры оценки уязвимостей базы данных. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Возвращает параметры оценки уязвимостей управляемой базы данных. |
Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Устанавливает базовое правило для оценки уязвимости. |
Set-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Устанавливает базовые показатели для правил оценки уязвимостей управляемой базы данных. |
Start-AzSqlDatabaseVulnerabilityAssessmentScan | Запускает проверку для оценки уязвимости базы данных. |
Start-AzSqlInstanceDatabaseVulnerabilityAssessmentScan | Запускает проверку для оценки уязвимости управляемой базы данных. |
Update-AzSqlDatabaseVulnerabilityAssessmentSetting | Обновляет параметры оценки уязвимости базы данных. |
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Обновляет параметры оценки уязвимостей управляемой базы данных. |
Update-AzSqlInstanceVulnerabilityAssessmentSetting | Обновляет параметры оценки уязвимостей управляемого экземпляра. |
Пример сценария см. в статье "Поддержка PowerShell для оценки уязвимостей Azure SQL".
Azure CLI
Внимание
Следующие команды Azure CLI предназначены для баз данных SQL, размещенных на виртуальных машинах или локальных компьютерах. Сведения об оценках уязвимостей в отношении База данных SQL Azure см. в разделе портал Azure или PowerShell.
Для программного управления оценками уязвимостей можно использовать команды Azure CLI. Поддерживаются такие команды :
Имя команды в качестве ссылки | Description |
---|---|
az security va sql baseline delete |
Удалите базовые показатели правила оценки уязвимостей SQL. |
az security va sql baseline list |
Просмотрите базовые показатели оценки уязвимостей SQL для всех правил. |
az security va sql baseline set |
Задает базовые показатели оценки уязвимостей SQL. Заменяет текущий базовый план. |
az security va sql baseline show |
Просмотр базовых показателей правил оценки уязвимостей SQL. |
az security va sql baseline update |
Обновление базового плана оценки уязвимостей SQL. Заменяет текущий базовый план правила. |
az security va sql results list |
Просмотрите все результаты проверки уязвимостей SQL. |
az security va sql results show |
Просмотр результатов проверки уязвимостей SQL. |
az security va sql scans list |
Список всех сводок проверки уязвимостей SQL. |
az security va sql scans show |
Просмотрите сводки проверки уязвимостей SQL. |
Шаблоны Resource Manager
Для настройки базовых показателей оценки уязвимостей с помощью шаблонов Azure Resource Manager используйте тип Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines
.
Включите параметр vulnerabilityAssessments
, прежде чем добавлять базовые показатели.
Ниже приведен пример определения базового правила VA2065 для базы данных master
и VA1143 для базы данных user
в качестве ресурсов в шаблоне Resource Manager:
"resources": [
{
"type": "Microsoft.Sql/servers/databases/vulnerabilityAapiVersion": "2018-06-01",
"name": "[concat(parameters('server_name'),'/', parameters('database_name') , '/default/VA2065/master')]",
"properties": {
"baselineResults": [
{
"result": [
"FirewallRuleName3",
"StartIpAddress",
"EndIpAddress"
]
},
{
"result": [
"FirewallRuleName4",
"62.92.15.68",
"62.92.15.68"
]
}
]
},
"type": "Microsoft.Sql/servers/databases/vulnerabilityAapiVersion": "2018-06-01",
"name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2130/Default')]",
"dependsOn": [
"[resourceId('Microsoft.Sql/servers/vulnerabilityAssessments', parameters('server_name'), 'Default')]"
],
"properties": {
"baselineResults": [
{
"result": [
"dbo"
]
}
]
}
}
]
Для баз данных master
и user
имена ресурсов определяются по-разному:
- База данных Master — "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/master')",
- Пользовательская база данных — "name": "[concat(parameters('server_name'),'/', parameters('database_name"), '/default/VA2065/default']",
Для работы с логическими типами, такими true/false, установите базовый результат с двоичными входными данными, например "1"/"0".
{
"type": "Microsoft.Sql/servers/databases/vulnerabilityapiVersion": "2018-06-01",
"name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA1143/Default')]",
"dependsOn": [
"[resourceId('Microsoft.Sql/servers/vulnerabilityAssessments', parameters('server_name'), 'Default')]"
],
"properties": {
"baselineResults": [
{
"result": [
"1"
]
}
]
}
}
Связанный контент
- Дополнительные сведения о Microsoft Defender для SQL Azure.
- Дополнительные сведения об обнаружении и классификации данных.
- Узнайте больше о хранении проверки уязвимостей в учетной записи хранения, доступной для брандмауэров и виртуальных сетей.
- Ознакомьтесь с общими вопросами о базах данных SQL Azure.