Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SQL Server es un sistema de administración de bases de datos relacionales (RDBMS) que almacena y administra datos empresariales críticos para aplicaciones, análisis e informes. Dado que a menudo contiene información confidencial, como registros de clientes, datos financieros y propiedad intelectual, proteger SQL Server es esencial para proteger a su organización frente a infracciones de datos, acceso no autorizado y riesgos de cumplimiento.
En este artículo se proporcionan instrucciones sobre cómo proteger mejor SQL Server.
Seguridad de red
Proteger el acceso de red a SQL Server ayuda a evitar conexiones no autorizadas, reduce la exposición a ataques y garantiza que solo los orígenes de confianza puedan acceder a las bases de datos.
Restringe el tráfico entrante con firewalls y grupos de seguridad de red: limita el acceso de red a SQL Server configurando el firewall de Windows para el acceso al motor de base de datos. Para SQL Server en máquinas virtuales (VM) de Azure, use Azure Firewall y grupos de seguridad de red (NSG) para aplicar estas restricciones.
Cifrado de conexiones a SQL Server: configure el motor de base de datos de SQL Server para cifrar las conexiones mediante un certificado. Esto garantiza que los datos en tránsito estén protegidos contra la interceptación y manipulación. Para obtener más información, consulte Cifrado de conexiones al motor de base de datos de SQL Server.
Administración remota segura: use protocolos cifrados (como TLS 1.3) para todas las conexiones remotas. Para más información, consulte Configuración de TLS 1.3.
Conectarse a SQL Server con cifrado estricto: SQL Server 2022 introdujo la
strictopción de cifrado, que requiere que todas las conexiones usen el cifrado. Esto ayuda a garantizar que todos los datos en tránsito estén protegidos. Para obtener más información, consulte Conexión a SQL Server con cifrado estricto.
Administración de identidades
Los controles de identidad y autenticación seguros ayudan a garantizar que solo los usuarios y aplicaciones autorizados puedan acceder a los recursos de SQL Server.
Usar autenticación de Windows o autenticación de Microsoft Entra: prefiere la autenticación de Windows o la autenticación de Microsoft Entra a través de la autenticación de SQL para la administración centralizada de identidades y un control más sencillo del ciclo de vida de las cuentas. Para más información, consulte Elegir un modo de autenticación.
Usar cuentas de servicio administradas por grupos (gMSA) para servicios: use gMSA para administrar las credenciales de la cuenta de servicio de forma automática y segura. Para obtener más información, consulte Group-Managed Información general sobre las cuentas de servicio.
Aplicar directivas de contraseña segura: si usa la autenticación de SQL, necesita contraseñas complejas que no se puedan adivinar fácilmente y no se usen para otras cuentas. Actualice periódicamente las contraseñas y aplique directivas de Active Directory. Para obtener más información, consulte Contraseñas seguras.
Use usuarios de base de datos independientes cuando corresponda: considere la posibilidad de usar usuarios de bases de datos independientes para las aplicaciones que necesitan autenticación de nivel de base de datos sin necesidad de inicios de sesión de nivel de servidor. Para obtener más información, consulte Usuarios de bases de datos contenidos.
Acceso con privilegios
Limitar y supervisar el acceso con privilegios ayuda a evitar cambios no autorizados y a reducir el impacto de las cuentas en peligro.
Conceda los permisos mínimos necesarios: asigne el nivel de privilegio más bajo necesario para cada usuario o servicio. Revise y ajuste periódicamente los permisos para mantener los privilegios mínimos. Para obtener más información, consulte Introducción a los permisos del motor de base de datos.
Separe a los administradores de bases de datos (DBA) y los roles
sysadmin: Evite conceder derechossysadmina todos los DBA. Use el permiso CONTROL SERVER siempre que sea posible, ya que respeta losDENYpermisos y permite un control más pormenorizado. Considere la posibilidad de separar las tareas que limitan el acceso a la máquina virtual, la capacidad de iniciar sesión en el sistema operativo, la capacidad de modificar los registros de errores y auditoría, y la capacidad de instalar aplicaciones o características. Para obtener más información, vea Permisos (motor de base de datos).Supervisar y auditar actividades con privilegios: habilite la auditoría para realizar un seguimiento de los cambios realizados por cuentas con privilegios y revise los registros periódicamente para la actividad sospechosa. Para más información, consulte SQL Server Audit (motor de base de datos).
Implementar separación de roles: coloque usuarios de Active Directory en grupos de AD, asigne grupos de AD a roles de SQL Server y conceda a los roles de SQL Server los permisos mínimos necesarios para las aplicaciones. Para obtener más información, consulte Introducción a los permisos del motor de base de datos.
Protección de los datos
La protección de los datos en reposo y en tránsito es fundamental para evitar la divulgación o manipulación no autorizadas.
Combine funciones de seguridad para obtener la máxima protección: Utilice Row-Level Security junto con Always Encrypted o Dynamic Data Masking para maximizar la postura de seguridad de su organización. Se prefiere el cifrado aleatorio para mejorar la seguridad. Para obtener más información, vea Always Encrypted.
Use cifrado de datos transparente (TDE) para los archivos de base de datos: habilite TDE para cifrar archivos de base de datos, copia de seguridad y tempdb, protegiendo los datos si los medios físicos están en peligro. Para obtener más información, vea Cifrado de datos transparente (TDE).
Enmascarar datos confidenciales con enmascaramiento dinámico de datos (DDM): use DDM para ofuscar los datos confidenciales en los resultados de la consulta cuando el cifrado no sea posible. Para obtener más información, vea Dynamic Data Masking.
Conceder permisos de nivel de columna: limitar el acceso a columnas confidenciales concediendo
SELECT,REFERENCES, oUPDATEsolo a los usuarios autorizados. Para obtener más información, consulte Permisos GRANT.Use Row-Level Security (RLS) para restringir el acceso a los datos: implemente RLS para asegurarse de que los usuarios solo ven los datos relevantes para ellos. Use
SESSION_CONTEXTpara aplicaciones de nivel intermedio en las que los usuarios compartan cuentas de SQL. Para obtener más información, consulte Row-Level Security.Combine funciones de seguridad para obtener la máxima protección: Utilice Row-Level Security junto con Always Encrypted o Dynamic Data Masking para maximizar la postura de seguridad de su organización. Para obtener más información, consulte procedimientos recomendados de seguridad deRow-Level.
Registro y detección de amenazas
El registro y la supervisión completos ayudan a detectar amenazas, investigar incidentes y cumplir los requisitos de cumplimiento.
Habilitar y configurar la auditoría de SQL Server: audite el acceso y los cambios en las configuraciones y datos confidenciales en el nivel de servidor y base de datos. Considere la posibilidad de auditar tablas y columnas con datos confidenciales que tengan medidas de seguridad aplicadas. Revise periódicamente los registros de auditoría, especialmente para las tablas que contienen información confidencial donde no es posible realizar medidas de seguridad completas. Para más información, consulte SQL Server Audit (motor de base de datos).
Utilice el libro mayor en SQL Server: habilite el libro mayor para crear un registro inmutable de los cambios realizados en los datos confidenciales, proporcionando un registro a prueba de manipulaciones. Para más información, consulte Configuración de una base de datos de libro de contabilidad.
Copia de seguridad y recuperación
Los procesos de copia de seguridad y recuperación confiables protegen los datos frente a la pérdida debido a errores, desastres o ataques.
Automatizar copias de seguridad normales: programe copias de seguridad automatizadas para bases de datos, configuraciones del sistema y registros de transacciones. Use las herramientas nativas de Azure Backup o SQL Server. Para más información, consulte Copia de seguridad y restauración de una base de datos de SQL Server con SSMS y Copia de seguridad y restauración para SQL Server en máquinas virtuales de Azure.
Cifrar los datos de copia de seguridad: proteja los archivos de copia de seguridad con cifrado de datos transparente (TDE).
Probar los procedimientos de recuperación periódicamente: restaure periódicamente las copias de seguridad para validar el proceso de recuperación y asegurarse de que puede cumplir los objetivos de tiempo y punto de recuperación. Para más información, consulte Restauración de archivos a partir de la copia de seguridad de la máquina virtual.
Evaluación de seguridad y mitigación de amenazas
Evaluar periódicamente el entorno de SQL Server ayuda a identificar vulnerabilidades y a mejorar la posición de seguridad.
Limitar las características habilitadas para reducir la superficie expuesta a ataques: habilite solo las características de SQL Server necesarias para su entorno. Para obtener más información, consulte Configuración del área expuesta.
Ejecutar evaluaciones de vulnerabilidades: use la evaluación de vulnerabilidades de SQL en SSMS para detectar y corregir posibles vulnerabilidades de la base de datos. Para obtener más información, consulte Evaluación de vulnerabilidades de SQL.
Clasificar y etiquetar datos confidenciales: Use Descubrimiento y Clasificación de Datos SQL para identificar y etiquetar datos confidenciales y así mejorar la protección y el cumplimiento. Para obtener más información, consulte Clasificación y detección de datos de SQL.
Revisar y mitigar amenazas comunes: Proteger contra la inyección SQL, los ataques de canal lateral, la fuerza bruta, el ataque de pulverización de contraseñas y el ransomware siguiendo los procedimientos recomendados para la validación de entrada, la aplicación de revisiones y el control de acceso. Para obtener más información, vea Ataques de inyección de código SQL y ransomware.
Implementación de la seguridad en profundidad: use varias funcionalidades de seguridad dirigidas a diferentes ámbitos de seguridad para proporcionar una protección completa frente a diversas amenazas. Para obtener más información, consulte Procedimientos recomendados de seguridad de SQL Server.