Email

La seudonimización y tú: cómo optimizar la protección de datos

Reducir el riesgo de filtraciones de datos es importante, pero no tiene por qué ser complicado. La seudonimización es un excelente primer paso en la dirección correcta.
Imagen para La seudonimización y tú: cómo optimizar la protección de datos

Todo el mundo odió el apocalipsis de los emails sobre políticas de privacidad, empresas incluidas. No porque algunos de sus emails fueran directamente al spam, sino porque muchas empresas tuvieron que revisar sus medidas de seguridad. Renovar las medidas de seguridad puede ser un fastidio, pero perder un montón de información personal es, sin duda, lo peor.

¿Qué podemos hacer?

Las empresas pueden reducir el riesgo de robo de información si implementan las prácticas adecuadas para la protección de datos, y algunas son bastante sencillas de adoptar. Un método que nos gusta mucho es la seudonimización, que es una forma elegante de referirse al camuflaje de datos confidenciales. La seudonimización reemplaza la información identificativa de un registro de datos con identificadores falsos (seudónimos), lo que dificulta el rastreo de cualquier punto de datos específico. Si lo piensas bien, es un poco como ese Myspace falso que tenías en 2007.

Suena complicado, ¿por qué hacerlo?

Lo bueno de la seudonimización es que son los mismos datos solo que bajo un nombre ficticio o, en este caso, una cadena de caracteres muy larga. Aunque ningún sistema de protección es suficiente por sí solo, combinarlo con otras prácticas como el cifrado, el hashing o la tokenización ayuda a reducir el riesgo de reidentificación. Aplicar la seudonimización a tus datos es relativamente sencillo y hay más de una forma de lograrlo. En este ejemplo analizaremos el complemento de filtro Fingerprint de Logstash, pero también puedes probar un script de archivo genérico usando un complemento de filtro de Ruby si el anterior no te funciona. Ambos métodos enmascaran los campos de nombre de usuario e IP, ¡así que tenlo en cuenta!

Implementación de la seudonimización

Antes de empezar, tómate un Mountain Dew porque nada te hace sentir más como un genio de la informática que elegir un refresco cuestionable. Una vez que hayas abierto esa lata bien fría, descarga los archivos del repositorio a un directorio local. Aquí tienes algo de código de GitHub que facilita la descarga de los archivos de forma individual:

                                

                                    curl -O https://raw.githubusercontent.com/elastic/examples/master/Miscellaneous/gdpr/pseudonymization/docker-compose.ymlrnrncurl -O https://raw.githubusercontent.com/elastic/examples/master/Miscellaneous/gdpr/pseudonymization/logstash_fingerprint.confrnrncurl -O https://raw.githubusercontent.com/elastic/examples/master/Miscellaneous/gdpr/pseudonymization/logstash_script_fingerprint.confrnrncurl -O https://raw.githubusercontent.com/elastic/examples/master/Miscellaneous/gdpr/pseudonymization/pipelines.ymlrnrncurl -O https://raw.githubusercontent.com/elastic/examples/master/Miscellaneous/gdpr/pseudonymization/pseudonymise.rbrnrncurl -O https://raw.githubusercontent.com/elastic/examples/master/Miscellaneous/gdpr/pseudonymization/Dockerfilernrncurl -O https://raw.githubusercontent.com/elastic/examples/master/Miscellaneous/gdpr/pseudonymization/sample_docs
                                
                            

Comprueba que el directorio con los archivos descargados esté compartido con Docker. A continuación, ve al directorio y ejecuta el siguiente comando:

                                

                                    ELASTIC_PASSWORD=changeme TAG=6.2.2 docker-compose up
                                
                            

Busca la línea de registro que aparece a continuación. Esto te indicará que Logstash se ha iniciado y ya puede aceptar datos.

                                

                                    logstash_1 | [2018-03-20T12:40:33,638][INFO ][logstash.agent ] Pipelines running {:count=>2, :pipelines=>["fingerprint_filter", "ruby_filter"]}
                                
                            

Ahora dale un sorbo, encanto. Ya casi hemos terminado.

