Mejoras de seguridad (motor de base de datos)

Las mejoras de seguridad del Motor de base de datos de SQL Server incluyen el aprovisionamiento durante la instalación, los nuevos permisos SEARCH PROPERTY LIST, nuevos roles de servidor definidos por el usuario y nuevas maneras de administrar los roles de servidor y de base de datos.

Aprovisionamiento durante la instalación

Para mejorar la separación de roles, no se aprovisionan automáticamente BUILTIN\administrators ni Sistema local (NT AUTHORITY\SYSTEM) en el rol fijo de servidor sysadmin. Los administradores locales todavía pueden tener acceso al Motor de base de datos en modo de usuario único.

SQL Server ahora admite cuentas de servicio administradas y cuentas virtuales cuando se instala en Windows 7 o Windows Server 2008 R2. Para obtener más información, vea Configurar los permisos y las cuentas de servicio de Windows.

La protección de los servicios operativos con un SID por servicio se ha mejorado ahora en todos los sistemas operativos. Para obtener más información, vea Configurar los permisos y las cuentas de servicio de Windows.

Nuevos permisos

Hay 19 nuevos permisos disponibles en Motor de base de datos. Para ver todos los permisos, ejecute la instrucción siguiente.

SELECT * FROM sys.fn_builtin_permissions('');

Los nuevos permisos son los siguientes:

Hay nuevos permisos GRANT, DENY y REVOKE para CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/REFERENCES/ALTER en una lista de propiedades de búsqueda.

Hay nuevos permisos GRANT, DENY y REVOKE para ALTER ANY SERVER ROLE, CREATE SERVER ROLE y CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/ALTER en un rol de servidor.

Hay nuevos permisos GRANT, DENY y REVOKE para ALTER ANY AVAILABILITY GROUP, CREATE AVAILABILITY GROUP y CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/ALTER en un grupo de disponibilidad.

Nuevos permisos GRANT, DENY y REVOKE para el permiso CREATE SEQUENCE.

Nuevos permisos GRANT, DENY y REVOKE para el permiso ALTER ANY EVENT SESSION .

Nueva administración de roles

Ahora hay roles de servidor definidos por el usuario. Para administrar roles de servidor definidos por el usuario, utilice CREATE SERVER ROLE, ALTER SERVER ROLE y DROP SERVER ROLE. Para agregar y quitar miembros de todos los roles de servidor, utilice ALTER SERVER ROLE … WITH ADD MEMBER. Los procedimientos almacenados sp_addsrvrolemember y sp_dropsrvrolemember están desusados.

ALTER ROLE se modifica para agregar o quitar miembros de los roles utilizando la sintaxis ADD MEMBER. Los procedimientos almacenados sp_addrolemember y sp_droprolemember están desusados.

Se agrega IS_ROLEMEMBER para comprobar la pertenencia de los roles de base de datos.

Esquema predeterminado para grupos

Ahora puede definir un esquema predeterminado para un grupo de Windows. Cuando un usuario de Windows crea un objeto y cuando no se ha especificado un esquema predeterminado, SQL Server ya no crea automáticamente un esquema. Para obtener más información acerca de los esquemas predeterminados, vea CREATE USER.

Mejoras de SQL Server Audit

La compatibilidad con la auditoría de nivel de servidor se ha ampliado para incluir todas las ediciones de SQL Server. Las auditorías de nivel de base de datos se limitan a las ediciones Enterprise, Developer y Evaluation.

SQL Server Audit es ahora más resistente a los errores de escritura en el registro de auditoría. Por ejemplo, si el directorio de destino está en un recurso compartido remoto y se interrumpe el servicio de la red, SQL Server Audit podrá ahora recuperarse una vez restablecida la conexión de red. Además, se ha introducido una nueva opción para interrumpir una operación que, de otro modo, generaría que un evento de auditoría se escribiese en un destino de auditoría incorrecto. Para obtener más información, vea la opción FAIL_OPERATION para el evento ON_FAILURE en CREATE SERVER AUDIT.

