
En esta clase veremos los conceptos en torno a los sistemas de auditorías en bases de datos: objetivo que persigue el registro de auditorías, qué es una pista de auditoría, tipos de sistemas de auditoría, tipos de eventos, alcance, etc.
En esta clase utilizamos el log del servidor para configurar un sistema de auditoría.
Veremos los parámetros del log que nos pueden ayudar a conseguir este objetivo y cómo rescatar del log las pistas de auditoría.
Explicaremos y demostraremos por qué el log del servidor, en su forma nativa, no se debe utilizar como sistema de auditoría.
Esta clase teórica hará un repaso por la definición de un trigger, la creación de una función tipo trigger y las variables que podemos utilizar en ambas estructuras para obtener la información que nos interese.
En esta clase crearemos las estructuras necesarias para conseguir auditar una tabla de nuestra base de datos, con el formato de pista de auditoría de deseado y comprobaremos que realmente es muy sencillo diseñar un sistema de auditoría totalmente personalizado.
Utilizando plproxy podemos llamar a una función de una base de datos remota. Esto nos permitirá tener separados los datos auditados de los datos de auditoría para mayor eficiencia y seguridad.
Vamos a descargar e instalar la contribución audit-trigger 91 plus, un sistema de auditoría basado en triggers, desarrollado por 2ndQuadrant.
Ahora vamos a conocer con más detalles todos y cada uno de los objetos instalados por audit-trigger en nuestra base de datos.
Ha llegado la hora de comenzar a auditar tablas con esta contribución y de comprobar cómo son y cómo se registran las pistas de auditoría en audit-trigger.
En una base de datos relacional, como es el caso de las bases de datos PostgreSQL, a menudo hay relaciones entre los campos de dos tablas. Cuando una relación está definida como ON UPDATE/DELETE CASCADE, la actualización/eliminación de un registro tendrá consecuencias sobre las tablas referenciadas por ella. Si estas tablas se están auditando veremos cómo afecta la forma en que esté definida la auditoría.
Las columnas que se actualizan con frecuencia y no son de interés para la auditoría provocarían que se generase multitud de pistas de auditoría innecesarias si no fuera porque audit-trigger permite indicar una lista de columnas a omitir de la auditoría. Veremos cómo se hace en esta clase.
Omitir columnas evita que se creen pistas de auditoría innecesarias, pero hay que pagar igual el coste de ejecutar el disparador. En esta clase vamos a ver como se puede evitar la ejecución del disparador si la columna modificada está excluida de ser auditada por audit-trigger.
Hablamos en esta clase de pgAudit y sus dos modos de funcionamiento.
Instalamos pgAudit en nuestro servidor e iniciamos la auditoría de una base de datos a nivel de sesión.
La pista de auditoría grabada en el log está escrita en formato CSV. En esta clase describimos todos los campos para saber qué información se recopila en cada pista de auditoría.
Hablamos ahora del juego de parámetros que proporciona pgAudit para ajustar el registro de auditorías a las necesidades particulares de cada base de datos.
Clase práctica en la que configuraremos el registro de auditoría de sesión de varias formas para aprender a configurar el registro de auditoría a través de los parámetros de pgAudit..
En esta clase conoceremos el modo de funcionamiento Object Audit Logging: registrar pistas de auditoría a nivel de objetos.
En esta clase vamos a instalar y configurar PgAudit Analyze, una contribución que leerá del log las pistas de auditoría generadas por pgAudit y las grabará en un esquema de base independiente en la base de datos auditada.
Veremos cómo pgAudit Analyze trabaja conjuntamente con pgAudit para facilitar el registro de pistas de auditoría adecuadas para cada base de datos.
Los medios y las herramientas para que PostgreSQL pueda producir pistas de auditoría es lo que aprenderemos en este curso, además de conocer el alcance de cada una de ellas para configurarlas de manera adecuada.
El principal objetivo de registrar auditorías en bases de datos es proporcionar la información necesaria, en un formato adecuado, para cumplir con requerimientos empresariales, gubernamentales, de certificación, etc.
Es labor del DBA establecer mecanismos en el servidor PostgreSQL que permita la recopilación de pistas de auditoría y en este curso conoceremos dos tipos de auditorías: auditorías basadas en el log y auditorías basadas en triggers.
Veremos cómo registrar pistas de auditoría usando el sistema de log nativo de PostgreSQL, demostrando de una forma práctica por qué no es recomendable. Aprenderemos a instalar y utilizar la contribución audit-trigger 91 plus como una muy buena opción de registro de auditorías basada en triggers.
Instalaremos y configuraremos pgAudit, una extensión de PostgreSQL que registra pistas e auditorías en el log de forma efectiva y eficiente. Y pgAudit Analyze, una contribución para trabajar de la mano con pgAudit, que mejora sus características.
Y además, basándonos de nuevo en disparadores, aprenderemos a crear nuestro propio sistema de registro de auditorías, totalmente personalizado para que se ajuste exactamente a las necesidades particulares de nuestro negocio y conseguiremos que las auditorías se registren en una base de datos remota para preservarla de manipulaciones.