DBAtlas · Atlas de operaciones de bases de datos

Habilitar auditoría / registro

Oracle

-- Unified Auditing (12c+):
CREATE AUDIT POLICY table_audit
  ACTIONS SELECT, INSERT, UPDATE, DELETE ON hr.employees;
AUDIT POLICY table_audit;
-- Monitoring: SELECT * FROM unified_audit_trail ORDER BY event_timestamp DESC;

Con Unified Auditing, se crea una política y se habilita con AUDIT; los registros se guardan en la vista unified_audit_trail.

PostgreSQL

-- pgaudit extension (recommended; first shared_preload_libraries = 'pgaudit' + restart + CREATE EXTENSION pgaudit):
ALTER SYSTEM SET pgaudit.log = 'write, ddl';
SELECT pg_reload_conf();
-- Simple built-in method:
ALTER SYSTEM SET log_statement = 'ddl';
SELECT pg_reload_conf();

pgaudit proporciona un registro de auditoría detallado; configúrelo con ALTER SYSTEM para aplicarlo a todo el servidor (un SET a nivel de sesión solo audita esa sesión). Sin la extensión, el registro básico se habilita con log_statement ('ddl','mod','all'). Vigile el volumen de log.

MySQL

-- Enterprise/MariaDB audit plugin:
INSTALL PLUGIN audit_log SONAME 'audit_log.so';
SET GLOBAL audit_log_policy = 'ALL';
-- Simple alternative (all queries):
SET GLOBAL general_log = 'ON';

El plugin audit_log (Enterprise, o server_audit en MariaDB) mantiene una pista de auditoría detallada; general_log registra todas las consultas pero degrada el rendimiento.

SQL Server

USE master;
CREATE SERVER AUDIT Audit_A TO FILE (FILEPATH = 'C:\\audit\\');
ALTER SERVER AUDIT Audit_A WITH (STATE = ON);
USE mydb;
CREATE DATABASE AUDIT SPECIFICATION db_spec
  FOR SERVER AUDIT Audit_A
  ADD (SELECT, INSERT, UPDATE, DELETE ON SCHEMA::dbo BY public)
  WITH (STATE = ON);

Primero cree y habilite un destino SERVER AUDIT (archivo/registro de eventos) y luego defina qué eventos rastrear con una AUDIT SPECIFICATION de servidor o de base de datos.

MongoDB

# MongoDB Enterprise / Atlas only. Configuration (mongod.conf):
#   auditLog:
#     destination: file
#     format: JSON
#     path: /var/log/mongodb/audit.json
#     filter: '{ atype: { $in: ["authCheck","createCollection","dropCollection"] } }'
# mongod --auditDestination file --auditPath /var/log/mongodb/audit.json

La auditoría solo está disponible en Enterprise y Atlas; se habilita con la sección auditLog de la configuración de mongod. No existe en la edición Community.

Redis

ACL LOG
# Shows rejected authentication/command/key access attempts.
# To reset: ACL LOG RESET
# For general command auditing: an external proxy or MONITOR (with care).

ACL LOG registra automáticamente los eventos de seguridad (autenticación fallida, comandos/claves no autorizados); la auditoría completa de comandos no viene integrada.

Elasticsearch

# elasticsearch.yml (on all nodes, restart required):
xpack.security.audit.enabled: true
# Optional event filter:
xpack.security.audit.logfile.events.include: [ "authentication_failed", "access_denied" ]

El registro de auditoría se habilita con xpack.security.audit.enabled; se configura en elasticsearch.yml y requiere reiniciar el nodo (no es dinámico). Requiere una licencia comercial.

Abrir en DBAtlas →