Améliorations de la sécurité (moteur de base de données)

Les améliorations apportées à la sécurité dans le moteur de base de données SQL Server comprennent la configuration au cours de l'installation, de nouvelles autorisations SEARCH PROPERTY LIST, de nouveaux rôles serveur définis par l'utilisateur et de nouvelles méthodes de gestion des rôles serveur et des rôles de base de données.

Configuration au cours de l'installation

Pour améliorer la séparation des rôles, BUILTIN\administrateurs et Système local (NT AUTHORITY\SYSTEM) ne sont pas configurés automatiquement dans le rôle serveur fixe sysadmin. Les administrateurs locaux peuvent toujours accéder au moteur de base de données en mode mono-utilisateur.

SQL Server prend désormais en charge des comptes de service administrés et des comptes virtuels en cas d'installation sur Windows 7 ou Windows Server 2008 R2. Pour plus d'informations, consultez Configurer les comptes de service Windows et les autorisations.

La protection des services opérationnels sous un SID par service est maintenant étendue à tous les systèmes d'exploitation. Pour plus d'informations, consultez Configurer les comptes de service Windows et les autorisations.

Nouvelles autorisations

Il existe 19 nouvelles autorisations disponibles dans le Moteur de base de données. Pour voir toutes les autorisations exécutez l'instruction suivante.

SELECT * FROM sys.fn_builtin_permissions('');

Les nouvelles autorisations sont les suivantes :

Nouvelles autorisations GRANT, DENY et REVOKE sur une liste de propriétés de recherche CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/REFERENCES/ALTER.

Nouvelles autorisations GRANT, DENY et REVOKE sur un rôle serveur ALTER ANY SERVER ROLE, CREATE SERVER ROLE et CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/ALTER.

Nouvelles autorisations GRANT, DENY et REVOKE sur un groupe de disponibilité ALTER ANY AVAILABILITY GROUP, CREATE AVAILABILITY GROUP et CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/ALTER.

Nouvelles autorisations GRANT, DENY et REVOKE sur l'autorisation CREATE SEQUENCE.

Nouvelles autorisations GRANT, DENY et REVOKE sur l'autorisation ALTER ANY EVENT SESSION.

Nouvelle gestion des rôles

Les rôles serveur définis par l'utilisateur sont désormais disponibles. Pour gérer les rôles serveurs définis par l'utilisateur utilisez CREATE SERVER ROLE, ALTER SERVER ROLE et DROP SERVER ROLE. Pour ajouter et supprimer des membres de tous les rôles serveurs, utilisez ALTER SERVER ROLE … WITH ADD MEMBER. sp_addsrvrolemember et sp_dropsrvrolemember sont déconseillés.

ALTER ROLE est modifié pour ajouter ou supprimer des membres de rôles au moyen de la syntaxe ADD MEMBER. sp_addrolemember et sp_droprolemember sont déconseillés.

IS_ROLEMEMBER est ajouté pour vérifier l'appartenance des rôles de base de données.

Schéma par défaut pour les groupes

Vous pouvez maintenant définir un schéma par défaut pour un groupe Windows. Lorsqu'un objet est créé par un utilisateur Windows et qu'un schéma par défaut n'est pas spécifié, SQL Server ne crée plus automatiquement de schéma. Pour plus d'informations sur les schémas par défaut, consultez CREATE USER.

Améliorations de SQL Server Audit

La prise en charge de l'audit de niveau serveur s'est élargie à toutes les éditions de SQL Server. Les audits de niveau base de données sont limités aux éditions Enterprise, Developer et Evaluation.

SQL Server Audit résiste désormais mieux aux échecs d'écriture dans le journal d'audit. Par exemple, si le répertoire cible se trouve sur un partage distant et que le réseau s'arrête, SQL Server Audit peut maintenant récupérer une fois la connexion réseau rétablie. En outre, une nouvelle option a été introduite, qui permet de faire échouer une opération qui entraînerait en temps normal l'écriture d'un événement d'audit dans une cible d'audit en échec. Pour plus d'informations, consultez l'option FAIL_OPERATION de l'événement ON_FAILURE dans CREATE SERVER AUDIT.

