Sie sind auf Seite 1von 7

Microsoft SQL Server es un sistema de administración de bases de datos relacionales

(RDBMS) que contiene pocos componentes y subcomponentes. Cada componente


en SQL Server tiene su propio mecanismo de seguridad que está casi separado el uno
del otro. La seguridad de Database Engine incluye la cuenta de servicio, la instancia y la
seguridad de las bases de datos.

La mayoría de los desarrolladores y profesionales de TI solo piensan en el cifrado como

único mecanismo para proteger sus datos o aplicaciones. La seguridad en el entorno de

SQL Server no está limitada a la encriptación: SQL Server debe tener seguridad física

para proteger todo el rack del servidor contra cualquier problema vulnerable y también

la seguridad raíz de la instancia de SQL Server. La seguridad en SQL Server puede ser

Autenticación y Autorización de usuarios contra datos e instancia de SQL Server.

Recuerde siempre crear un entorno seguro para su SQL Server, debe tener seguridad en

las fases de Diseño, Desarrollo e Implementación de su software y bases de datos. La


mayoría de los problemas de seguridad surgen de la fase de Diseño y Desarrollo.

Cuenta de servicio de Microsoft SQL Server

Microsoft SQL Server es una aplicación de modo de usuario, aunque se ejecuta en el

servicio de Windows. La cuenta de servicio es completamente una cuenta de usuario de

Windows y proporciona privilegios de seguridad para que el servicio SQL Server acceda
a los recursos de la plataforma Windows, como el sistema de archivos, la red y el

registro. El punto más importante es que SQL Server Service Account no se debe

compartir con otras instancias de SQL Server y se prefiere estar en un controlador de


dominio (DC).

Capas de seguridad de SQL Server


Microsoft SQL Server tiene varias capas de seguridad, la primera capa es la seguridad

del canal de comunicación que es aplicada por TSL o protocolo SSL. La segunda capa está
en el nivel de instancia que está protegido por la API de

protección de datos de Windows (DPAPI), DPAPI es en la función de cifrado en la

plataforma de Windows para cifrar y descifrar datos y el algoritmo es diferente en cada

máquina. Los inicios de sesión, los roles de servidor y las credenciales son objetos de

seguridad de nivel de instancia en SQL Server y el usuario, el certificado, las funciones,

los esquemas y las claves de cifrado son objetos de seguridad de nivel de base de datos.
La figura siguiente muestra las capas de seguridad de SQL Server.

SQL Server Service Key es la clave de cifrado básica en la plataforma SQL Server y está

protegida por DPAPI, la clave de servicio siempre se crea mediante el proceso de SQL

Server durante el primer inicio y el usuario no puede crearla, el usuario tiene la

capacidad de hacer una copia de seguridad y restaurarla en la misma instancia u otras

instancias. La clave maestra es una clave opcional en cada base de datos y puede

protegerse mediante la clave de servicio o una contraseña segura proporcionada por el

usuario. El usuario puede hacer una copia de seguridad de la clave maestra y restaurarla

en la misma base de datos u otra base de datos. Regenerar la clave del servicio

regenerará todas las claves secundarias, como las claves maestra y de encriptación
(simétrica o asimétrica).
Algoritmos y mecanismo de cifrado de SQL Server

El algoritmo de cifrado varía en SQL Server y depende de la clave de cifrado, no todas

las claves de cifrado admiten todos los algoritmos en SQL Server. SQL Server puede

admitir algoritmos de cifrado como AES, AES_128, AES_192, AES_256, DES, Triple_DES,
RSA_2048, MD5, SHA1, SHA2_512 (Introducido en SQL Server 2012) y RC4.

SQL Server proporciona una función para encriptar la base de datos para evitar que se

lea la base de datos robada. El cifrado de la base de datos es una opción opcional en

cada base de datos. SQL Server no cifra la base de datos completa al mismo tiempo

cuando la característica está habilitada en una base de datos, SQL Server encriptará cada
página cuando el proceso “Lazywriter” necesita escribir la página en el disco y descifrarla

cuando lee la página del disco. La función de cifrado de la base de datos se denomina

“Cifrado transparente de la base de datos” y solo está disponible en las ediciones


“Enterprise” y se presentó en SQL Server 2005.

La seguridad de SQL Server no está completa en la instancia, debe haber un entorno de

red seguro para reducir o evitar ataques al servidor. Para garantizar la seguridad del SQL

Server, existen algunos factores, como la cuenta de servicio, el protocolo de


comunicación y la configuración del firewall.

SQL Server es un proceso de servicio de Windows y la plataforma de Windows lo ejecuta

como un proceso de modo de usuario, luego necesita una cuenta de Windows para

iniciarlo y proporciona privilegios de seguridad. La cuenta de servicio puede ser una

cuenta de usuario o una cuenta de sistema, la plataforma Windows Server 2008 R2 y,

más adelante, la “Cuenta de servicio virtual” que comienza con “NT Service \”. Tenga en

cuenta que SQL Server no necesita privilegios de seguridad del administrador, solo

