Gérer les résultats des vulnérabilités dans vos bases de données Azure SQL
Microsoft Defender pour le cloud fournit une évaluation des vulnérabilités pour vos bases de données Azure SQL. L’évaluation des vulnérabilités analyse vos bases de données à la recherche de vulnérabilités logicielles et fournit une liste de résultats. Vous pouvez utiliser les résultats pour corriger les vulnérabilités logicielles et désactiver les résultats.
Prérequis
Assurez-vous que vous savez si vous utilisez la configuration rapide ou classique avant de continuer.
Pour voir quelle configuration vous utilisez :
- Sur le portail Azure, ouvrez la ressource spécifique dans Azure SQL Database, SQL Managed Instance Database ou Azure Synapse.
- Sous l’en-tête Sécurité, sélectionnez Defender pour le cloud.
- Dans État d’activation, sélectionnez Configurer pour ouvrir le volet Paramètres de Microsoft Defender pour SQL correspondant à l’ensemble du serveur ou à l’instance gérée.
Si les paramètres de vulnérabilité indiquent l’option permettant de configurer un compte de stockage, vous utilisez la configuration classique. Si ce n’est pas le cas, vous utilisez la configuration rapide.
Configuration rapide
Afficher l’historique d’analyse
Sélectionnez Historique d'analyse dans le volet Évaluation des vulnérabilités pour afficher l'historique de toutes les analyses précédemment exécutées sur cette base de données.
La configuration rapide ne stocke pas les résultats d’analyse s’ils sont identiques aux analyses précédentes. L’heure d’analyse indiquée dans l’historique d’analyse correspond à l’heure de la dernière analyse où les résultats de l’analyse ont changé.
Désactiver des résultats spécifiques de Microsoft Defender pour le cloud (préversion)
Si votre organisation préfère ignorer un résultat, plutôt que de le corriger, vous avez la possibilité de désactiver le résultat. Les résultats désactivés n’ont pas d’impact sur votre Niveau de sécurité ni ne génèrent de bruit indésirable. Vous pouvez voir la recherche désactivée dans la section « Non applicable » des résultats de l’analyse.
Les résultats correspondant aux critères définis dans vos règles de désactivation n’apparaissent pas dans la liste des résultats. Les scénarios typiques peuvent inclure les éléments suivants :
- Désactiver les résultats avec une gravité moyenne ou inférieure
- Désactiver les résultats qui ne peuvent pas être corrigés
- Désactiver les résultats de points de référence ne présentant pas d’intérêt pour une étendue définie
Important
Pour désactiver des résultats spécifiques, vous devez disposer de l’autorisation de modifier une stratégie dans Azure Policy. Pour plus d’informations, consultez Autorisations Azure RBAC dans Azure Policy.
Pour créer une règle :
Dans la page de détail des recommandations Les résultats de l’évaluation des vulnérabilités sur vos serveurs SQL sur des machines doivent être corrigés, sélectionnez Désactiver la règle.
Sélectionnez l’étendue nécessaire.
Définissez vos critères. Les critères suivants peuvent être utilisés :
- ID de résultat
- severity
- Benchmarks
Créez une règle de désactivation pour les résultats de l’évaluation des vulnérabilités sur les serveurs SQL sur des machines.
Sélectionnez Appliquer la règle. La prise d’effet des modifications peut prendre jusqu'à 24 heures.
Pour afficher, remplacer ou supprimer une règle :
- Sélectionnez Désactiver une règle.
- Dans la liste des étendues, les abonnements présentant des règles actives apparaissent avec la mention Règle appliquée.
- Pour afficher ou supprimer la règle, sélectionnez le menu de points de suspension (« … »).
Configurer des notifications par e-mail à l’aide d’Azure Logic Apps
Pour recevoir des mises à jour régulières de l’état d’évaluation des vulnérabilités pour votre base de données, vous pouvez utiliser le modèle Azure Logic Apps personnalisable.
L’utilisation du modèle vous permet de :
- Choisir quand les rapports par e-mail sont envoyés.
- Avoir une vue cohérente de votre état d’évaluation des vulnérabilités qui inclut les règles désactivées.
- Envoyer des rapports pour les serveurs Azure SQL et les machines virtuelles SQL.
- Personnaliser la structure et l’apparence des rapports pour qu’elles correspondent aux normes de votre organisation.
Gérer les évaluations de vulnérabilité par programmation
La configuration rapide est prise en charge dans la dernière version de l’API REST avec les fonctionnalités suivantes :
Utilisation de modèles Azure Resource Manager
Utilisez le modèle ARM suivant pour créer un serveur logique Azure SQL avec une configuration express pour l’évaluation des vulnérabilités SQL.
Pour configurer les bases de référence de l'évaluation des vulnérabilités à l'aide de modèles Azure Resource Manager, utilisez le type Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines
. Vérifiez que vous avez activé vulnerabilityAssessments
avant d’ajouter des lignes de base.
Voici plusieurs exemples de configuration des lignes de base à l’aide de modèles ARM :
Configurez la ligne de base des lots en fonction des derniers résultats d’analyse :
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]", "properties": { "latestScan": true } }
Configurez la ligne de base des lots en fonction de résultats spécifiques :
{ "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" ] ] } } }
Configurez la ligne de base pour une règle spécifique :
{ "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" ] ] } }
Configurez les lignes de base de traitement par lots sur la base de données master en fonction des derniers résultats d’analyse :
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/master/default/default')]", "properties": { "latestScan": true } }
Utilisation de PowerShell
La configuration rapide n’est pas prise en charge dans les cmdlets PowerShell, mais vous pouvez utiliser PowerShell pour appeler les dernières fonctionnalités d’évaluation des vulnérabilités à l’aide de l’API REST, par exemple :
- Activer la configuration rapide sur un serveur Azure SQL
- Configurer les lignes de base en fonction des résultats d’analyse les plus récents pour toutes les bases de données d’un serveur Azure SQL
- Informations de référence sur les commandes de la configuration Express PowerShell
Utilisation de l’interface de ligne de commande Azure
Appelez une configuration express à l’aide l’interface CLI Azure.
Résolution des problèmes
Revenir à la configuration classique
Pour passer d’une base de données Azure SQL de la configuration rapide de l’évaluation des vulnérabilités à la configuration classique :
Désactivez le plan Defender pour Azure SQL depuis le Portail Azure.
Utilisez PowerShell pour reconfigurer à l’aide de l’expérience classique :
Update-AzSqlServerAdvancedThreatProtectionSetting ` -ResourceGroupName "demo-rg" ` -ServerName "dbsrv1" ` -Enable 1 Update-AzSqlServerVulnerabilityAssessmentSetting ` -ResourceGroupName "demo-rg" ` -ServerName "dbsrv1" ` -StorageAccountName "mystorage" ` -RecurringScansInterval Weekly ` -ScanResultsContainerName "vulnerability-assessment"
Il est possible que vous deviez ajuster
Update-AzSqlServerVulnerabilityAssessmentSetting
en fonction des Stocker les résultats de l’analyse d’évaluation des vulnérabilités dans un compte de stockage accessible derrière des pare-feu et des réseaux virtuels.
Erreurs
« L’évaluation des vulnérabilités est activée sur ce serveur ou sur l’une de ses bases de données sous-jacentes avec une version incompatible »
Causes possibles :
Le basculement vers la configuration rapide a échoué en raison d’une erreur de stratégie de serveur.
Solution : réessayez pour activer la configuration rapide. Si le problème persiste, essayez de désactiver Microsoft Defender pour SQL dans la ressource Azure SQL, sélectionnez Enregistrer, activez à nouveau Microsoft Defender pour SQL, puis sélectionnez Enregistrer.
Le basculement vers la configuration rapide a échoué en raison d’une erreur de stratégie de base de données. Les stratégies de base de données ne sont pas visibles dans le Portail Azure pour l’évaluation des vulnérabilités de Defender pour SQL. Nous les vérifions donc pendant la phase de validation du passage à la configuration rapide.
Solution : désactivez toutes les stratégies de base de données pour le serveur approprié, puis essayez de basculer à nouveau vers la configuration rapide.
Il est conseillé d’utiliser le script PowerShell fourni pour obtenir de l’aide.
Configuration classique
Afficher l’historique d’analyse
Sélectionnez Historique d'analyse dans le volet Évaluation des vulnérabilités pour afficher l'historique de toutes les analyses précédemment exécutées sur cette base de données.
Désactiver des résultats spécifiques de Microsoft Defender pour le cloud (préversion)
Si votre organisation préfère ignorer un résultat, plutôt que de le corriger, vous pouvez éventuellement désactiver cette fonction. Les résultats désactivés n’ont pas d’impact sur votre Niveau de sécurité ni ne génèrent de bruit indésirable.
Les résultats correspondant aux critères définis dans vos règles de désactivation n’apparaissent pas dans la liste des résultats. Les scénarios typiques peuvent inclure les éléments suivants :
- Désactiver les résultats avec une gravité moyenne ou inférieure
- Désactiver les résultats qui ne peuvent pas être corrigés
- Désactiver les résultats de points de référence ne présentant pas d’intérêt pour une étendue définie
Important
- Pour désactiver des résultats spécifiques, vous devez disposer de l’autorisation de modifier une stratégie dans Azure Policy. Pour plus d’informations, consultez Autorisations Azure RBAC dans Azure Policy.
- Les résultats désactivés seront toujours inclus dans le rapport hebdomadaire d’évaluation des vulnérabilités SQL.
- Les règles désactivées sont affichées dans la section « Non applicable » des résultats de l’analyse.
Pour créer une règle :
Dans la page de détail des recommandations Les résultats de l’évaluation des vulnérabilités sur vos serveurs SQL sur des machines doivent être corrigés, sélectionnez Désactiver la règle.
Sélectionnez l’étendue nécessaire.
Définissez vos critères. Les critères suivants peuvent être utilisés :
- ID de résultat
- severity
- Benchmarks
Sélectionnez Appliquer la règle. La prise d’effet des modifications peut prendre jusqu'à 24 heures.
Pour afficher, remplacer ou supprimer une règle :
Sélectionnez Désactiver une règle.
Dans la liste des étendues, les abonnements présentant des règles actives apparaissent avec la mention Règle appliquée.
Pour afficher ou supprimer la règle, sélectionnez le menu de points de suspension (« … »).
Gérer les évaluations de vulnérabilité par programmation
Azure PowerShell
Notes
Cet article utilise le module Azure Az PowerShell, qui est le module PowerShell recommandé pour interagir avec Azure. Pour démarrer avec le module Az PowerShell, consulter Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
Important
Le module PowerShell Azure Resource Manager est toujours pris en charge, mais tous les développements à venir sont destinés au module Az.Sql. Pour ces cmdlets, voir AzureRM.Sql. Les arguments des commandes dans le module Az sont sensiblement identiques à ceux des modules AzureRm.
Vous pouvez utiliser les applets de commande Azure PowerShell pour gérer par programmation l’évaluation des vulnérabilités. Les applets de commande prises en charge sont les suivantes :
Nom de l’applet de commande sous forme de lien | Description |
---|---|
Clear-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Efface la ligne de base de la règle d’évaluation des vulnérabilités. Définissez d’abord la base de référence avant d’utiliser cette applet de commande pour l’effacer. |
Clear-AzSqlDatabaseVulnerabilityAssessmentSetting | Efface les paramètres d'évaluation des vulnérabilités d'une base de données. |
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Efface la base de référence de la règle d'évaluation des vulnérabilités d'une base de données managée. Définissez d’abord la base de référence avant d’utiliser cette applet de commande pour l’effacer. |
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Efface les paramètres d'évaluation des vulnérabilités d'une base de données managée. |
Clear-AzSqlInstanceVulnerabilityAssessmentSetting | Efface les paramètres d'évaluation des vulnérabilités d'une instance gérée. |
Convert-AzSqlDatabaseVulnerabilityAssessmentScan | Convertit les résultats de l’analyse de l’évaluation des vulnérabilités d’une base de données en fichier Excel (exportation). |
Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan | Convertit les résultats de l’analyse de l’évaluation des vulnérabilités d’une base de données managée en fichier Excel (exportation). |
Get-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Permet d'obtenir la base de référence de la règle d'évaluation des vulnérabilités d'une base de données pour une règle donnée. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Permet d'obtenir la base de référence de la règle d'évaluation des vulnérabilités d'une base de données managée pour une règle donnée. |
Get-AzSqlDatabaseVulnerabilityAssessmentScanRecord | Permet d'obtenir tous les enregistrements d'analyse d'évaluation des vulnérabilités associés à une base de données. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentScanRecord | Permet d'obtenir tous les enregistrements d'analyse d'évaluation des vulnérabilités associés à une base de données managée. |
Get-AzSqlDatabaseVulnerabilityAssessmentSetting | Renvoie les paramètres d'évaluation des vulnérabilités d'une base de données. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Renvoie les paramètres d'évaluation des vulnérabilités d'une base de données managée. |
Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Obtient la ligne de base de la règle d’évaluation des vulnérabilités. |
Set-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Définit la base de référence de la règle d'évaluation des vulnérabilités d'une base de données managée. |
Start-AzSqlDatabaseVulnerabilityAssessmentScan | Déclenche le lancement d'une analyse d'évaluation des vulnérabilités sur une base de données. |
Start-AzSqlInstanceDatabaseVulnerabilityAssessmentScan | Déclenche le lancement d'une analyse d'évaluation des vulnérabilités sur une base de données managée. |
Update-AzSqlDatabaseVulnerabilityAssessmentSetting | Met à jour les paramètres d'évaluation des vulnérabilités d'une base de données. |
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Met à jour les paramètres d'évaluation des vulnérabilités d'une base de données managée. |
Update-AzSqlInstanceVulnerabilityAssessmentSetting | Met à jour les paramètres d'évaluation des vulnérabilités d'une instance gérée. |
Pour obtenir un exemple de script, consultez Prise en charge de PowerShell pour l'évaluation des vulnérabilités Azure SQL.
Azure CLI
Important
Les commandes Azure CLI suivantes concernent les bases de données SQL hébergées sur des machines virtuelles ou sur des ordinateurs locaux. Pour les évaluations des vulnérabilités concernant les bases de données Azure SQL Database, reportez-vous au portail Azure ou à la section relative à PowerShell.
Vous pouvez utiliser des commandes Azure CLI pour gérer par programmation vos évaluations des vulnérabilités. Commandes prises en charge :
Nom de la commande sous forme de lien | Description |
---|---|
az security va sql baseline delete |
Supprime la ligne de base de la règle Évaluation des vulnérabilités SQL. |
az security va sql baseline list |
Affiche la ligne de base d’Évaluation des vulnérabilités SQL pour toutes les règles. |
az security va sql baseline set |
Définit la ligne de base d’Évaluation des vulnérabilités SQL. Remplace la ligne de base actuelle. |
az security va sql baseline show |
Affiche la ligne de base de la règle Évaluation des vulnérabilités SQL. |
az security va sql baseline update |
Met à jour la ligne de base de la règle Évaluation des vulnérabilités SQL. Remplace la ligne de base actuelle de la règle. |
az security va sql results list |
Affiche tous les résultats de l’analyse d’Évaluation des vulnérabilités SQL. |
az security va sql results show |
Affiche les résultats de l’analyse d’Évaluation des vulnérabilités SQL. |
az security va sql scans list |
Répertorie tous les résumés des analyses d’Évaluation des vulnérabilités SQL. |
az security va sql scans show |
Affiche tous les résumés des analyses d’Évaluation des vulnérabilités SQL. |
Modèles Resource Manager
Pour configurer les bases de référence de l'évaluation des vulnérabilités à l'aide de modèles Azure Resource Manager, utilisez le type Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines
.
Vérifiez que vous avez activé vulnerabilityAssessments
avant d’ajouter des lignes de base.
Voici un exemple de définition de la règle de référence VA2065 sur une base de données master
et VA1143 sur une base de données user
comme ressources dans un modèle 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"
]
}
]
}
}
]
Pour la base de données master
et la base de données user
, les noms de ressources sont définis différemment :
- Master database - "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/master')]",
- User database - "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/default')]",
Pour gérer des types booléens comme true/false, définissez le résultat de la base de référence avec une entrée binaire comme "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"
]
}
]
}
}
Contenu connexe
- En savoir sur Microsoft Defender pour Azure SQL.
- Apprenez-en davantage sur la découverte et la classification des données.
- Apprenez-en davantage sur le Stockage des résultats d’une analyse d’évaluation des vulnérabilités sur un compte de stockage accessible derrière des pare-feu et des réseaux virtuels.
- Consultez les questions courantes sur les bases de données Azure SQL.