Le service d'évaluation des vulnérabilités SQL vous aide à identifier les vulnérabilités des bases de données

S’APPLIQUE À : Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

Facile à configurer, le service d'évaluation des vulnérabilités SQL permet de détecter, d'assurer le suivi et de corriger les potentielles vulnérabilités des bases de données. Utilisez-le pour améliorer de façon proactive la sécurité de votre base de données.

L’évaluation des vulnérabilités fait partie de l’offre Microsoft Defender pour SQL, qui est un ensemble unifié de fonctionnalités de sécurité SQL avancées. L’évaluation des vulnérabilités est accessible et gérée par le biais du portail Microsoft Defender central pour SQL.

Notes

L'évaluation des vulnérabilités est prise en charge pour Azure SQL Database, Azure SQL Managed Instance et Azure Synapse Analytics. Dans cet article, les bases de données d’Azure SQL Database, d’Azure SQL Managed Instance et d’Azure Synapse Analytics sont collectivement désignées sous le nom de « bases de données », et le terme « serveur » fait référence au serveur qui héberge les bases de données d’Azure SQL Database et d’Azure Synapse.

Qu'est-ce que l'évaluation des vulnérabilités SQL ?

L'évaluation des vulnérabilités SQL est un service qui offre une visibilité sur l'état de votre sécurité. L'évaluation des vulnérabilités comprend des étapes actionnables pour résoudre les problèmes de sécurité et renforcer la sécurité de votre base de données. Elle peut vous aider à superviser un environnement de base de données dynamique où les modifications sont difficiles à suivre et à améliorer votre posture de sécurité SQL.

L'évaluation des vulnérabilités est un service d'analyse intégré à Azure SQL Database. Le service utilise une base de connaissances de règles qui signalent les failles de sécurité. Il met en évidence les écarts par rapport aux bonnes pratiques, tels que les configurations incorrectes, les autorisations excessives et les données sensibles non protégées.

Les règles sont basées sur les bonnes pratiques de Microsoft et axées sur les problèmes de sécurité qui présentent des risques majeurs pour votre base de données et ses précieuses données. Elles couvrent les problèmes au niveau de la base de données et les problèmes de sécurité au niveau du serveur, comme les paramètres de pare-feu de serveur et les autorisations au niveau du serveur.

Les résultats de l’analyse sont accompagnés d’étapes actionnables pour résoudre chaque problème et, le cas échéant, de scripts de correction personnalisés. Vous pouvez personnaliser un rapport d’évaluation pour votre environnement en définissant une base de référence acceptable pour :

  • Configurations d’autorisations
  • Configurations de fonctionnalités
  • Paramètres de base de données

Configurer la fonctionnalité Évaluation des vulnérabilités

Suivez les étapes ci-dessous pour configurer l'évaluation de la vulnérabilité :

  1. Sur le portail Azure, ouvrez la ressource spécifique dans Azure SQL Database, SQL Managed Instance Database ou Azure Synapse.

  2. Sous l’en-tête Sécurité, sélectionnez Defender pour le cloud.

  3. Sélectionnez Configurer sur le lien pour ouvrir le volet Paramètres de Microsoft Defender pour SQL correspondant à l’ensemble du serveur ou à l’instance gérée.

    Ouverture de la page de configuration d'Azure Defender pour SQL

    Notes

    L’évaluation des vulnérabilités SQL nécessite un plan Microsoft Defender pour SQL pour pouvoir exécuter des analyses. Pour plus d’informations sur l’activation de Microsoft Defender pour SQL, consultez Microsoft Defender pour SQL.

  4. Sur la page Paramètres du serveur, définissez les paramètres de Microsoft Defender pour SQL :

    Configuration des analyses d'évaluation des vulnérabilités SQL

    1. Configurez un compte de stockage où seront stockés les résultats de l’analyse de toutes les bases de données sur le serveur ou l’instance gérée. Pour plus d’informations sur les comptes de stockage, voir À propos des comptes Azure Storage.

      Conseil

      Pour plus d'informations sur le stockage des analyses d'évaluation des vulnérabilités derrière les pare-feu et les réseaux virtuels, consultez Stocker les résultats des analyses d'évaluation des vulnérabilités sur un compte de stockage accessible derrière des pare-feu et des réseaux virtuels.

    2. Pour configurer des évaluations de vulnérabilité afin d'exécuter automatiquement des analyses hebdomadaires visant à détecter les problèmes de configuration en matière de sécurité, définissez Analyses récurrentes périodiques sur Activées. Les résultats sont envoyés aux adresses e-mail que vous fournissez dans Envoyer les rapports d'analyse à. Vous pouvez également envoyer une notification par e-mail aux administrateurs et aux propriétaires d’abonnement en activant Envoyer aussi une notification par e-mail aux administrateurs et aux propriétaires d’abonnement.

  5. Les analyses d'évaluation des vulnérabilités SQL peuvent également être exécutées à la demande :

    1. À partir de la page Defender pour le cloud de la ressource, sélectionnez Afficher d’autres résultats d’évaluation des vulnérabilités pour accéder aux résultats des analyses précédentes.

      Ouverture des résultats de l'analyse et des options d'analyse manuelle

    2. Pour exécuter une analyse à la demande afin de rechercher des vulnérabilités dans votre base de données, sélectionnez Analyser sur la barre d’outils :

      Sélectionnez l'analyse pour exécuter une analyse d'évaluation des vulnérabilités à la demande de votre ressource SQL

