Cómo escribir eventos de auditoría de servidor en el registro de seguridad
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 dos requisitos clave para escribir las auditorías del servidor SQL Server en el registro de seguridad de Windows:
El valor Auditar el acceso a objetos se debe configurar para capturar los eventos. La mejor manera de hacer esto depende del sistema operativo.
En Windows Vista y Windows Server 2008, utilice la herramienta de directiva de auditoría (auditpol.exe). El programa de directiva de auditoría expone diversos valores de subdirectivas en la categoría auditar el acceso a objetos. Para permitir que SQL Server audite el acceso a los objetos, configure el valor Aplicación generada.
En las versiones anteriores de Windows, la herramienta de directiva de auditoría no está disponible. Utilice en su lugar el complemento de directiva de seguridad (secpol.msc). Cuando está disponible, se prefiere la directiva de auditoría porque puede configurar valores más específicos.
La cuenta en la que el servicio SQL Server se esté ejecutando 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. No se requiere este paso si SQL Server se está ejecutando en alguna de esas cuentas.
La directiva de auditoría de Windows puede afectar a la auditoría de SQL Server si se configura para escribir en el registro de seguridad de Windows, con la posibilidad de perder eventos si la directiva de auditoría se configura incorrectamente. 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 se establece para sobrescribir los eventos más antiguos, entonces, si el registro de seguridad se llena, el sistema emitirá el evento 1104 de Windows (el registro está lleno). En ese punto:
No se registrará ningún evento de seguridad más
SQL Server no podrá detectar que el sistema no puede grabar eventos en el registro de seguridad, lo que provoca 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 administradores del equipo de SQL Server deberían saber que una directiva de dominio puede sobrescribir la configuración regional del registro de seguridad. En este caso, la directiva de dominio podría sobrescribir el valor de subcategoría (auditpol /get /subcategory: "application generated"). Esto puede afectar a la capacidad de SQL Server de registrar los eventos sin que haya ninguna manera de detectar que los eventos que SQL Server está intentando auditar no van a ser grabados.
Debe ser administrador de Windows para configurar estos valores.
Para configurar el valor Auditar el acceso a objetos en Windows utilizando auditpol
Si el sistema operativo es Windows Vista o Windows Server 2008, abra un símbolo del sistema con permisos administrativos.
En el menú Inicio, seleccione sucesivamente Todos los programas y Accesorios, haga clic con el botón secundario en Símbolo del sistema y, a continuación, haga clic en Ejecutar como administrador.
Si se abre el cuadro de diálogo Control de cuentas de usuario, haga clic en Continuar.
Ejecute la instrucción siguiente para habilitar la auditoría de SQL Server.
auditpol /set /subcategory:"application generated" /success:enable /failure:enable
Cierre la ventana del símbolo del sistema.
Esta configuración surte efecto de forma inmediata.
Para configurar el valor Auditar el acceso a objetos en Windows utilizando secpol
Si el sistema operativo es anterior a Windows Vista o Windows Server 2008, en el menú Inicio, haga clic en Ejecutar.
Escriba secpol.msc y, a continuación, haga clic en Aceptar. Si aparece el cuadro de diálogo Control de cuentas de usuario, haga clic en Continuar.
En la herramienta Directiva de seguridad local, expanda Configuración de seguridad, expanda Directivas locales y, a continuación, haga clic en Directiva de auditoría.
En el panel de resultados, haga doble clic en Auditar el acceso a objetos.
En la ficha Configuración de seguridad local, en el área Auditar estos intentos, seleccione Correcto y Error.
Haga clic en Aceptar.
Cierre la herramienta Directiva de seguridad.
Esta configuración surte efecto de forma inmediata.
Para conceder el permiso Generar auditorías de seguridad a una cuenta utilizando secpol
En cualquier sistema operativo Windows, en el menú Inicio, haga clic en Ejecutar.
Escriba secpol.msc y, a continuación, haga clic en Aceptar. Si aparece el cuadro de diálogo Control de cuentas de usuario, haga clic en Continuar.
En la herramienta Directiva de seguridad local, expanda Configuración de seguridad, expanda Directivas locales y, a continuación, haga clic en Asignación de derechos de usuario.
En el panel de resultados, haga doble clic en Generar auditorías de seguridad.
En la ficha Configuración de seguridad local, haga clic en Agregar usuario o grupo.
En el cuadro de diálogo Seleccionar usuarios, equipos o grupos, escriba el nombre de la cuenta de usuario, como dominio1\usuario1 y, a continuación, haga clic en Aceptar, o haga clic en Opciones avanzadas y busque la cuenta.
Haga clic en Aceptar.
Cierre la herramienta Directiva de seguridad.
Esta configuración surte efecto cuando se reinicia SQL Server.