Salta el contingut
 

Exercici: Auditoria

Joan Puigcerver Ibáñez

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Enunciat

Aquests exercicis estan dissenyats per ajudar-te a practicar conceptes bàsics d'auditoria a PostgreSQL.

Important

  • Revisa el fitxer de registre del servidor (log_directory) després de cada exercici per comprovar que les operacions queden registrades.
  • Alguns exercicis requereixen l'extensió pgAudit instal·lada i carregada (shared_preload_libraries).

Exercici 1: Auditoria de sessions

Abans de començar, crea l'usuari admin i dona-li permisos d'administració de la base de dades.

  1. Activa log_connections i log_disconnections a postgresql.conf i recarrega la configuració.
  2. Inicia sessió amb l'usuari admin correctament, i comprova al registre del servidor que apareix l'entrada corresponent.
  3. Intenta iniciar sessió amb l'usuari admin i una contrasenya incorrecta, i localitza l'error al registre.

Exercici 2: Auditoria a nivell d'objecte amb pgAudit

  1. Crea un usuari anomenat rrhh amb els permisos necessaris per iniciar sessió i crear taules.
  2. Crea una taula anomenada empleats amb les següents columnes:

    • id (SERIAL, clau primària)
    • nom (VARCHAR(100))
    • salari (NUMERIC)
    • departament (VARCHAR(100))
  3. Crea un rol auditor (NOLOGIN) amb permisos d'INSERT i DELETE sobre empleats, i configura pgaudit.role perquè audite eixes operacions.

  4. Connectat com a rrhh, insereix i elimina algun registre, i comprova al registre del servidor que les operacions han quedat auditades.

Exercici 3: Auditoria de gra fi amb triggers

PostgreSQL no disposa d'una eina de Fine Grained Auditing integrada; la manera habitual d'auditar amb condicions específiques és mitjançant triggers (vore Triggers).

  1. Crea una taula audit_empleats per registrar canvis de salari (emp_id, salari_anterior, salari_nou, data).
  2. Crea un trigger que, quan s'actualitze el salari d'un empleat de la taula empleats a un valor superior a 5000, inserisca una fila a audit_empleats.
  3. Comprova el funcionament actualitzant el salari d'algun empleat.

Crea una vista que sols mostre la columna nom dels empleats del departament Admin, i configura pgAudit (rol + pgaudit.role) per auditar les consultes SELECT que s'hi facen

Exercici 4: Auditoria basada en rols

Crea el rol administracio i afegeix-hi l'usuari rrhh com a membre.

Configura pgAudit per auditar, a través del rol administracio, les operacions següents sobre la taula rrhh.empleats:

  • Creació i eliminació de taules.
  • Consulta de dades.
  • Modificació de dades.

Revisa el registre del servidor per a localitzar les entrades corresponents, i identifica quines correspondrien a intents fallits (per exemple, per manca de permisos).

📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.