Matrice des menaces et des vulnérabilités (moteur de base de données)

Bien que SQL Server inclue divers mécanismes de sécurité, chaque système possède des fonctionnalités susceptibles d'être exploitées dans un but malveillant. Chaque fonctionnalité qui expose des données ou d'autres informations peut être considérée comme un risque si elle est implémentée de manière incorrecte.

Bien que chaque fonctionnalité puisse représenter un risque, tous les risques ne sont pas égaux. Certains requièrent un changement de méthode, d'autres un changement de paramètres, et d'autres encore un changement dans le code. Les tableaux ci-dessous expliquent les risques et les mesures proactives que vous pouvez prendre pour réduire les risques.

Traiter les menaces et les vulnérabilités

Menace ou vulnérabilité

Définition

Limitation des risques

Stratégies de sécurité

Une stratégie de sécurité est un enregistrement des processus et des procédures qu'une organisation mettra en place pour éliminer des menaces de sécurité, effectuer leur suivi et y répondre. Elle contient des stratégies qui impliquent l'accès approprié aux systèmes, mises à jour correctives et pare-feu, ainsi qu'à des mécanismes de prévention de virus.

Créez, examinez, distribuez et maintenez une stratégie de sécurité efficace. Pour plus d'informations sur la manière de créer une stratégie de sécurité, consultez Sécurisation de SQL Server.

Principe de « privilèges minimum »

Le principe des « privilèges minimum » stipule qu'un système doit autoriser uniquement le niveau requis d'accès à un objet sécurisable. De plus, l'accès doit être autorisé uniquement pour ceux qui en ont directement besoin et seulement pour une période spécifiée. Les applications peuvent être codées pour fournir plus d'accès que nécessaire et les comptes peuvent bénéficier d'un accès trop important.

Examinez et implémentez la sécurité selon le principe des privilèges minimum. Pour plus d'informations sur la manière de développer des applications qui utilisent les concepts des privilèges minimum, consultez Best Practices in a Least Privileged Environment (en anglais) sur MSDN.

Bulletins de sécurité

Microsoft diffuse des informations de sécurité dès qu'elles sont vérifiées et testées sur différentes plateformes. Les organisations qui ne surveillent pas ces bulletins exposent leurs systèmes à des risques en ne mettant pas en œuvre les instructions de sécurité appropriées.

Consultez les bulletins de sécurité relatifs à SQL Server. Pour plus d'informations, consultez Microsoft Security Bulletin Search (en anglais) sur TechNet.

Menaces et vulnérabilités relatives aux plateformes

Menace ou vulnérabilité

Définition

Limitation des risques

Système non mis à jour (mises à jour logicielles non appliquées)

Microsoft diffuse des mises à jour logicielles permettant de mieux sécuriser SQL Server. Ne pas suivre ni appliquer ces mises à jour logicielles rend le système plus vulnérable face à d'éventuelles attaques.

Consultez et appliquez tous les Service Packs et correctifs logiciels dès qu'ils sont disponibles. Pour plus d'informations, consultez la page de Téléchargements sur le SQL Server TechCenter.

Exploitations des ports réseau

Le réseau est la première source d'accès pour les attaques contre SQL Server. Laisser des ports standard ouverts à Internet peut attirer une attaque.

Utilisez un pare-feu sur le serveur si ce dernier est exposé à Internet et utilisez l'outil Gestionnaire de configuration SQL Server pour établir la configuration du réseau. Envisagez aussi d'utiliser le protocole SSL (Secure Sockets Layer) pour renforcer la sécurité. Pour plus d'informations sur les pare-feu et SQL Server, consultez Procédure : configurer un pare-feu Windows pour accéder au moteur de base de données. Pour plus d'informations sur la façon de configurer les paramètres de réseau, consultez Gestionnaire de configuration SQL Server. Pour plus d'informations sur la façon d'utiliser le protocole SSL (Secure Sockets Layer) dans SQL Server, consultez Chiffrement des connexions à SQL Server.

Paramètres de compte de service inappropriés

Les comptes de service pour SQL Server bénéficient souvent de plus d'accès à la plate-forme ou au réseau que nécessaire.

