Tout ce que vous devez savoir sur la sécurité de SQL Server
La sécurité de SQL Server a toujours été une préoccupation pressante, même pour l'utilisateur de SQL Server le plus expérimenté. Quelle que soit votre version, la base de données SQL Server est constamment menacée, car elle contient des données précieuses auxquelles les pirates malveillants veulent accéder.
Facile à mettre en œuvre et potentiellement dangereuse, l'attaque par injection SQL (SQLi) est le choix préféré des pirates informatiques. Le rapport State of the Internet/ Security révèle que SQLi représente à lui seul 77 % de toutes les attaques d'applications en 2019. On parle de SQLi lorsque les pirates insèrent un serveur SQL arbitraire dans la requête de la base de données de l'application pour la détruire.
La sécurisation des environnements SQL Server est considérée comme l'une des principales responsabilités des administrateurs de bases de données. Heureusement, SQL Server est conçu pour être une plateforme de base de données sécurisée. Il dispose de plusieurs fonctionnalités qui permettent de crypter les données, de limiter l'accès et l'autorisation, et de protéger les données contre le vol, la destruction et d'autres types de comportements malveillants.
Cependant, d'innombrables organisations continuent à être confrontées à des vulnérabilités dans les bases de données SQL. Comme les attaques par injection de SQL Server, le forçage de crédence de SQL Server et d'autres attaques lancées pour manipuler la récupération des données.
La menace qui pèse sur SQL Server est aujourd'hui omniprésente. Mais ça ne veut pas dire qu'on ne peut rien y faire. Pour protéger l'organisation contre ces types d'attaques, les administrateurs de bases de données et les professionnels de la sécurité doivent comprendre les menaces potentielles qui pèsent sur la plate-forme de gestion des bases de données et prendre des mesures proactives pour atténuer les risques de sécurité.
Meilleures pratiques en matière de sécurité du serveur SQL
SQL Server est l'une des plateformes de données les plus populaires au monde. Il est utilisé pour exécuter les opérations et processus critiques d'une organisation. Par conséquent, il offre une variété d'outils de sécurité pour se protéger contre les attaques malveillantes et pour sécuriser les instances SQL Server.
Cependant, l'utilisation des paramètres de sécurité par défaut peut laisser des failles de sécurité, rendant le réseau vulnérable aux attaques.
Voici une liste de contrôle de la sécurité de SQL Server pour écarter efficacement les menaces qui pèsent sur votre plate-forme de base de données.
1. Exécuter plusieurs audits de sécurité de SQL Server
Des audits réguliers de la sécurité, de la connexion et des autorisations du serveur sont une condition préalable pour prévenir les attaques potentielles et pour aider à l'analyse médico-légale d'une éventuelle violation des données. Cependant, un audit de sécurité SQL Server à l'échelle de l'entreprise n'est pas simplement un investissement dans la sécurité, mais est devenu une obligation légale dans le sillage de nouvelles législations telles que HIPAA et GDPR.
Pour commencer, définissez ce que vous voulez auditer. Vous pouvez vouloir surveiller les éléments suivants dans vos audits de serveurs.
• Connexion des utilisateurs
• Audit C2
• Critères de conformité communs
• Audit de connexion
• Configuration du serveur
• Changements de schéma
• Audit de SQL Server
• Traçage SQL
• Événements prolongés
• Saisie des données de changement
• Déclencheurs DML, DDL et de connexion
Un audit de routine peut contribuer à améliorer la santé de votre base de données et de votre réseau. Par exemple, si une requête ne s'exécute pas, un audit peut en déterminer la raison sous-jacente : cela indique-t-il une menace pour la sécurité ? cela est-il dû à une erreur dans l'ordre des opérations SQL ?
De même, des échecs répétés de connexion au serveur, des modifications et des suppressions d'objets de base de données à accès restreint, ainsi que des modifications des paramètres et des autorisations indiquent que quelqu'un essaie d'accéder à votre serveur. Des audits de sécurité réguliers (y compris l'audit des connexions) peuvent vous aider à détecter ces signes d'attaques potentielles du serveur et à les arrêter avant qu'elles ne causent des dommages importants.
2. Avoir une politique de mot de passe forte
Tous les comptes d'administrateur de base de données doivent avoir un mot de passe fort pour aider à combattre les attaques par force brute.
- Incluez un minimum de 10 caractères, y compris les chiffres, les lettres majuscules et minuscules et les caractères spéciaux. Vous pouvez également utiliser des phrases de passe composées d'un minimum de 15 caractères avec des lettres et des chiffres.
- Évitez les mots de passe faciles à deviner tels que "password", "qwerty" ou les noms et dates de naissance de votre conjoint. Évitez également d'utiliser le même mot de passe pour plusieurs systèmes.
Changez régulièrement votre mot de passe.
3. Maintenir un système allégé
La présence de logiciels inutiles et d'applications supplémentaires permet aux pirates d'exploiter votre serveur de base de données SQL. En outre, les applications multiples sont difficiles à gérer et deviennent rapidement obsolètes.
Nous savons tous comment des applications obsolètes ou non corrigées introduisent des failles de sécurité dans le système, invitant les attaquants à exécuter du code non autorisé sur un serveur SQL via un chemin autorisé (injection SQL).
Limitez l'installation des composants et des fonctions de la base de données SQL à ceux requis pour des tâches spécifiques. Cela réduira l'utilisation des ressources de la base de données et simplifiera l'administration, minimisant ainsi le risque de sécurité.
4. Appliquer le principe du moindre privilège
Nous connaissons tous le principe du moindre privilège, une expression courante dans le domaine de la sécurité de l'information et de l'informatique. Elle stipule qu'un compte ne doit recevoir que les privilèges (dans ce cas, les autorisations minimales et les droits système) nécessaires à son bon fonctionnement.
Déterminez quels comptes doivent être autorisés à exécuter quels services de base de données en fonction de ce principe. Mieux encore, attribuez un compte distinct à un service spécifique. Ainsi, si un service est compromis, les autres pourront appliquer la sécurité et continuer à fonctionner normalement.
Voici quelques-uns des comptes que vous pouvez avoir pour les services SQL Server.
• Un compte d'utilisateur de domaine - Il s'agit du type de compte le plus couramment utilisé pour exécuter les services du serveur SQL, car il est assez sûr en raison de l'absence de privilèges d'administrateur.
• Comptes de services gérés Active Directory - Ce compte est plus sûr qu'un compte d'utilisateur de domaine, car vous ne pouvez pas vous connecter au serveur avec ce compte et vous n'avez pas besoin de gérer manuellement les réinitialisations de mot de passe.
• Compte d'utilisateur local - Il s'agit souvent d'un bon choix pour les environnements sans domaine.
• Compte système local - Ces comptes disposent de privilèges étendus et d'un accès illimité à toutes les ressources du système local. Le compte système local possède des autorisations dont un serveur SQL n'a pas besoin, vous pouvez donc éviter de l'utiliser pour exécuter des services.
• Un compte de service réseau - Possède moins de privilèges qu'un compte système mais a plus d'accès aux ressources et objets du réseau que les membres du groupe d'utilisateurs. Évitez autant que possible d'utiliser ce type de compte.
• Le compte de service virtuel - Ce compte est similaire au compte de service géré par AD, mais peut être utilisé pour gérer des services sans domaine. En termes techniques, c'est comme un compte de service de réseau intégré, qui possède son propre identifiant unique. Les comptes de service virtuels sont donc idéaux pour les services SQL.
5. Mettez en place une stratégie solide de sauvegarde de la base de données.
Faites toujours des sauvegardes de votre base de données SQL et stockez-les à différents endroits en dehors de votre réseau. Comptez sur les outils de récupération SQL tiers pour traiter les problèmes de bases de données SQL tels que la corruption et l'inaccessibilité des fichiers de base de données.
Et quoi d'autre ? N'oubliez pas de chiffrer les sauvegardes de vos bases de données SQL Server. Votre sauvegarde contient les mêmes données sensibles que votre base de données ; elle doit donc être protégée de la même manière. Vous ne voulez pas vous retrouver avec des fichiers de sauvegarde corrompus. Appliquez-leur donc les mêmes protocoles, notamment en limitant l'accès, en utilisant des mesures de sécurité et en surveillant/contrôlant l'accès aux données de sauvegarde.
6. Utiliser un outil de surveillance SQL Server adapté
Un outil robuste de surveillance de SQL Server doit pouvoir analyser les processus d'une application de base de données et surveiller les modifications apportées à la configuration du serveur de base de données. Il doit détecter rapidement les erreurs, les sessions et les instructions individuelles de SQL Server qui permettent d'accéder à des informations sensibles.
Il ne faut pas oublier que l'outil de surveillance lui-même peut présenter un risque pour la sécurité en raison de la nature sensible du système qu'il surveille. Par conséquent, l'outil doit utiliser des pratiques de sécurité modernes, qui lui permettent de maintenir la santé à long terme de votre base de données et de votre réseau.
Déployez un outil de surveillance SQL Server approprié pour protéger votre serveur contre les attaques fréquentes, résoudre les problèmes de performance et maintenir votre réseau en état de marche.
Résumé
SQL Server offre plusieurs fonctionnalités pour prendre en charge et sécuriser les applications de base de données. Cependant, il est impossible de prévoir les menaces de sécurité qui peuvent surgir à la volée. Il est donc conseillé de connaître les meilleures pratiques et les considérations de sécurité les plus courantes pour sécuriser vos applications de base de données.
Les informations partagées ci-dessus vous guideront dans l'élaboration d'une stratégie de sécurité solide pour SQL Server, vous permettant de contrer les menaces de sécurité courantes.
Si vous avez d'autres questions, posez-les ici ou dans notre Web-Chat.
Si vous voulez voir plus de notre contenu, arrêtez-vous sur notre chaîne YouTube.