Anteriormente, los registros de auditoría podían tener un número indeterminado de archivos de registro, o bien producirse la sustitución incremental después de un número predefinido. Se ha introducido una nueva opción para limitar el número de archivos de auditoría sin sustitución incremental, para que los clientes puedan controlar la cantidad de información de auditoría recopilada sin que se pierdan registros de auditoría. Para obtener más información, vea la opción MAX_FILES en CREATE SERVER AUDIT.

Cuando es posible, el registro de auditoría proporciona información adicional del marco de pila de Transact-SQL. En muchos casos, los auditores pueden determinar ahora si una consulta fue emitida mediante un procedimiento almacenado o directamente por una aplicación.

Las especificaciones de SQL Server Audit admiten ahora un grupo de auditoría definido por el usuario. Los eventos auditados se pueden escribir en el registro de auditoría utilizando el nuevo procedimiento sp_audit_write (Transact-SQL). Los eventos de auditoría definidos por el usuario permiten que las aplicaciones escriban información personalizada en el registro de auditoría, como por ejemplo el nombre del usuario de la aplicación que se ha conectado en los casos en que se utiliza un inicio de sesión común para conectarse a SQL Server.

Se han agregado nuevas columnas a sys.server_file_audits, sys.server_audits y sys.fn_get_audit_file para el seguimiento de eventos de auditoría definidos por el usuario.

SQL Server Audit admite ahora la capacidad de filtrar eventos de auditoría antes de que se escriban en el registro de auditoría. Para obtener más información, vea la cláusula WHERE en CREATE SERVER AUDIT y ALTER SERVER AUDIT.

Los nuevos grupos de auditoría admiten la supervisión de los usuarios de bases de datos independientes.

Se han agregado nuevas opciones de auditoría a los cuadros de diálogo de auditoría de Management Studio.

Se permite el acceso al motor de base de datos a través de bases de datos independientes

Se permite el acceso a las bases de datos independientes a través de usuarios de bases de datos independientes que no requieran inicio de sesión. Los administradores del sistema de SQL Server deben comprender cómo cambian las bases de datos independientes el modelo de seguridad de SQL Server. Para obtener más información, vea Prácticas recomendadas de seguridad con bases de datos independientes.

Algoritmos de hash

La función HASHBYTES admite ahora los algoritmos SHA2_256 y SHA2_512.

Degradación adicional de RC4

El algoritmo RC4 se admite únicamente por razones de compatibilidad con versiones anteriores. El material nuevo solo se puede cifrar con RC4 o RC4_128 cuando la base de datos tenga el nivel de compatibilidad 90 o 100. (No se recomienda). Use un algoritmo más reciente como uno de los algoritmos AES en su lugar. En SQL Server 2012 el material cifrado con RC4 o RC4_128 se puede descifrar en cualquier nivel de compatibilidad.

Longitud de la clave de certificado

Al crear certificados, la longitud máxima de las claves privadas que se importan desde un origen externo se amplía de 3.456 a 4.096 bits.

La clave maestra de servicio y el cifrado de la clave maestra de la base de datos cambia de 3DES a AES

SQL Server 2012 usa el algoritmo de cifrado AES para proteger la clave maestra de servicio (SMK) y la clave maestra de la base de datos (DMK). AES es un algoritmo de cifrado más reciente que el algoritmo 3DES empleado en versiones anteriores. Después de actualizar una instancia de Motor de base de datos a SQL Server 2012, se deben volver a generar las claves SMK y DMK para actualizarlas al algoritmo AES. Para obtener más información acerca de cómo volver a generar la SMK, vea ALTER SERVICE MASTER KEY (Transact-SQL) y ALTER MASTER KEY (Transact-SQL).

Los certificados se pueden crear a partir de archivos binarios

CREATE CERTIFICATE (Transact-SQL) tiene la opción FROM BINARY para permitir la especificación de la descripción binaria de un certificado codificado ASN. Las nuevas características CERTENCODED (Transact-SQL) y CERTPRIVATEKEY (Transact-SQL) se pueden utilizar para extraer una descripción binaria de un certificado existente.

Vea también

Conceptos

Novedades (motor de base de datos)

SQL Server Audit (motor de base de datos)