0% encontró este documento útil (0 votos)
72 vistas5 páginas

Base de Datos SQL Server 2014

Este documento contiene recomendaciones para configurar la seguridad de SQL Server 2014. Incluye sugerencias como deshabilitar la cuenta de inicio de sesión 'sa', renombrarla, asegurarse de que no exista un inicio de sesión con ese nombre, aplicar políticas de contraseña complejas y configurar la auditoría para capturar intentos de inicio de sesión exitosos y fallidos. El objetivo es reducir el riesgo de ataques como fuerza bruta y mejorar la detección e investigación de incidentes de seguridad.

Cargado por

Martita Saavedra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
72 vistas5 páginas

Base de Datos SQL Server 2014

Este documento contiene recomendaciones para configurar la seguridad de SQL Server 2014. Incluye sugerencias como deshabilitar la cuenta de inicio de sesión 'sa', renombrarla, asegurarse de que no exista un inicio de sesión con ese nombre, aplicar políticas de contraseña complejas y configurar la auditoría para capturar intentos de inicio de sesión exitosos y fallidos. El objetivo es reducir el riesgo de ataques como fuerza bruta y mejorar la detección e investigación de incidentes de seguridad.

Cargado por

Martita Saavedra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

BASE DE DATOS SQL SERVER 2014

2.13 Asegúrese de que la cuenta de inicio de sesión 'sa' esté configurada como 'Desactivada'
(Puntuación)

Aplicabilidad del perfil:

• Nivel 1 - Motor de base de datos

• Nivel 1 - AWS RDS

Descripción:

La cuenta sa es una cuenta de SQL Server ampliamente conocida y a menudo ampliamente


utilizada con sysadmin privilegios Este es el inicio de sesión original creado durante la
instalación y siempre tiene el principal_id = 1 y sid = 0x01.

Razón fundamental:

Hacer cumplir este control reduce la probabilidad de que un atacante ejecute ataques de
fuerza bruta contra un conocido director.

Auditoría:

Use la siguiente sintaxis para determinar si la cuenta sa está deshabilitada. Comprobando sid =
0x01 asegura que la cuenta sa original esté siendo verificada en caso de que haya sido
renombrada por mejor prácticas

SELECT name, is_disabled FROM sys.server_principals WHERE sid = 0x01 AND is_disabled = 0;

No se deben devolver filas para cumplir.

Un valor is_disabled de 0 indica que el inicio de sesión está habilitado actualmente y, por lo
tanto, necesita remediación

Remediación:

Ejecute la siguiente consulta T-SQL:

USE [master] GO DECLARE @tsql nvarchar(max) SET @tsql = 'ALTER LOGIN ' +
SUSER_NAME(0x01) + ' DISABLE' EXEC (@tsql) GO

