Compartir a través de


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:

    1. Aumente el tamaño del registro de destino (4 GB no es razonable cuando la especificación de auditoría es muy detallada).

    2. Reduzca el número de eventos que se van a auditar.

    3. 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

  1. Abra un símbolo del sistema con permisos administrativos.

    1. En el menú Inicio, vaya al símbolo del sistema y seleccione Ejecutar como administrador.

    2. Si se abre el cuadro de diálogo Control de cuentas de usuario, seleccione Continuar.

  2. Ejecute la siguiente instrucción para habilitar la auditoría desde SQL Server.

    auditpol /set /subcategory:"application generated" /success:enable /failure:enable
    
  3. Cierre la ventana del símbolo del sistema.

Concesión del permiso para generar auditorías de seguridad a una cuenta mediante secpol

  1. Para cualquier sistema operativo Windows, en el menú Inicio, seleccione Ejecutar.

  2. Escriba secpol.msc y, a continuación, seleccione Aceptar. Si aparece el cuadro de diálogo Control de acceso de usuario seleccione Continuar.

  3. En la herramienta Directiva de seguridad local, vaya a Configuración de seguridad > Directivas locales > Asignación de derechos de usuario.

  4. En el panel de resultados, abra Generar auditorías de seguridad.

  5. En la pestaña Configuración de seguridad local , seleccione Agregar usuario o grupo.

  6. 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.

  7. Seleccione Aceptar.

  8. Cierre la herramienta Directiva de seguridad.

  9. Reinicie SQL Server para habilitar esta configuración.

Configurar la configuración de acceso a objetos de auditoría en Windows mediante secpol

  1. Si el sistema operativo es anterior a Windows Vista o Windows Server 2008, en el menú Inicio, seleccione Ejecutar.

  2. Escriba secpol.msc y, a continuación, seleccione Aceptar. Si aparece el cuadro de diálogo Control de acceso de usuario seleccione Continuar.

  3. En la herramienta Directiva de seguridad local, vaya a Configuración de seguridad > Directivas locales > Directiva de auditoría.

  4. En el panel de resultados, abra Auditar acceso a objetos.

  5. En la pestaña Configuración de seguridad local , en el área Auditar estos intentos , seleccione Correcto y Error.

  6. Seleccione Aceptar.

  7. Cierre la herramienta Directiva de seguridad.

Consulte también