Compartir a través de


Protección de SQL Server

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.

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 derechos sysadmin a todos los DBA. Use el permiso CONTROL SERVER siempre que sea posible, ya que respeta los DENY permisos 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, o UPDATE solo 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_CONTEXT para 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.

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.