Les comptes de service pour SQL Server doivent fonctionner selon le principe des privilèges minimum et doivent posséder des mots de passe forts. Pour plus d'informations sur les comptes de service, consultez Configuration des comptes de service Windows. Pour plus d'informations sur les mots de passe, consultez Mots de passe forts.

Surface d'exposition trop large

Les fonctionnalités et les capacités de SQL Server peuvent être exposées quand ce n'est pas nécessaire.

Utilisez le Gestionnaire de configuration SQL Server et la gestion basée sur une stratégie pour contrôler les fonctionnalités et autres composants. Pour plus d'informations, consultez Présentation de la configuration de la surface d'exposition.

Procédures stockées inutiles activées

Certaines procédures stockées étendues permettent l'accès au système d'exploitation ou au Registre.

N'activez pas les procédures stockées qui permettent l'accès au système d'exploitation ou au Registre, sauf nécessité absolue. Pour plus d'informations, consultez Présentation de la configuration de la surface d'exposition.

Menaces et vulnérabilités relatives à l'authentification

Menace ou vulnérabilité

Définition

Limitation des risques

Mots de passe faibles

Les mots de passe simples sont menacés par des attaques de force brute ou de dictionnaire.

Utilisez toujours des mots de passe forts et complexes. Pour plus d'informations, consultez Mots de passe forts. Reportez-vous également aux options CHECK_POLICY et CHECK_EXPIRATION sur les instructions CREATE LOGIN (Transact-SQL) et ALTER LOGIN (Transact-SQL).

Comptes d'utilisateurs non audités

Les utilisateurs (entités de sécurité) changent souvent de postes ou quittent une organisation. Si l'accès d'un compte d'utilisateur n'est pas modifié, il peut encore accéder au système avec le même niveau d'autorisations.

Les comptes d'utilisateurs doivent être audités fréquemment pour garantir qu'un accès approprié aux serveurs de base de données et aux objets est autorisé. Pour plus d'informations sur la façon d'auditer l'accès à SQL Server, consultez Surveillance des journaux d'erreurs.

Menaces et vulnérabilités relatives à la programmation

Menace ou vulnérabilité

Définition

Limitation des risques

Injection SQL

Pratique visant à incorporer une requête malveillante dans une requête légitime.

Pour plus d'informations sur le traitement des attaques par injection SQL, consultez Injection SQL.

Mots de passe incorporés

Certaines applications enregistrent les chaînes de connexion dans les fichiers programme ou les fichiers de configuration.

Ne stockez pas les mots de passe ni les informations de connexion sensibles dans un programme, le Registre ou un fichier de configuration. Pour plus d'informations, consultez Stratégie de mot de passe.

Menaces et vulnérabilités relatives à l'accès aux données

Menace ou vulnérabilité

Définition

Limitation des risques

Chiffrement appliqué de façon inappropriée

Le chiffrement code les données ou les informations de connexion dans SQL Server. Ne pas chiffrer lorsque cela est requis ou ajouter un chiffrement lorsque ce n'est pas nécessaire génère des risques et une complexité inutiles.

Vous devez comprendre et mettre en œuvre correctement le chiffrement SQL Server. Pour plus d'informations, consultez Chiffrement SQL Server.

Certificats appliqués de façon inappropriée

Les certificats sont un mécanisme permettant de vérifier l'authentification. SQL Server peut utiliser les certificats dans des objectifs divers, des connexions aux données. L'utilisation incorrecte de l'auto-certification et de périodes de validation étendues réduit l'efficacité de votre sécurité globale.

Vous devez comprendre et implémenter correctement les certificats SQL Server. Pour plus d'informations, consultez Certificats et clés asymétriques SQL Server.

Clés SQL Server non sauvegardées

Une instance de SQL Server et les bases de données qu'elle contient peuvent avoir des clés qui sont utilisées dans divers objectifs de sécurité. Ces objectifs incluent le chiffrement.

Les clés de serveur (également connues en tant que clés principales de service) et les clés de base de données doivent être sauvegardées et stockées de manière sécurisée. Elles doivent également être modifiées périodiquement. Pour plus d'informations, consultez SQL Server et clés de chiffrement de base de données (moteur de base de données).