Introducción a conceptos de SQL Server Secure Enclaves
Auditoría en SQL Server 2012
1. Auditoría en Microsoft
SQL Server 2012
Ing. Eduardo Castro, PhD
Microsoft SQL Server MVP
ecastro@grupoasesor.net
2. Agenda
• Qué ha cambiado desde SQL Server 2008?
• Cómo se afecta el desempeño?
• Se puede poteger el Audit log del DBA?
• Qué pasa si falla el Audit Log?
• Qué pasa si el servidor no inicia debido al SQL Server Audit?
• Qué otras cosas debo haceer?
5. Mejoras SQL Server Audit
Soporte en todos los SKUs
Mejor Resilience
User-Defined Audit Event
Record Filtering
T-SQL Stack Information
6. Audit en todos los SKUs
• Audit básico en todos los SKUs
– Server Audit Specs only
– DB Audit Specs for Enterprise
• No necesita SQLTrace
• Ventajas de SQL Audit
– Desempeño
– Múltiples audits y múlitples destinos
– Estado persitente
– Audit Resilience
SQL Server
Express
6
7. Resilience Mejorado
• Antes:
– Fallan las escrituras se puede perder auditoría
– Use ON_FAILURE = SHUTDOWN
• Ahora:
– Recuperación automática del archivo más reciente o de errors de red
– Agregado “ON_FAILURE = FAIL_OPERATION”
– Agregado “MAX_FILES” option
Select…
Rollback
7
8. T-SQL Stack Information
select salary from
exec hr.viewsalary hr.payroll
hr.viewsalary hr.payroll
Audit Log
16. Desempeño del Audit
• Depende :
– La carga de trabajo
– Qué está siendo auditado
• Comparación de SQL Server Audit con SQL Trace para 5 cargas de trabajo
típicas
Workload 1 Workload 2 Workload 3 Workload 4 Workload 5
• 11 dbs, ranging from • 2 dbs ranging from 64 • 3 dbs ranging from • 1 db at 3235.75 MB • 1 db at 174.94 MB
1.94 MB to 1812.5 MB to 423.88 MB 1.94 MB to 1059.63 • 84 tables with • 152 tables with
MB. • 35 tables with MB average of 144,245 average of 4,108 rows
• 755 tables with average of 49,141 • 154 tables with rows • 296,642 stmts
average of 2761 rows rows average of 586 rows, • 3,435,303 stmts executed.
• 1,219,234 stmts • 1,633,557 stmts Here is the activity executed.
executed. executed • 585,400 stmts
executed
17. SQL Server Audit vs SQL Trace
Desempeño de cargas de trabajo
Base Time (minutes) SQL Trace (minutes) SQL Server Audit (minutes)
101.9
76.6
68.1
63.4
55.9
41.3
13.3 15.9 14.1
5.1 6.3 5.6 3.6 4.78 4
Workload 1 Workload 2 Workload 3 Workload 4 Workload 5
20. Proteger el Audit Data
Windows Security Log
• “Tamper-proof” log
• DBA no puede limpiar el log si no es administrador
• System Center Operations Manager Audit Collection Service
Copiar los Audit logs a un lugar seguro
• Directorio compartido que el DBA no tiene permisos
• Audit logs no se puede leer mientras están activos
Combinación de los dos
• Auditar “tamper activity” al Security Log, e.g., DBA modifica el Audit
• Los otros Audit van a archivos
23. Audit Write Failure (Shutdown)
• Server se apaga
• Se pierden eventos de Audit
24. Audit Write Failure (Continue)
Audit Events Buffered
• El tamaño de buffer es de 4MB (equivalente a 170 eventos
Buffer
filled
Servidor bloquea nuevas actividades que generan un Audit
Event
• No afecta otros Audits
• Bloquea hasta que se libera el buffer o puede escrbir el audit
System
error
Audit Session Turned Off
• Se limpiar el buffer se se genera un errorlog
• Continua tratando de escribir en el Audit log
• Trata iniciar automáticamente el Audit
25. Qué si el servidor no puede iniciar
debido al SQL Server Audit?
27. Iniciar el servidor
• Corregir el error
Opcion 1 • E.g., file system full
• Single-user mode, “-m”
• Desactivar la opción shutdown-on-failure
Opcion 2 • Audit Admin puede cambiar el Audit configuration
• Minimal configuration mode, “-f”
Opcion 3 • Deshabilitar el Audit pero Audit DDL todavía está activo.
• Si “Fail Operation” y “AUDIT_ CHANGE_GROUP”, utilice DAC connection
Bono • Audit event se generan per sin fallar la operación
30. Qué debe considerar
• Consultas parametrizadas
• Auditar Sesiones de Xevent puede no ser manuladas por Xevent
DDL
• Los Audit Logs no son encriptados o compresos
• Audit event son disparados con revisión de permisos
• Es más rápido escribir en archivos que en el event log
• No se audit los result sets
31. Qué debe considerar
• Tanto Audit y Audit Specifications tiene parámetros de STATE.
– Puede cambiar el estado solo fuera de una transacción de
usuario.