Auditar una base de datos Oracle puede no ser una tarea sencilla, pero tampoco es demasiado difícil. Oracle incluye todo lo necesario de forma gratuita. Solo necesitas saber cómo integrar los componentes, y esta guía te mostrará el proceso, explicándote todo lo que necesitas saber.
Los Cuatro Pilares de la Auditoría de Bases de Datos
Para crear un registro de auditoría eficaz, debes considerar cuatro tipos esenciales de actividad de la base de datos:
| Tipo de Actividad | Lo Que Rastrea | Por Qué Es Importante |
|---|---|---|
| Sesiones | LOGON / LOGOFF | Identifica cuándo y desde dónde se conectan los usuarios. |
| DDLs | Cambios en la configuración, el esquema, los usuarios y los permisos (CREAR, MODIFICAR, ELIMINAR). | Cierra el ciclo del proceso de control de cambios. |
| DMLs | Modificaciones de datos (INSERTAR, ACTUALIZAR, ELIMINAR) | Defensa principal contra cambios de datos no autorizados. |
| Consultas | Recuperación de datos (SELECT) | Defensa primaria contra el robo de datos. |

Nota sobre el seguimiento de cambios de datos (imágenes antes/después): Si necesita ver los valores exactos de los datos que cambiaron (los valores antiguos y nuevos), debe ir más allá de la auditoría básica y utilizar disparadores o LogMiner (el enfoque más recomendable). Por ejemplo, si suma 1 a una columna completa, estos mecanismos registrarán los valores de cada fila de la columna antes y después de la actualización. Sin embargo, el seguimiento de cambios de datos queda fuera del alcance de este artículo.
Para capturar estos cuatro pilares de forma nativa, Oracle ha proporcionado históricamente varios marcos de trabajo distintos: Auditoría tradicional, Auditoría detallada (FGA) y Auditoría SYS. Sin embargo, todos presentan deficiencias importantes, como la incapacidad de la auditoría tradicional para auditar la cuenta SYS. La mejor manera de obtener una cobertura completa es utilizar el mecanismo más reciente de Oracle: Auditoría unificada, que es estándar desde Oracle 12c.
Cómo Elegir Qué Auditar
Cualquier auditoría nativa conlleva una sobrecarga de rendimiento significativa. El primer desafío es determinar qué registrar exactamente para que esta sobrecarga se mantenga dentro de los parámetros aceptables del sistema.
Hay cuatro actividades principales que probablemente desee auditar:
- Sesiones: Registra todos los inicios y cierres de sesión de la base de datos.
- DDL: Realiza un seguimiento de las modificaciones del esquema estructural.
- Administradores de bases de datos (DBA): Supervisa todas las acciones ejecutadas por las cuentas con el rol de DBA.
- Acceso a tablas sensibles: Audita las consultas y modificaciones en tablas críticas (por ejemplo, los registros de empleados o financieros).

El paquete descargable incluye el script audit.sql, un script de ejemplo que crea estas cuatro políticas de auditoría principales mediante Oracle Unified Auditing. Solo tendrá que ajustar los nombres de las tablas confidenciales que desee auditar, ya que está preconfigurado para auditar la tabla HR.EMPLOYEES.
El impacto que estas políticas tendrán en el rendimiento depende completamente del perfil de actividad de su base de datos. En particular, la auditoría del acceso a tablas confidenciales suele tener el mayor impacto en el rendimiento.
Consejo: Es posible ajustar estas políticas, por ejemplo, excluyendo al usuario de la aplicación de la política de acceso a tablas confidenciales. Esta exclusión puede reducir significativamente el volumen de actividad auditada y disminuir drásticamente el impacto en el rendimiento. Sin embargo, verifique esto primero, ya que excluir la cuenta de la aplicación podría ser incompatible con sus requisitos de cumplimiento o seguridad.
Solución al Problema del Almacenamiento Para el Cumplimiento Normativo
Una vez que las políticas están activas, la Auditoría Unificada comienza a escribir registros en una tabla interna segura dentro de la base de datos. Si bien esto es técnicamente conveniente y razonablemente seguro, infringe una norma fundamental de cumplimiento: los datos de auditoría deben almacenarse en un servidor independiente.
Casi todos los marcos regulatorios exigen que los registros de auditoría no residan en la máquina auditada. El temor es simple: un administrador malintencionado podría eliminar el registro de auditoría local para ocultar sus huellas.
La solución más sencilla, que no requiere herramientas adicionales, es crear un servidor de auditoría centralizado utilizando las funciones integradas de la base de datos.

