Matriz de amenazas y vulnerabilidad (motor de base de datos)

Aunque SQL Server incluye varios mecanismos de seguridad, todo sistema tiene características que se podrían aprovechar con fines malintencionados. Cualquier característica que exponga datos u otra información puede constituir un riesgo si se implementa incorrectamente.

Aunque cualquier característica podría representar un riesgo, no todos los riesgos son iguales. Algunos requieren un cambio de procedimiento, otros de configuración y algunos de código. En las tablas siguientes se explican los riesgos y los pasos proactivos que se pueden dar para disminuirlos.

Amenazas y vulnerabilidades de los procesos

Amenaza o vulnerabilidad

Definición

Mitigación

Directivas de seguridad

Una directiva de seguridad es un registro de los procesos y procedimientos que debe seguir una organización para evitar, realizar un seguimiento y responder a las amenazas de seguridad. Contiene directivas relacionadas con el acceso adecuado a los sistemas, la aplicación de revisiones y los firewalls, así como mecanismos de prevención antivirus.

Cree, revise, distribuya y mantenga una directiva de seguridad efectiva. Para obtener más información acerca de cómo crear una directiva de seguridad, vea Proteger SQL Server.

Principio de "privilegios mínimos"

Según el principio de "privilegios mínimos", un sistema sólo debería permitir el nivel de acceso necesario a un objeto protegible. Además, el acceso sólo debería estar habilitado para quienes tienen una necesidad directa y sólo durante un tiempo especificado. Las aplicaciones pueden estar codificadas para proporcionar más acceso del necesario y las cuentas podrían tener demasiado acceso.

Revise e implemente la seguridad de acuerdo con el principio de privilegios mínimos. Para obtener más información sobre cómo desarrollar aplicaciones que utilizan los conceptos de privilegios mínimos, vea el tema relativo a procedimientos recomendados en un entorno con privilegios mínimos en MSDN.

Boletines de seguridad

Microsoft publica información de seguridad tan pronto como se comprueba y se prueba en distintas plataformas. Las organizaciones que no están al corriente de estos boletines ponen en peligro sus sistemas al no implementar las instrucciones de seguridad adecuadas.

Revise y haga un seguimiento de los boletines de seguridad de SQL Server. Para obtener más información, vea la búsqueda de boletines de seguridad de Microsoft en TechNet.

Amenazas y vulnerabilidades de la plataforma

Amenaza o vulnerabilidad

Definición

Mitigación

El sistema no está actualizado (no se han aplicado las actualizaciones de software)

Microsoft publica actualizaciones de software para mejorar la seguridad de SQL Server. Si no se siguen o se aplican estas actualizaciones de software, el sistema será más vulnerable a los ataques.

Revise y aplique todos los Service Packs y todas las revisiones en cuanto estén disponibles. Para obtener más información, consulte la página de descargas en SQL Server TechCenter.

Vulnerabilidades de seguridad de los puertos de red

La red es la principal vía de acceso para los ataques contra SQL Server. Si los puertos estándar están abiertos a Internet, se favorecerán los ataques.

Utilice un firewall en el servidor si está expuesto a Internet y utilice la herramienta Administrador de configuración de SQL Server para establecer la configuración de la red. Considere también la posibilidad de utilizar SSL (Capa de sockets seguros) para aumentar aún más la seguridad. Para obtener más información acerca de los firewalls y SQL Server, vea Cómo configurar Firewall de Windows para el acceso al motor de base de datos. Para obtener más información acerca de cómo cambiar la configuración de la red, vea Administrador de configuración de SQL Server. Para obtener más información acerca de cómo utilizar SSL en SQL Server, vea Cifrar conexiones a SQL Server.

Configuración incorrecta de las cuentas de servicio

Las cuentas de servicio de SQL Server suelen tener más acceso a la plataforma o a la red del que necesitan.

