Meilleures pratiques pour sécuriser SQL Server

Rédigé Staff Contributor on novembre 23, 2020

Que vous exécutiez une instance de MySQL ou de Microsoft SQL Server open source, vous devez impérativement mettre en place des mesures de sécurité robustes et de haute qualité. C’est essentiel pour empêcher tout accès malveillant à votre base de données et particulièrement si vous stockez des données personnelles ou confidentielles sur vos serveurs.

Dans cet article, je présente les meilleures pratiques essentielles pour sécuriser SQL Server. Je vais également expliquer pourquoi l’utilisation d’un outil de surveillance de la sécurité de SQL Server comme Security Event Manager est essentielle dans le cadre d’une solution efficace de gestion des menaces ciblant les serveurs, puis expliquer l’importance d’une stratégie de sécurité de SQL Server.

Liste de vérification des 8 meilleures pratiques pour sécuriser SQL Server

Les violations de données sur des serveurs SQL vulnérables peuvent entraîner des pertes considérables en termes de revenus et de confiance des utilisateurs, ainsi que des amendes ou des pénalités sanctionnant le manquement à l’obligation de protéger les données des clients. Heureusement, SQL Server propose des fonctionnalités pour chiffrer les données et limiter les accès et les autorisations. Examinons les meilleures pratiques à adopter pour utiliser ces fonctionnalités intégrées et sécuriser vos instances SQL Server. Vous pouvez consulter la liste de vérification ci-dessous pour vérifier que la configuration est correcte.

 

  1. Isolez votre serveur. En isolant votre serveur, vous le protégez contre les autres applications et services risquant d’être compromis. Envisagez de placer votre instance SQL Server dans un segment de réseau limité pour n’en permettre l’accès qu’au trafic autorisé. Le serveur d’applications ou Web devrait être le seul composant qui communique directement avec la base de données et les connexions malveillantes ou inattendues peuvent être bloquées via l’isolement et un accès restreint.
  2. Ne le surchargez pas. N’installez aucun composant superflu. Cela signifie que vous ne devriez installer que les logiciels et services nécessaires et éviter d’activer des fonctionnalités supplémentaires ou d’installer d’autres applications. En vous passant des logiciels et fonctionnalités dont vous n’avez pas besoin, vous limitez les opportunités qu’ont les pirates d’exploiter votre serveur. Si vous testez une fonctionnalité, faites-le dans un environnement de test ou de développement et pas dans l’environnement de production. Veillez également à désactiver l’Explorateur SQL Server lorsque vous exécutez une instance par défaut de SQL Server. L’Explorateur de serveur permet aux administrateurs et aux utilisateurs autorisés de découvrir des instances de bases de données sur le réseau, mais s’il est toujours activé, il permet également aux pirates d’obtenir des informations supplémentaires sur vos ressources SQL Server.
  3. Procédez régulièrement à des mises à jour. Veillez à mettre à jour régulièrement vos outils SQL Server et applications en appliquant immédiatement des correctifs de sécurité avant qu’il ne soit trop tard. En respectant une planification régulière de déploiement de correctifs, il est plus facile d’implémenter et de tester des mises à jour dans un environnement de développement pour ne pas interrompre la production en attendant que le correctif ou la mise à jour fonctionne correctement.
  4. Appliquez des restrictions. L’utilisateur qui exécute le service de base de données peut également accéder au système de fichiers, exécuter des programmes et entreprendre des tâches importantes. MySQL s’exécute sous le compte d’un utilisateur dédié doté d’autorisations minimum pour accéder au serveur ou interagir avec ses autres composants.
    Dans les installations Windows, SQL Server est souvent exécuté sous le compte d’un administrateur bénéficiant parfois d’un accès complet, ce qui n’est ni nécessaire, ni souhaitable. En revanche, SQL Server doit toujours être exécuté via un compte local, non administrateur, ne nécessitant pas de privilèges d’administrateurEn limitant l’accès des comptes d’utilisateurs, vous vous assurez qu’un serveur de données ou qu’un compte d’utilisateur compromis ne contamine pas le reste du réseau.Vous devez également limiter l’accès au serveur même, en n’autorisant qu’un seul autre serveur à s’y connecter et en bloquant tous les autres ports de bases de données. Limitez les connexions SQL à des adresses IP spécifiques nécessitant un accès. Utilisez un logiciel antivirus et anti-programme malveillant pour empêcher les attaques par injection de code SQL.
    Respectez le principe du privilège minimum lorsque vous affectez des comptes. N’accordez à aucun utilisateur des droits d’accès à des ressources dont il n’a pas besoin pour effectuer son travail. Évitez d’accorder TOUTES les autorisations dans MySQL et n’autorisez pas les rôles SysAdmin dans SQL Server, à moins que cela ne soit absolument nécessaire. N’oubliez pas l’impact de l’implémentation de comptes d’application sur la résilience de votre serveur et exécutez les tâches et procédures en tant qu’utilisateur dédié aux autorisations limitées, plutôt qu’en tant qu’administrateur détenteur de tous les droits d’accès. Si un utilisateur requiert temporairement un accès supplémentaire pour exécuter une tâche, supprimez cet accès une fois la tâche terminée.
  5. Gérez les connexions. Définissez un mot de passe fort pour le compte de l’administrateur système ou l’utilisateur racine, surtout si les autorisations en mode mixte sont activées. Vous devez également procéder à un audit régulier de la sécurité de SQL Server, y compris un audit des connexions. Plusieurs échecs de connexion peuvent indiquer qu’un individu tente d’accéder à votre serveur et vous pouvez verrouiller ces comptes avant qu’il ne s’infiltre. En outre, un audit des connexions permet de garder une trace qui vous servira ultérieurement pour prouver que vous avez pris les mesures nécessaires pour protéger votre serveur. Veillez à supprimer ou désactiver les connexions qui ne vous servent plus. Si vous ne prévoyez pas d’utiliser une connexion pendant une durée prolongée, à savoir deux mois par exemple, vous devez la supprimer ou la désactiver, puis la reconfigurer quand vous en aurez besoin.
  6. Protégez les sauvegardes. Vos sauvegardes contiennent toutes les mêmes données que vos bases de données de production. Vous devez donc les protéger de la même façon. Appliquez les mêmes protocoles à vos sauvegardes, y compris la restriction des accès, l’utilisation de mesures de sécurité et l’examen puis le contrôle des utilisateurs autorisés à accéder à vos données de sauvegarde.
    Alors que le contrôle des accès à vos bases de données est important, la sécurité de votre stockage de sauvegarde est également essentielle. C’est pourquoi vous devez rechercher un outil qui protège efficacement vos sauvegardes SQLSolarWinds Backup, par exemple, propose un tableau de bord convivial et centralisé, ainsi qu’un stockage optimisé en termes de sécurité et de performance. Il vous permet de sauvegarder et de récupérer des serveurs, des stations de travail, des documents, etc. En outre, puisqu’il est conçu pour les fournisseurs de services gérés, il peut gérer des tâches de sauvegarde et de récupération de centaines ou de milliers de sites client pour garantir la sécurité des données.
    Heureusement, il existe des outils pour vous faciliter la tâche. SolarWinds Backup peut protéger vos données SQL Server en les stockant dans le Cloud, à un emplacement sécurisé. De plus, vous disposez de plusieurs options conviviales de restauration. Pour les fournisseurs de services gérés en particulier, SolarWinds Backup peut renforcer la sécurité tout en simplifiant le processus de sauvegarde.
  7. Protégez-vous contre les injections de code SQL. Vérifiez que vos applications de bases de données sont configurées de sorte à empêcher les injections de code SQL et que vous avez installé des outils de sécurité pour analyser les journaux des événements et les systèmes. L’une des méthodes les plus courantes permettant de configurer votre instance SQL Server afin de la protéger contre les injections de code SQL consiste à utiliser des procédures stockées. Elles comportent des paramètres spécifiques et n’acceptent que certains types de codes. Ainsi, quand un individu tente d’envoyer des requêtes SQL malveillantes, elles ne sont pas acceptées par la procédure et ne renvoient aucune information utile au pirate.
  8. Assurez une surveillance continue. Même si vous prenez toutes les mesures ci-dessus, votre instance SQL Server risque toujours d’être piratée. La dernière mesure, et la plus efficace, en matière de sécurité consiste à configurer un logiciel de surveillance continue qui doit vous aider à détecter et résoudre les problèmes le plus rapidement possible.