La arquitectura:
- Cree una instancia de Oracle independiente y altamente segura, dedicada exclusivamente a los datos de cumplimiento. El acceso a este servidor e instancia debe estar estrictamente restringido.
- Cree un enlace de base de datos (DB Link) desde este servidor de auditoría central a sus bases de datos de producción.
- Programe una tarea periódica de base de datos (que se ejecute cada 5, 10 o 60 minutos) en el servidor central. Esta tarea consulta la vista UNIFIED_AUDIT_TRAIL en la instancia de producción a través del enlace de base de datos, extrae los nuevos registros y los escribe en una tabla local.
- Una vez que los datos se hayan copiado de forma segura fuera del servidor, puede purgar los registros locales de la instancia de producción mediante el procedimiento DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL.
Esto satisface los requisitos de cumplimiento al garantizar que los registros se muevan completamente fuera del servidor de producción en un período razonable y casi en tiempo real.
Automatizar los Informes
Recopilar datos es más de la mitad de la batalla, pero aun así hay que entregar informes periódicos. Puede utilizar una solución de informes o utilizar los scripts de informes PHP en nuestro paquete de descarga. Estos scripts utilizan el conector PHP Oracle OCI para ejecutar SQL en el repositorio y generar informes HTML.
Simplemente ingrese los detalles de conexión de la base de datos de su servidor de auditoría en la parte superior del script oracle_report.php y, si es necesario, actualice los SQL en el script myreport.php. Cuando se ejecutan, los scripts consultan sus tablas de auditoría y crean un informe por tipo de política (sesiones, DDL, DBA y tablas confidenciales). Los scripts de informes generan un archivo de informe HTML limpio y legible por humanos que puede archivarse o enviarse automáticamente por correo electrónico a su equipo de seguridad.
Limitaciones del DIY: ¿Cuándo es el Momento de Graduarse?
Si implementa el modelo anterior, tendrá un sistema de auditoría de bases de datos funcional y compatible sin gastar un centavo en licencias de software. Para muchos entornos pequeños o bases de datos con cargas de trabajo predecibles y de bajo volumen, esta opción de bricolaje es totalmente viable.
Sin embargo, al intentar escalar esta arquitectura, eventualmente se encontrará con tres obstáculos importantes inherentes a la auditoría nativa de bases de datos:
El Obstáculo del Rendimiento (Sobrecarga)
Este es el mayor obstáculo en la auditoría nativa. Cada vez que un usuario ejecuta una instrucción SQL, el motor de la base de datos debe evaluar sus políticas de auditoría y escribir una entrada en la tabla de auditoría. Si está auditando consultas en tablas de aplicaciones con mucha actividad, esta sobrecarga puede degradar gravemente el rendimiento de la base de datos.
Elegir qué auditar implica un constante equilibrio entre la seguridad y los requisitos operativos de producción. Un exceso de auditoría ralentiza la producción o la paraliza por completo. Una auditoría insuficiente puede hacer que se pasen por alto indicadores críticos de una brecha de seguridad, permitiendo potencialmente que actores maliciosos roben datos silenciosamente durante años.
Tarde o temprano, este equilibrio se rompe. Las exigencias mínimas de cumplimiento y seguridad chocan inevitablemente con los recursos informáticos disponibles de una base de datos en constante crecimiento.
Falta de Escalabilidad, Análisis Forense, Detección de Anomalías y Bloqueo
El enfoque de «hágalo usted mismo» no ofrece la mejor seguridad posible. Se trata de un producto mínimo viable. Es simplemente lo mínimo indispensable para cumplir con los requisitos de los auditores.
Este marco carece de la potencia necesaria para procesar y almacenar grandes volúmenes de actividad empresarial durante largos periodos de retención. También carece de las capacidades forenses necesarias para investigar eventos o de un análisis forense proactivo que permita visualizar los perfiles de actividad. No puede identificar comportamientos anómalos ni alertar sobre cambios repentinos en los patrones de comportamiento. Finalmente, carece de capacidades preventivas, como impedir que un administrador de bases de datos acceda a datos confidenciales.
Mantenimiento y Fatiga del Script
A medida que su entorno crece más allá de un puñado de bases de datos, la complejidad operativa de administrar este tipo de bricolaje se vuelve demasiado costosa. Con el tiempo, también esperará obtener mucho más valor de seguridad de su inversión de tiempo que simplemente mantener contentos a los auditores.
Por Qué las Organizaciones Se Gradúan en Auditoría Comercial
La importante inversión de tiempo, los resultados mínimos y la constante fricción operativa son exactamente las razones por las que los equipos empresariales eventualmente pasan de los scripts de bricolaje a soluciones de control de actividades como Core Audit.
Una plataforma comercial adecuada elimina por completo estas limitaciones al cambiar la forma en que se capturan y procesan los datos.
| Auditoría DIY | Core Audit | |
|---|---|---|
| Captura | El motor de base de datos registra la actividad, lo que provoca la limitación del rendimiento. Las razones: recopilar de forma síncrona toda la información necesaria (el usuario, el programa, etc.) y escribirla en el disco utilizando el motor de base de datos transaccional. | Un agente ligero que captura la misma actividad del motor SQL, pero sin la sobrecarga. La razón: la información se copia a búferes de memoria y se envía de forma asíncrona fuera del servidor. La correlación, el procesamiento y el registro se realizan fuera de banda en el servidor de auditoría. |
| Procesamiento | Almacene la actividad en tablas de Oracle y procésela utilizando scripts PHP personalizados. | Motores de almacenamiento e informes personalizados diseñados para escalar a miles de millones de actividades al mes. Además, vaya más allá de una simple casilla de verificación de cumplimiento mediante la detección de anomalías, alertas e inteligencia forense avanzada para transformar la seguridad de la base de datos en una iniciativa de seguridad estratégica y proactiva. |
| Cumplimiento | Se han implementado políticas de auditoría cuidadosamente gestionadas para minimizar los gastos generales, enlaces a bases de datos y tareas para copiar datos fuera del servidor, y scripts PHP para generar informes. | Integrado. Captura y envía automáticamente toda la actividad fuera del servidor con un bajo consumo de recursos. Aprovecha los asistentes dedicados, un motor de informes y un programador que enviará automáticamente los informes. |
En resumen: explore todas las opciones disponibles. Utilice nuestros scripts de implementación, configure su repositorio central y compruebe si cumple con sus requisitos de rendimiento y cumplimiento normativo. Sin embargo, si el mantenimiento de los scripts se vuelve engorroso, el rendimiento de la base de datos se resiente o necesita mayor seguridad, tenga en cuenta que las tecnologías empresariales para dar el siguiente paso están a su disposición.