Las cuentas de servicio de SQL Server deberían funcionar bajo el principio de privilegios mínimos y deberían tener contraseñas seguras. Para obtener más información acerca de las cuentas de servicio, vea Configurar cuentas de servicio de Windows. Para obtener más información acerca de las contraseñas, vea Contraseñas seguras.

Área expuesta demasiado grande

Las características y capacidades de SQL Server pueden estar expuestas cuando no es necesario.

Use el Administrador de configuración de SQL Server y la Administración basada en directiva para controlar las características y los demás componentes. Para obtener más información, vea Descripción de la configuración del área expuesta.

Procedimientos almacenados innecesarios habilitados

Algunos procedimientos almacenados extendidos permiten el acceso al sistema operativo o al registro.

No habilite los procedimientos almacenados que permiten el acceso al sistema operativo o al registro si no es completamente necesario. Para obtener más información, vea Descripción de la configuración del área expuesta.

Amenazas y vulnerabilidades de autenticación

Amenaza o vulnerabilidad

Definición

Mitigación

Contraseñas no seguras

Las contraseñas sencillas están expuestas a los ataques por fuerza bruta o de diccionario.

Utilice siempre contraseñas seguras y complejas. Para obtener más información, vea Contraseñas seguras. También vea las opciones CHECK_POLICY y CHECK_EXPIRATION en las instrucciones CREATE LOGIN (Transact-SQL) y ALTER LOGIN (Transact-SQL).

Cuentas de usuario sin auditar

Los usuarios (entidades de seguridad) a menudo cambian de puesto o dejan la organización. Si no se cambia el acceso a una cuenta de usuario, se puede seguir teniendo acceso al sistema con el nivel de permisos anterior.

Las cuentas de usuario se deberían auditar con frecuencia para asegurarse de que se tiene habilitado el acceso adecuado a los servidores y los objetos de las bases de datos. Para obtener más información acerca de cómo auditar el acceso a SQL Server, vea Supervisar los registros de errores.

Amenazas y vulnerabilidades de programación

Amenaza o vulnerabilidad

Definición

Mitigación

Inyección de código SQL

Consiste en incrustar una consulta malintencionada en una legítima.

Para obtener más información acerca de cómo actuar ante los ataques por inyección de código SQL, vea Inyección de código SQL.

Contraseñas incrustadas

Algunas aplicaciones guardan las cadenas de conexión en el programa o en archivos de configuración.

No guarde las contraseñas ni la información confidencial de conexión en un programa, en el registro ni en un archivo de configuración. Para obtener más información, vea Directiva de contraseñas.

Amenazas y vulnerabilidades de acceso a los datos

Amenaza o vulnerabilidad

Definición

Mitigación

Cifrado aplicado incorrectamente

El cifrado ofusca los datos o la información de conexión en SQL Server. No cifrar los datos cuando es necesario o hacerlo cuando no lo es, supone un riesgo y una complejidad innecesarios.

Conozca e implemente correctamente el cifrado en SQL Server. Para obtener más información, vea Cifrado de SQL Server.

Certificados aplicados incorrectamente

Los certificados son un mecanismo para comprobar la autenticación. SQL Server puede utilizar los certificados para diversos propósitos, desde las conexiones a los datos. El uso inadecuado de los certificados autofirmados y los períodos de validación extendidos reducen la eficacia de la seguridad global.

Conozca e implemente correctamente los certificados de SQL Server. Para obtener más información, vea Certificados y claves asimétricas de SQL Server.

Claves de SQL Server sin copias de seguridad

Una instancia de SQL Server y las bases de datos que contiene pueden tener claves que se utilizan para distintos propósitos de seguridad. Esto incluye el cifrado.

Se deberían hacer copias de seguridad de las claves del servidor (también conocidas como claves maestras de servicio) y de las claves de las bases de datos, y guardarlas en lugar seguro. También se deberían cambiar periódicamente. Para obtener más información, vea SQL Server y claves de cifrado de base de datos (motor de base de datos).