Haut de page

Meilleurs outils de surveillance de la sécurité de SQL Server

Plusieurs outils sur le marché peuvent aider les entreprises à gérer la sécurité et les performances de leurs instances SQL Server. Chaque administrateur doit impérativement implémenter des solutions de sécurité pour protéger les bases de données SQL, car vos informations sont menacées si votre base de données n’est pas sécurisée.

Outil le plus complet

Je recommande vivement SolarWinds® Security Event Manager (SEM) comme outil complet pour détecter les menaces de sécurité rapidement et efficacement. SEM intègre des réponses automatisées en cas d’incident pour arrêter les applications ou intrusions malveillantes via un port USB, bloquer des adresses IP et modifier des privilèges ou des droits d’accès dès qu’un problème survient. Il surveille également tous vos fichiers pour s’assurer que l’activité du registre, des fichiers et des dossiers n’est pas malveillante et éventuellement empêcher le transfert de fichiers malveillants vers vos serveurs.

SEM

Vous pouvez également utiliser l’outil pour examiner des incidents à des fins de conformité ou d’audit de la sécurité de SQL Server, pour déceler des anomalies ou pour repérer un paramétrage que vous auriez pu effectuer différemment. SolarWinds propose une version d’essai gratuite de 30 jours de SEM pour vous permettre de déterminer si c’est l’outil dont vous avez besoin dans votre entreprise.

 Outil le mieux ciblé