necesita tener privilegios para enumerar directorios y acceder a los archivos de registro
de errores, archivos de datos y archivos de registro. Hay tres cuentas integradas de
Windows tales como “Sistema local”, “Servicio de red” y “Servicio local”, que ninguno
de ellos necesita contraseña.

Usando la cuenta de servicio virtual

La cuenta de servicio virtual se introduce en Windows Server 2008 R2 y no requiere

administración de contraseñas. Se crea una vez que el servicio SQL Server se instala

correctamente y el administrador no tiene derecho a eliminar o agregar ninguna cuenta

de servicio virtual. El nombre de la cuenta del servicio virtual se inicia con “NT Service
\”.

Encriptando la sesión con SSL

SQL Server transfiere datos a través de la red con el protocolo Tabular Data Stream

(TDS), que es el formato estándar para que SQL Server se comunique con la aplicación

cliente. Los piratas informáticos pueden detectar la red mediante la aplicación

“WireShark” y explorar los datos transferidos a través de la red. Para proteger los datos

en la red, SQL Server puede encriptar el protocolo TDS con protocolo SSL. Para habilitar

el protocolo SSL, SQL Server necesita un certificado auto firmado o un certificado

autorizado de los proveedores de certificados. Los administradores pueden habilitar el

protocolo SSL en SQL Server habilitando la opción “Forzar cifrado” o mediante la opción
“Encriptar” en la cadena de conexión de la aplicación.

Configurar un servidor de seguridad para acceso a SQL Server

Para proteger el entorno SQL Server, los administradores usan Firewall para controlar la

conexión entrante y saliente, en el entorno SQL Server algunos números de puerto

deben configurarse correctamente para las conexiones entrantes y salientes; de lo

contrario, SQL Server no podrá acceder a las aplicaciones cliente. Debajo de los puertos
de SQL Server no se deben bloquear en la configuración del Firewall.
 Puerto TCP 1433 (motor de base de datos)

 Puerto UDP 1434 (navegador)

 Puerto TCP 2383 (Analysis Services)

 Puerto TCP 4022 (Service Broker)

El siguiente código devuelve todos los puertos que SQL Server usa actualmente en su
entorno.

SELECT * FROM Sys.Endpoints WHERE Type = 4;

El explorador de SQL Server es un proceso de servicio de Windows para proporcionar el

número de puerto de la instancia con nombre de SQL Server y administrar los números

de puerto dinámico. Deshabilitar el Navegador del Servidor SQL puede causar una falla
en la conexión del usuario.

Cifrado de base de datos transparente

La característica Transparent Database Encryption (TDE) se presenta en SQL Server

2008, la característica TDE encripta toda la base de datos con la clave proporcionada y

puede encriptar los datos y el archivo de registro al mismo tiempo. TDE es totalmente

transparente desde la perspectiva del usuario y la aplicación. TDE puede admitir claves

de cifrado como “Tripple_DES”, “AES_128”, “AES_192” y “AES_256”. Solo las ediciones

“Enterprise”, “Developer” y “Data Center” de SQL Server tienen esta característica


única.
La detención de servicios no utilizados puede mejorar el rendimiento general de SQL

Server y reducir el riesgo de seguridad, y los administradores pueden detener servicios

no utilizados de SQL Server como “Integration Services”, “Analysis Services” o

“Reporting Services”. Y los administradores pueden desactivar de forma segura los

servicios a continuación, especialmente cuando hay un servidor dedicado para el


entorno de SQL Server.

 Cliente DHCP

 Cliente DNS

 Conciencia de ubicación de red

 Cola de impresión

 Servicio de informe de errores de Windows

 Firewall de Windows (si hay un firewall de red)

 Detección de hardware de Shell

Opción Descripción

El acceso está limitado a inicios de sesión definidos


No se ha hecho
explícitamente en la lista de mapeo

El servidor vinculado aplicará el permiso de usuario


Estar hecho sin usar un contexto de seguridad
invitado en la base de datos

Aplica la suplantación para todos los inicios de


Conéctese utilizando el contexto de seguridad
sesión no mapeados, igual que la casilla de
actual de inicio de sesión
verificación de suplantación

Permite que todos los inicios de sesión no


Hacerse usando este contexto de seguridad mapeados se conecten usando el inicio de sesión de
SQL Server distante

Asegurar el sector vinculado


Linked-Server es otra característica de SQL Server que puede conectar la instancia de

SQL Server a otra instancia de SQL Server u Oracle Database para transferir datos.
Linked-Server tiene algunas opciones de seguridad como la siguiente tabla

Las primeras medidas que suelen tomar los administradores es desactivar las

características “XP_CMDShell”, “Procedimiento de automatización OLE”,

“OpenRowSet” y “OpenDataSource” en SQL Server para reducir el riesgo de seguridad

de los ataques de SQL Server. Endpoint es una especie de puerta para que SQL Server se

comunique con usuarios y aplicaciones. Endpoint puede ser creado y utilizado por el

usuario o el sistema. El protocolo del punto final puede ser HTTP o TCP en SQL Server

2005 y SQL Server 2008 – R2 y solo TCP en SQL Server 2012. El extremo definido por el
usuario puede ser para TSQL, Service Broker o Database Mirroring.

Das könnte Ihnen auch gefallen