Ubunlog David Naranjo  

PostgreSQL Anonymizer, una extensión para enmascarar información en PostgreSQL

Se acaba de anunciar el lanzamiento de la nueva versión del proyecto PostgreSQL Anonymizer 0.6, el cual se posiciona como una excelente opción que proporciona una adición al PostgreSQL DBMS, que resuelve el problema de ocultar o reemplazar datos o información confidencial que es un secreto comercial.

Los datos pueden ocultarse sobre la marcha en función de reglas y listas especialmente definidas de usuarios cuyas respuestas a las solicitudes deben ser anonimizadas.

Por ejemplo, utilizando el complemento en cuestión, puede proporcionar acceso a la base de datos a terceros, por ejemplo, servicios de inteligencia de negocios de terceros cortando automáticamente datos para ellos, como números de teléfono y tarjetas de crédito o utilizando métodos más sofisticados, como cambiar los nombres de clientes y empresas a información ficticia.

Además de realizar el anonimato cuando se conecta directamente al DBMS, hay un modo para crear volcados de SQL anonimizados (se propone la utilidad pg_dump_anon).

PostgreSQL Anonymizer extiende PostgreSQL DDL (Lenguaje de definición de datos) y le permite definir una estrategia de anonimato en el nivel de esquema que define la estructura de la tabla.

Se proporciona un gran conjunto de funciones para procesar los datos que se reemplazarán: aleatorización, reemplazo con valores ficticios, codificación parcial, barajado, ruido, etc.

La extensión admite 3 estrategias de anonimato diferentes: enmascaramiento dinámico, anonimización en el lugar y volcados anónimos.

También ofrece una gran variedad de funciones de enmascaramiento : sustitución, aleatorización, falsificación, seudonimización, codificación parcial, barajado, adición de ruido y generalización.

Las funciones de seudonimización son similares a las funciones de falsificación en el sentido de que generan valores realistas. La principal diferencia es que la seudonimización es determinista: las funciones siempre devolverán el mismo valor falso.

¿Que hay de nuevo en PostgreSQL Anonymizer 0.6?

La nueva versión agrega funciones para identificadores, así como un modo de seudonimización que le permite generar valores ficticios realistas vinculados a los datos de origen.

Además, es posible observar la plataforma abierta desarrollada por Microsoft para detectar fugas de información confidencial de Presidio.

La plataforma permite identificar o eliminar información en documentos, textos e imágenes que contienen datos personales y confidenciales, como nombre completo, números de teléfono, correo electrónico, números de tarjetas de crédito, billeteras, direcciones, números de pasaporte, datos financieros, etc.

Se admite el procesamiento de varios repositorios (desde Amazon S3 a PostgreSQL) y formatos. El código está escrito en Go (hay una opción en Python) y se distribuye bajo la licencia MIT.

¿Cómo instalar PostgreSQL Anonymizer?

Para quienes estén interesados en poder instalar o probar esta utilidad, primero deben de instalar las siguientes librerías postgresql-devel o postgresql-server-dev.

Posterior a ello contamos con varios métodos para poder instalar la utilidad en nuestro sistema. El primer método que podemos utilizar es realizando la compilación como si se tratara de otra extensión más.

Para ello debemos de obtener el código fuente desde el siguiente enlace. Posterior a ello vamos a descomprimir el paquete y vamos a realizar la compilación con:

make extension
sudo make install

Hecho esto, ahora vamos a añadir la extensión a las bibliotecas precargadas de la base de datos:

ALTER DATABASE foo SET session_preload_libraries='anon';

Declaramos la extensión y cargamos los datos:

CREATE EXTENSION anon CASCADE;
SELECT anon.load();

Otro método para instalar esta utilidad es con ayuda de Docker, por lo que para poder realizar la instalación con este método debemos de contar con Docker ya instalado y ejecutándose en el sistema.

Para poder instalar la imagen simplemente debemos teclear el siguiente comando:

docker pull registry.gitlab.com/dalibo/postgresql_anonymizer

Y podremos ejecutar el contenedor con el siguiente comando:

docker run -d --name anon -p 6543:5432 
registry.gitlab.com/dalibo/postgresql_anonymizer

Conectamos:

 psql -h localhost -p6543 -U postgres

La extensión ya está cargada, puede usarla directamente:

 SELECT anon.partial_email('daamien@gmail.com');
partial_email
-----------------------
da******@gm******.com
(1 row)

Adicionalmente a estos métodos, para aquellos que utilizan servidores o cuentan con RHEL o CentOS instalado, pueden instalar esta extensión de una forma bastante sencilla.

Basta con simplemente teclear el siguiente comando:

yum install postgresql_anonymizer12

Finalmente, si quieres conocer más al respecto o quieres consultar la documentación y ejemplos de uso. Puedes consultar todo esto y más en el siguiente.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.