Si vous avez besoin d’une solution plus ciblée, envisagez SolarWinds Database Performance Analyzer (DPA) qui surveille constamment votre base de données et ses performances pour s’assurer que tout fonctionne comme prévu. Cet outil fournit les informations dont vous avez besoin pour comprendre pourquoi les performances ont fait l’objet d’un signalement à un moment donné, mais aussi des données historiques et des prévisions des performances en fonction de l’utilisation passée.

dpa-intuitive-performance-monitor

 

DPA utilise des processus d’apprentissage automatique pour comprendre le fonctionnement habituel de vos bases de données, puis exploite ces informations pour détecter des anomalies dans les performances ou des indicateurs rouges signalant un problème de sécurité. Vous pouvez l’essayer gratuitement pendant 14 jours.

Mention honorable

Nous souhaitons également faire la mention (très) honorable d’une offre de SolarWinds : Database Performance Monitor (DPM).

Comme son nom le suggère, cet outil n’est pas un outil de sécurité dédié. Il est plutôt spécialisé dans la surveillance des performances des bases de données. DPM est une solution SaaS de surveillance spécialisée dans les bases de données open source et NoSQL. Toutefois, ne vous laissez pas méprendre par la mention de « performance » dans son nom : Les capacités de DPM ne se limitent certainement pas au suivi des indicateurs de performance. Il propose également des fonctions de sécurité essentielles.

SolarWinds Database Performance Monitor Postgres dashboard

Tout d’abord, DPM protège les données confidentielles et garantit la conformité aux réglementations RGPD et SOC2. Parmi ses fonctionnalités principales, on compte les suivantes :

  • Temps moyen de détection
  • Temps moyen de réparation
  • Fréquence de déploiement
  • Disponibilité
  • Réduction des échecs de déploiement

Vous pouvez essayer DPM gratuitement ou demander une démo sur le site Web de SolarWinds.

 

Importance de la sécurité de SQL Server

SQL Server est une vaste plate-forme de bases de données d’entreprise qui ne cesse d’évoluer. De nombreuses entreprises utilisent cette plate-forme bien connue. Cela signifie que des volumes considérables d’informations critiques et confidentielles sont stockés sur les instances SQL Server, qui sont de plus en plus ciblées par les pirates. Si vos instances SQL Server ne sont pas sécurisées, elles sont exposées à des violations de données ou des vols d’informations. La gestion de la sécurité de SQL Server est parfois l’une des tâches les plus complexes à mener à bien, mais elle est tout aussi cruciale.

En isolant vos serveurs, en appliquant des limites strictes aux autorisations, en n’installant que les fonctionnalités essentielles et en utilisant des processus de surveillance et de sécurité comme ceux que propose Security Event Manager dans votre entreprise, vous prenez les mesures nécessaires pour protéger vos instances SQL Server contre tout accès malveillant.

Related Posts