Published on

November 12, 2017

Comprendiendo la auditoría en SQL Server 2017

La auditoría es una característica crucial en cualquier aplicación o sistema, ya que proporciona a los administradores mejores capacidades de análisis y solución de problemas. También ayuda a garantizar la responsabilidad, desalentar acciones inapropiadas, ayudar en investigaciones y monitorear actividades específicas en la base de datos. Además, la auditoría ayuda a detectar problemas con la implementación de autorización o control de acceso y garantiza el cumplimiento de los requisitos legales.

En SQL Server, la auditoría ha evolucionado a lo largo de los años. Antes de SQL Server 2008, se utilizaba SQL Profiler como mecanismo de auditoría, pero tenía problemas de rendimiento y no era adecuado para entornos de producción. En SQL Server 2008 y versiones posteriores, se introdujeron opciones de auditoría a medida, mejorando la función de auditoría.

En SQL Server 2017, existen dos configuraciones principales para la auditoría: servidor y base de datos. La auditoría del servidor le permite crear una especificación de auditoría, establecer el retraso de la cola, definir el destino de la auditoría (archivo, registro de aplicaciones o registro de seguridad) y configurar filtros. De forma predeterminada, la auditoría está desactivada y debe habilitarse después de crear la especificación de auditoría.

Aquí hay un ejemplo de cómo crear una auditoría de servidor y habilitarla usando T-SQL:

USE [master]
GO

CREATE SERVER AUDIT [Audit_001] TO FILE (
    FILEPATH = N'C:\AuditData',
    MAXSIZE = 0 MB,
    MAX_FILES = 1000,
    RESERVE_DISK_SPACE = OFF
) WITH (
    QUEUE_DELAY = 1000,
    ON_FAILURE = CONTINUE
)

-- Habilitar la auditoría
ALTER SERVER AUDIT [Audit_001] WITH (STATE = ON)
GO

Una vez creada y habilitada la auditoría del servidor, puede crear auditorías adicionales de servidor o base de datos. Es importante tener en cuenta que la creación de una auditoría específica de la base de datos no requiere crear una especificación de auditoría del servidor. En su lugar, se debe crear la auditoría y luego se puede crear la especificación de auditoría debajo de ella.

Las especificaciones de auditoría del servidor le permiten configurar varios tipos de acciones, como inicio de sesión exitoso, cierre de sesión, inicio de sesión fallido, cambios de contraseña, comandos de copia de seguridad/restauración y más. De forma predeterminada, las auditorías del servidor están desactivadas y deben habilitarse explícitamente.

De manera similar, se pueden crear especificaciones de auditoría de base de datos para eventos específicos como SELECT, UPDATE, INSERT, DELETE, EXECUTE y REFERENCES. Estas especificaciones pueden reemplazar los desencadenadores, que pueden crear problemas de mantenibilidad y rendimiento. Las especificaciones de auditoría de la base de datos también están desactivadas de forma predeterminada y deben habilitarse explícitamente.

Aquí hay un ejemplo de cómo crear una especificación de auditoría de base de datos usando T-SQL:

CREATE DATABASE AUDIT SPECIFICATION [DatabaseAuditSpecification-20171112-224945] FOR SERVER AUDIT [Audit_001]
ADD (DELETE ON DATABASE::[AdventureWorks2012] BY [db_accessadmin]),
    (SELECT ON DATABASE::[AdventureWorks2012] BY [db_accessadmin]),
    (INSERT ON OBJECT::[dbo].[Const] BY [db_accessadmin])
WITH (STATE = ON)
GO

Después de crear auditorías y especificaciones de auditoría, puede verlos en SQL Server Management Studio. El visor permite opciones de ordenación, filtrado y exportación, incluida la capacidad de extraer la auditoría a la base de datos mediante SQL Server Integration Service (SSIS).

La auditoría de SQL Server es una característica poderosa que proporciona a las organizaciones la capacidad de garantizar la responsabilidad, detectar actividades sospechosas y cumplir con los requisitos legales. Al comprender las diferentes opciones y configuraciones de auditoría en SQL Server 2017, los administradores pueden implementar de manera efectiva mecanismos de auditoría para mejorar la seguridad de su aplicación o sistema.

Referencias:

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.