meme2

Para el complemento de filtro Fingerprint, ejecuta el siguiente comando:

                                

                                    cat sample_docs | nc localhost 5000
                                
                            

¡Tachán! ¡Ya puedes inspeccionar y utilizar los datos! La información seudonimizada se indexará en un índice de eventos al que puedes acceder a través de la siguiente consulta:

                                

                                    curl "http://localhost:9200/events/_search?pretty" -u elastic:changeme
                                
                            

Debería tener un aspecto similar a este:

                                

                                    {rnrn        "_index": "events",rnrn        "_type": "doc",rnrn        "_id": "tQOjQ2IBED8Jv9YVVDxs",rnrn        "_score": 1,rnrn        "_source": {rnrn          "host": "gateway",rnrn          "user_agent": "Mozilla/5.0 (Macintosh; PPC Mac OS X 10_6_7) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.790.0 Safari/535.1",rnrn          "job_title": "Electrical Engineer",rnrn          "username": "95b88d8d477e18a8acca833e7bcbd2c5d5f646b29e2d1c9604a1d930e2f63313",rnrn          "@timestamp": "2018-03-20T13:39:59.799Z",rnrn          "ip": "e85022a9801b356dd8c3ed6b2e02f0061a3aeea5bbad15a9ff4aed35b5bb3a42",rnrn          "source": "ruby_pipeline",rnrn          "city": "Komsomol’skiy",rnrn          "title": "Mr",rnrn          "country_code": "UZ",rnrn          "@version": "1",rnrn          "gender": "Female",rnrn          "country": "Uzbekistan",rnrn          "port": 41126rnrn        }rnrn     }
                                
                            

Genial, ¿verdad? Pero espera, ¡hay más! Las búsquedas de pares clave-valor se encuentran en un índice de identidades, al que puedes acceder con esta consulta:

                                

                                    curl "http://localhost:9200/identities/_search?pretty" -u elastic:changeme
                                
                            

Si te preguntas qué aspecto tiene, echa un vistazo a continuación: 

                                

                                    {rnrn    "_index": "identities",rnrn    "_type": "doc",rnrn    "_id": "1924d02bd98a46c795cb2a925b98a22ae59c563e0de49f4ba4aa49e6cab072ad",rnrn    "_score": 1,rnrn    "_source": {rnrn      "key": "1924d02bd98a46c795cb2a925b98a22ae59c563e0de49f4ba4aa49e6cab072ad",rnrn      "value": "174.145.248.21",rnrn      "tags": [rnrn        "identities"rnrn      ],rnrn      "@timestamp": "2018-03-20T13:39:59.957Z",rnrn      "@version": "1",rnrn      "source": "ruby_pipeline"rnrn    }
                                
                            

Siempre deberías tener 200 documentos en un índice de seudónimos sin importar cuántas veces indexes los datos. Hay un documento para cada valor único en la tabla y, en este caso, tenemos el nombre de usuario y la dirección IP. ¿Necesitas reidentificar un valor? Puedes buscarlo por su ID en el índice de identidades. Por si te lo perdiste: este es el aspecto de un valor seudonimizado:

6efda88d5338599ef1cc29df5dad8da681984580dc1f7f495dcf17ebcf7191f8

Si necesitas el valor original, puedes obtenerlo con este comando:

                                

                                    curl "http://localhost:9200/identities/doc/6efda88d5338599ef1cc29df5dad8da681984580dc1f7f495dcf17ebcf7191f8?pretty" -u elastic:changeme
                                
                            

Conclusión

emerilmeme

¡ZAS! ¡Seudonimización! Es como el programa de protección de testigos para datos, nos declaramos muy fans. Todos esos datos seudonimizados dificultan que los actores malintencionados puedan hacer algo con ellos, incluso si son buenos en lo que hacen. Con una política sólida de retención de datos, el riesgo de robo se puede minimizar drásticamente, ¿y a quién no le gusta eso? Si tienes curiosidad sobre el procesamiento de datos de Mailgun, ¡visita nuestro sitio web! Nos ponemos muy técnicos con el email, y muy rápido.