Escribir eventos de SQL Server Audit en el registro de seguridad
Se aplica a: SQL Server: solo Windows
En un entorno de alta seguridad, el registro de seguridad de Windows es la ubicación adecuada para escribir los eventos que registran el acceso a los objetos. Se admiten otras ubicaciones de auditoría pero están más expuestas a alteraciones.
Hay tres requisitos clave para escribir auditorías de servidor de SQL Server en el registro de seguridad de Windows:
El valor Auditar el acceso a objetos se debe configurar para capturar los eventos. La herramienta de directiva de auditoría (
auditpol.exe
) expone varias configuraciones de subdirectivas en la categoría de acceso a objetos de auditoría. Para permitir que SQL Server audite el acceso a objetos, configure la configuración generada por la aplicación.La cuenta en la que se ejecuta el servicio SQL Server debe tener el permiso generar auditorías de seguridad para escribir en el registro de seguridad de Windows. De forma predeterminada, las cuentas LOCAL SERVICE y NETWORK SERVICE tienen este permiso. Este paso no es necesario si SQL Server se ejecuta en una de esas cuentas.
Proporcione el permiso completo para la cuenta de servicio de SQL Server en el subárbol de registro
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security
.Importante
Una modificación incorrecta del Registro puede provocar daños graves en el sistema. Antes de efectuar cambios en el Registro, es recomendable que realice una copia de seguridad de los datos importantes del equipo.
Limitaciones y restricciones
Una directiva de dominio puede sobrescribir la configuración local del registro de seguridad. En este caso, la directiva de dominio podría sobrescribir la configuración de subcategoría (
auditpol /get /subcategory:"application generated"
). SQL Server no tiene ninguna manera de detectar que los eventos que intenta auditar no se van a registrar.Los eventos se pueden perder si la directiva de auditoría está configurada incorrectamente. La directiva de auditoría de Windows puede afectar a la auditoría de SQL Server si está configurada para escribir en el registro de seguridad de Windows. Por lo general, el registro de seguridad de Windows se establece para sobrescribir los eventos más antiguos. De esta forma se conservan los eventos más recientes. Sin embargo, si el registro de seguridad de Windows no está establecido para sobrescribir eventos anteriores, entonces si el registro de seguridad está lleno, el sistema emite el evento 1104 de Windows (El registro está lleno). En ese punto:
No se registran más eventos de seguridad
SQL Server no puede detectar que el sistema no puede registrar los eventos en el registro de seguridad, lo que da lugar a la posible pérdida de eventos de auditoría
Después de que el administrador corrija el registro de seguridad, el comportamiento de registro volverá a la normalidad.
Los registros de auditoría de SQL Server contienen significativamente más datos que las entradas normales del registro de eventos de Windows. Además, dependiendo de la configuración de la especificación de auditoría, SQL Server puede generar muchos miles de registros de auditoría en un breve período de tiempo (miles por segundo). En períodos de carga alta, esto puede dar lugar a condiciones adversas si los registros de auditoría se escriben en el registro de aplicaciones o en el registro de seguridad.
Estas condiciones adversas pueden incluir:
Ciclo rápido del registro de eventos (los eventos se sobrescriben muy rápidamente a medida que el archivo de registro alcanza su límite de tamaño)
Otras aplicaciones o servicios que leen desde el registro de eventos de Windows pueden verse afectados negativamente
Los administradores pueden no usar el registro de eventos de destino debido a que los eventos se sobrescriben tan rápidamente
Pasos que los administradores pueden realizar para mitigar estas condiciones adversas:
Aumente el tamaño del registro de destino (4 GB no es razonable cuando la especificación de auditoría es muy detallada).
Reduzca el número de eventos que se van a auditar.
Genere los registros de auditoría en un archivo en lugar de los registros de eventos.
Permisos
Debe ser administrador de Windows para configurar estos valores.
Configurar la configuración de acceso a objetos de auditoría en Windows mediante auditpol
Abra un símbolo del sistema con permisos administrativos.
En el menú Inicio, vaya al símbolo del sistema y seleccione Ejecutar como administrador.
Si se abre el cuadro de diálogo Control de cuentas de usuario, seleccione Continuar.
Ejecute la siguiente instrucción para habilitar la auditoría desde SQL Server.
auditpol /set /subcategory:"application generated" /success:enable /failure:enable
Cierre la ventana del símbolo del sistema.
Concesión del permiso para generar auditorías de seguridad a una cuenta mediante secpol
Para cualquier sistema operativo Windows, en el menú Inicio, seleccione Ejecutar.
Escriba
secpol.msc
y, a continuación, seleccione Aceptar. Si aparece el cuadro de diálogo Control de acceso de usuario seleccione Continuar.En la herramienta Directiva de seguridad local, vaya a Configuración de seguridad > Directivas locales > Asignación de derechos de usuario.
En el panel de resultados, abra Generar auditorías de seguridad.
En la pestaña Configuración de seguridad local , seleccione Agregar usuario o grupo.
En el cuadro de diálogo Seleccionar usuarios, equipos o grupos, escriba el nombre de la cuenta de usuario, como domain1\user1 y, a continuación, seleccione Aceptar o seleccione Avanzadas y busque la cuenta.
Seleccione Aceptar.
Cierre la herramienta Directiva de seguridad.
Reinicie SQL Server para habilitar esta configuración.
Configurar la configuración de acceso a objetos de auditoría en Windows mediante secpol
Si el sistema operativo es anterior a Windows Vista o Windows Server 2008, en el menú Inicio, seleccione Ejecutar.
Escriba
secpol.msc
y, a continuación, seleccione Aceptar. Si aparece el cuadro de diálogo Control de acceso de usuario seleccione Continuar.En la herramienta Directiva de seguridad local, vaya a Configuración de seguridad > Directivas locales > Directiva de auditoría.
En el panel de resultados, abra Auditar acceso a objetos.
En la pestaña Configuración de seguridad local , en el área Auditar estos intentos , seleccione Correcto y Error.
Seleccione Aceptar.
Cierre la herramienta Directiva de seguridad.