Impacto: no es una buena práctica de seguridad codificar aplicaciones o scripts para usar la
cuenta sa. Sin embargo, si se ha hecho esto, deshabilitar la cuenta sa evitará que los scripts y
las aplicaciones se autentiquen en el servidor de la base de datos y ejecuten las tareas o
funciones necesarias. Valor predeterminado: de forma predeterminada, la cuenta de inicio de
sesión sa se deshabilita en el momento de la instalación cuando se selecciona el modo de
autenticación de Windows. Si está en modo mixto (SQL Server

2.14 Asegúrese de que la cuenta de inicio de sesión 'sa' haya sido renombrada (puntuada)

Aplicabilidad del perfil:

• Nivel 1 - Motor de base de datos

• Nivel 1 - AWS RDS

Descripción:
La cuenta sa es un inicio de sesión de SQL Server ampliamente conocido y muy utilizado con
sysadmin privilegios El inicio de sesión sa es el inicio de sesión original creado durante la
instalación y siempre tiene principal_id = 1 y sid = 0x01.

Razón fundamental:

Es más difícil lanzar ataques de adivinación de contraseña y fuerza bruta contra el inicio de
sesión sa si el nombre no se conoce

Auditoría:

Use la siguiente sintaxis para determinar si se cambia el nombre de la cuenta sa.

SELECT name FROM sys.server_principals WHERE sid = 0x01;

Un nombre de sa indica que la cuenta no ha sido renombrada.

Remediación:

Reemplace el valor <different_user> dentro de la sintaxis a continuación y ejecute renombrar


sa iniciar sesión.

ALTER LOGIN sa WITH NAME = <different user> ;

Impacto:

No es una buena práctica de seguridad codificar aplicaciones o scripts para usar la cuenta sa.

Sin embargo, si esto se ha hecho, renombrar la cuenta sa evitará scripts aplicaciones para
autenticarse en el servidor de bases de datos y ejecutar tareas requeridas o

funciones

Valor por defecto:

Por defecto, el nombre de inicio de sesión sa es 'sa'.

2.17 Asegúrese de que no exista un inicio de sesión con el nombre 'sa' (Puntuación)

Aplicabilidad del perfil:

• Nivel 1 - Motor de base de datos

• Nivel 1 - AWS RDS

Descripción:

El inicio de sesión sa (por ejemplo, principal) es una cuenta de SQL Server ampliamente
conocida y a menudo ampliamente utilizada.

Por lo tanto, no debe haber un inicio de sesión llamado sa incluso cuando el inicio de sesión sa
original (principal_id 0x01) ha cambiado de nombre.

Razón fundamental:

Hacer cumplir este control reduce la probabilidad de que un atacante ejecute ataques de
fuerza bruta contra un conocido director.

Auditoría:
Use la siguiente sintaxis para determinar si hay una cuenta llamada sa

SELECT principal_id, name FROM sys.server_principals WHERE name = 'sa';

Impacto:

No es una buena práctica de seguridad codificar aplicaciones o scripts para usar la cuenta sa.
Dado que se recomienda cambiar el nombre y desactivar la cuenta sa, algunas aplicaciones de
terceros compruebe la existencia de un inicio de sesión llamado sa y si no existe, crea uno. La
eliminación de la Un inicio de sesión evitará que estos scripts y aplicaciones se autentiquen en
la base de datos servidor y ejecución de tareas o funciones requeridas.

Valor por defecto:

El inicio de sesión con un principal_id = 1 se denomina sa por defecto

4.3 Asegúrese de que la opción 'CHECK_POLICY' esté configurada en 'ON'


para All SQL
Aplicabilidad del perfil:

• Nivel 1 - Motor de base de datos

• Nivel 1 - AWS RDS

Descripción:

Aplica la misma política de complejidad de contraseña utilizada en Windows a las contraseñas


utilizadas dentro Servidor SQL.

Razón fundamental:

Asegúrese de que las contraseñas de inicio de sesión autenticadas de SQL cumplan con la
política de contraseña segura aplicada por el Benchmark de Windows Server para que no se
puedan comprometer fácilmente a través de un bruto ataque de fuerza

Auditoría:

Use el siguiente fragmento de código para determinar el estado de los inicios de sesión de SQL
y si su contraseña La complejidad se aplica.

SELECT name, is_disabled FROM sys.sql_logins WHERE is_policy_checked = 0;

El valor is_policy_checked de 0 indica que la opción CHECK_POLICY está desactivada; valor de 1

Está encendido. Si el valor is_disabled es 1, el inicio de sesión está deshabilitado e inutilizable.


Si no hay filas devuelto, o bien no existen inicios de sesión autenticados de SQL o todos tienen
CHECK_POLICY ON.

Remediación:

Para cada <nombre de inicio de sesión> encontrado por el procedimiento de auditoría, ejecute
el siguiente T-SQL declaración:

5.3 Asegúrese de que 'Auditoría de inicio de sesión' esté establecida en 'inicios de sesión
fallidos' (Puntuación)
Aplicabilidad del perfil:

• Nivel 1 - Motor de base de datos

• Nivel 1 - AWS RDS

Descripción:

Esta configuración registrará intentos de autenticación fallidos para inicios de sesión de SQL
Server en SQL Errorlog del servidor. Esta es la configuración predeterminada para SQL Server.

Históricamente, esta configuración ha estado disponible en todas las versiones y ediciones de


SQL Server. Anterior a la disponibilidad de SQL Server Audit, este fue el único mecanismo
proporcionado para captura de inicios de sesión (exitoso o fallido).

Razón fundamental:

La captura de inicios de sesión fallidos proporciona información clave que se puede utilizar
para detectar \ confirmar ataques de adivinación de contraseña. La captura de intentos de
inicio de sesión exitosos se puede utilizar para confirmar acceso al servidor durante las
investigaciones forenses, pero utilizando esta configuración de nivel de auditoría también

capturar inicios de sesión exitosos crea ruido excesivo en el registro de errores de SQL Server
que obstaculizar un DBA que intenta solucionar problemas. En otra parte de este punto de
referencia, nosotros recomiendo usar la nueva y liviana función de Auditoría de SQL Server
para capturar ambos inicios de sesión exitosos y fallidos.

EXEC xp_loginconfig 'audit level';

Un valor_configuración de falla indica una configuración de auditoría de inicio de sesión del


servidor de solo inicios de sesión fallidos. Si aparece un config_value de all, se registran los
inicios de sesión fallidos y exitosos. Ambas configuraciones también deben considerarse
válidas, pero como se mencionó, la captura de inicios de sesión exitosos el uso de este método
crea mucho ruido en el registro de errores de SQL Server.

Impacto:

Como mínimo, queremos garantizar que se capturen los inicios de sesión fallidos para detectar
si el adversario está intentando contraseñas de fuerza bruta o de otra manera está intentando
acceder a un SQL Servidor incorrectamente.

Cambiar la configuración requiere un reinicio del servicio SQL Server.

Valor por defecto:

Por defecto, solo se capturan los intentos fallidos de inicio de sesión.

5.4 Asegúrese de que 'SQL Server Audit' esté configurado para capturar
tanto 'fallido' como 'inicios de sesión exitosos' (Puntuación)
Aplicabilidad del perfil:

• Nivel 1 - Motor de base de datos


• Nivel 1 - AWS RDS

Descripción:

SQL Server Audit es capaz de capturar inicios de sesión fallidos y exitosos y escribirlos a uno de
tres lugares: el registro de eventos de la aplicación, el registro de eventos de seguridad o el
sistema de archivos Lo usaremos para capturar cualquier intento de inicio de sesión en SQL
Server, así como cualquier intento de cambiar Política de auditoría. Esto también servirá para
ser una segunda fuente para registrar intentos fallidos de inicio de sesión.

Razón fundamental:

Al utilizar Auditoría en lugar de la configuración tradicional en la pestaña Seguridad para


capturar inicios de sesión exitosos, reducimos el ruido en el ERRORLOG. Esto lo mantiene más
pequeño y más fácil de lea para los DBA que intentan solucionar problemas con SQL Server.
También El objeto de auditoría puede escribir en el registro de eventos de seguridad, aunque
esto requiere un sistema operativo configuración. Esto ofrece una opción adicional sobre
dónde almacenar eventos de inicio de sesión, especialmente enjunto con un SIEM.

SELECT [Link] AS 'Audit Name' , CASE S.is_state_enabled WHEN 1 THEN 'Y' WHEN 0 THEN 'N'
END AS 'Audit Enabled' , S.type_desc AS 'Write Location' , [Link] AS 'Audit Specification
Name' , CASE SA.is_state_enabled WHEN 1 THEN 'Y' WHEN 0 THEN 'N' END AS 'Audit
Specification Enabled' , SAD.audit_action_name , SAD.audited_result FROM
sys.server_audit_specification_details AS SAD JOIN sys.server_audit_specifications AS SA ON
SAD.server_specification_id = SA.server_specification_id JOIN sys.server_audits AS S ON
SA.audit_guid = S.audit_guid WHERE SAD.audit_action_id IN ('CNAU', 'LGFL', 'LGSD');

Impacto:

Con la recomendación anterior, solo se capturan inicios de sesión fallidos. Si el objeto de


auditoría es no implementado con la configuración adecuada, SQL Server no capturará
correctamente inicios de sesión, que pueden ser útiles para forenses.

Valor por defecto:

Por defecto, no hay eventos de inicio de sesión de seguimiento de objetos de auditoría.

El conjunto de resultados debe contener 3 filas, una para los siguientes audit_action_names:

• AUDIT_CHANGE_GROUP

• FAILED_LOGIN_GROUP

• SUCCESSFUL_LOGIN_GROUP

Tanto la auditoría como la especificación de auditoría deberían estar habilitadas y el resultado


audited_result debería Incluye tanto el éxito como el fracaso.

También podría gustarte