Notes

L’analyse est légère et sûre. Elle prend quelques secondes et s’exécute entièrement en lecture seule. Elle n’apporte aucune modification à la base de données.

Corriger les vulnérabilités

Au terme de l'analyse des vulnérabilités, le rapport apparaît sur le portail Azure. Le rapport présente :

  • Une vue d'ensemble de l'état de votre sécurité
  • Le nombre de problèmes détectés
  • Un résumé des risques, par gravité
  • La liste des résultats pour effectuer des investigations complémentaires

Exemple de rapport d'analyse de l'analyseur d'évaluation des vulnérabilités SQL

Pour corriger les vulnérabilités découvertes :

  1. Passez en revue vos résultats et déterminez lesquels constituent de véritables problèmes de sécurité pour votre environnement.

  2. Sélectionnez chaque résultat manqué pour comprendre son impact et pourquoi la vérification de sécurité a échoué.

    Conseil

    La page des résultats détaillés comprend des informations expliquant comment résoudre le problème.

    Examen des résultats d'une analyse des vulnérabilités

  3. Quand vous examinez les résultats de votre évaluation, vous pouvez marquer certains résultats spécifiques comme base de référence acceptable dans votre environnement. Une base de référence est en somme une personnalisation du signalement des résultats. Lors des analyses ultérieures, les résultats correspondant à la base de référence seront considérés comme corrects. Une fois que vous avez établi votre état de sécurité de base, l'évaluation des vulnérabilités signale uniquement les écarts par rapport à la base de référence. Ainsi, vous pouvez vous concentrer sur les problèmes pertinents.

    Approbation d'un résultat comme base de référence pour les analyses ultérieures

  4. Si vous modifiez les bases de référence, utilisez le bouton Analyser pour exécuter une analyse à la demande et afficher le rapport personnalisé. Tous les résultats que vous avez ajoutés à la base de référence apparaîtront désormais dans Réussi avec une indication stipulant que leur réussite est due aux modifications de la base de référence.

    Évaluations réussies stipulant que cette réussite s'appuie sur la base de référence personnalisée

Vos analyses d'évaluation des vulnérabilités peuvent désormais être utilisées pour vérifier que le niveau de sécurité de votre base de données reste optimal et que les stratégies de votre entreprise sont respectées.

Fonctionnalités avancées

Exporter un rapport d’évaluation

Sélectionnez Exporter les résultats d’analyse pour créer un rapport Excel téléchargeable des résultats de votre analyse. Ce rapport contient un onglet de résumé qui affiche un résumé de l’évaluation. Le rapport comprend tous les contrôles qui ont échoué. Il inclut également un onglet Résultats qui contient le jeu complet de résultats de l’analyse. Les résultats incluent tous les contrôles qui ont été exécutés et les détails des résultats de chacun.

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. Sélectionnez une analyse particulière dans la liste pour afficher les résultats détaillés de cette analyse.

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. Voici quelques exemples de scénarios courants :

  • Désactiver les résultats de gravité inférieure à moyenne
  • 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 :

  1. 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.

  2. Sélectionnez l’étendue nécessaire.

  3. Définissez vos critères. Les critères suivants peuvent être utilisés :

    • ID de résultat
    • severity
    • Benchmarks

    Créer une règle de désactivation pour les résultats de l’évaluation des vulnérabilités sur les serveurs SQL Server sur des machines

  4. Sélectionnez Appliquer la règle. Jusqu’à 24 heures peuvent être nécessaires pour que les modifications soient effectives.

  5. Pour afficher, remplacer ou supprimer une règle :

    1. Sélectionnez Désactiver une règle.

    2. Dans la liste des étendues, les abonnements présentant des règles actives apparaissent avec la mention Règle appliquée.

      Modification ou suppression d’une alerte

    3. Pour afficher ou supprimer la règle, sélectionnez le menu de points de suspension (« … »).

Gérer les évaluations de vulnérabilité par programmation

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 d'évaluation des vulnérabilités d'une base de données en fichier Excel.
Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan Convertit les résultats de l'analyse d'évaluation des vulnérabilités d'une base de données managée en fichier Excel.
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.

Utilisation de 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/vulnerabilityAssessments/rules/baselines",
         "apiVersion": "2018-06-01-preview",
         "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/vulnerabilityAssessments/rules/baselines",
         "apiVersion": "2018-06-01-preview",
         "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 :

  • Base de données MASTER - "name": "[concat(parameters('server_name'),'/', parameters('database_name') , '/default/VA2065/master')]",
  • Base de données utilisateur - "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/vulnerabilityAssessments/rules/baselines",
      "apiVersion": "2018-06-01-preview",
      "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"
               ]
            }
         ]
      }

   }

Résidence des données

L’évaluation des vulnérabilités SQL interroge le serveur SQL à l’aide de requêtes disponibles publiquement sous les recommandations de Defender pour le cloud pour l’évaluation des vulnérabilités SQL, et stocke les résultats des requêtes. Les données sont stockées dans le compte de stockage appartenant à l’utilisateur configuré.

L’évaluation des vulnérabilités SQL vous permet de spécifier la région où vos données seront stockées en choisissant l’emplacement du compte de stockage. L’utilisateur est responsable de la sécurité et de la résilience des données du compte de stockage.

Étapes suivantes