Exercici: Encriptació
(Reconeixement - NoComercial - CompartirIgual) 🅭
Exercici: Encriptació
Aquests exercicis estan dissenyats per ajudar-te a practicar conceptes bàsics d'encriptació
i desencriptació a PostgreSQL.
Exercici 1: pgcrypto
- Habilita l'extensió
pgcrypto a la base de dades.
-
Crea una taula anomenada clients amb les següents columnes:
id (SERIAL, clau primària)
nom (VARCHAR(100))
tarjeta_credit (BYTEA)
contrasenya (TEXT)
-
Insereix un registre a la taula clients amb:
- Un nom.
- Una targeta de crèdit encriptada amb
pgp_sym_encrypt.
- Una contrasenya emmagatzemada amb
crypt i gen_salt.
Tria el millor mètode d'encriptació segons les necessitats de seguretat de cada camp. Justifica la teua elecció.
-
Escriu una consulta per validar que una contrasenya proporcionada coincideix o no amb la del client.
- Escriu una consulta per consultar (desencriptar) la targeta de crèdit del client.
Exercici 2: Connexions xifrades i encriptació de columnes
Configura PostgreSQL per exigir connexions xifrades amb SSL/TLS.
- Genera (o utilitza) un certificat i clau per al servidor, i activa
ssl a postgresql.conf.
- Configura
pg_hba.conf perquè les connexions remotes utilitzen el tipus hostssl.
- Comprova, des d'una sessió connectada, que la connexió utilitza SSL (vista
pg_stat_ssl).
Comprova què ocorre si et connectes amb sslmode=disable una vegada pg_hba.conf exigeix hostssl
- Crea un usuari anomenat
secure_user amb els permisos necessaris per crear taules.
- Crea una taula anomenada
treballadors amb les següents columnes:
id (SERIAL, clau primària)
nom (VARCHAR(100))
salari (BYTEA) encriptat amb pgp_sym_encrypt.
- Insereix algun registre i comprova que la columna
salari no es pot llegir en clar directament.
- Escriu una consulta que desencripte el
salari dels treballadors.
Investiga si és possible xifrar el directori de dades sencer (a nivell de sistema de fitxers) i quins avantatges/inconvenients té respecte a xifrar només algunes columnes
📌 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.