Jusqu'alors, les journaux d'audit pouvaient avoir un nombre indéterminé de fichiers journaux ou être substitués au-delà d'un nombre prédéfini. Une nouvelle option a été introduite, qui permet d'imposer le nombre de fichiers d'audit sans substitution, grâce à quoi les clients peuvent contrôler la quantité d'informations d'audit recueillies sans perdre d'enregistrements d'audit. Pour plus d'informations, consultez l'option MAX_FILES dans CREATE SERVER AUDIT.

Lorsque cela est possible, le journal d'audit fournit des informations supplémentaires sur le frame de pile Transact-SQL. Dans de nombreux cas, les auditeurs peuvent maintenant déterminer si une requête a été émise par une procédure stockée ou directement par une application.

Les spécifications de SQL Server Audit prennent maintenant en charge un groupe d'audit défini par l'utilisateur. Les événements audités peuvent être écrits dans le journal d'audit à l'aide de la nouvelle procédure sp_audit_write (Transact-SQL). Les événements d'audit définis par l'utilisateur permettent aux applications d'écrire des informations personnalisées dans le journal d'audit. Par exemple, lorsqu'un même compte de connexion est utilisé par différentes personnes pour la connexion à SQL Server, ces informations peuvent comprendre le nom de l'utilisateur de l'application qui s'est connecté.

De nouvelles colonnes ont été ajoutées à sys.server_file_audits, sys.server_audits et sys.fn_get_audit_file pour suivre les événements d'audit définis par l'utilisateur.

SQL Server Audit offre maintenant la possibilité de filtrer les événements d'audit avant qu'ils ne soient écrits dans le journal d'audit. Pour plus d'informations, consultez la clause WHERE dans CREATE SERVER AUDIT et ALTER SERVER AUDIT.

De nouveaux groupes d'audit prennent en charge l'analyse des utilisateurs de bases de données à relation contenant-contenu.

Les nouvelles options d'audit ont été ajoutées aux boîtes de dialogue d'audit de Management Studio.

Accès au moteur de base de données autorisé via des bases de données à relation contenant-contenu

L'accès aux bases de données à relation contenant-contenu est autorisé par le biais des utilisateurs de base de données à relation contenant-contenu qui n'ont pas besoin de connexions. Les administrateurs système SQL Server doivent savoir en quoi les bases de données à relation contenant-contenu modifient le modèle de sécurité SQL Server. Pour plus d'informations, consultez Meilleures pratiques de sécurité recommandées avec les bases de données à relation contenant-contenu.

Algorithmes de hachage

La fonction HASHBYTES prend désormais en charge les algorithmes SHA2_256 et SHA2_512.

Poursuite de la suppression des fonctionnalités RC4

L'algorithme RC4 est uniquement pris en charge pour des raisons de compatibilité descendante. Le nouveau matériel ne peut être chiffré à l'aide de RC4 ou de RC4_128 que lorsque la base de données se trouve dans le niveau de compatibilité 90 ou 100. (Non recommandé.) Utilisez à la place un algorithme plus récent, tel qu'un des algorithmes AES. Dans SQL Server 2012, le matériel chiffré à l'aide de RC4 ou de RC4_128 peut être déchiffré dans n'importe quel niveau de compatibilité.

Longueur de clé de certificat

Lors de la création de certificats, la longueur maximale des clés privées importées d'une source externe est passée de 3 456 à 4 096 bits.

Le chiffrement à clé principale du service et de la base de données est passé de 3DES à AES

SQL Server 2012 utilise l'algorithme de chiffrement AES pour protéger la clé principale du service (SMK) et la clé principale de base de données (DMK). AES est un algorithme de chiffrement plus récent que 3DES, qui était utilisé dans les versions antérieures. Au terme de la mise à niveau d'une instance du Moteur de base de données vers SQL Server 2012, les clés SMK et DMK doivent être régénérées pour mettre à niveau les clés principales vers AES. Pour plus d'informations sur la régénération de la clé SMK, consultez ALTER SERVICE MASTER KEY (Transact-SQL) et ALTER MASTER KEY (Transact-SQL).

Les certificats peuvent être créés à partir d'une valeur binaire

CREATE CERTIFICATE (Transact-SQL) a l'option FROM BINARY pour autoriser la spécification de la description binaire d'un certificat encodé par ASN. Les nouvelles fonctions CERTENCODED (Transact-SQL) et CERTPRIVATEKEY (Transact-SQL) peuvent être utilisées pour extraire une description binaire d'un certificat existant.

Voir aussi

Concepts

Nouveautés (moteur de base de données)

SQL Server Audit (moteur de base de données)