sábado, 14 de julio de 2018

Cifrar tu correo electrónico utilizando Thunderbird, Enigmail y OpenPGP

Algo que es casi obligatorio es tener tu correo cifrado ya que mejora notablemente tu seguridad y tu privacidad. Uno de los algoritmos más utilizados es OpenPGP, porque a pesar de EFAIL, sigue siendo el sistema más seguro para cifrar correo electrónico. Cifrar tu correo es una práctica casi obligatoria, sobretodo si utilizas una cuenta en Gmail, ya que Google sigue leyendo tu correo electrónico. Incorporar cifrado en tu correo es algo bastante sencillo aunque mucha gente piense que es complicado. Yo mismo cuando empecé en seguridad creía que era difícil, pero todo fue ponerse. Yo voy a utilizar Thunderbird ya que es el que suelo utilizar casi siempre, pero existen otros muchos servicios y la forma de utilizarlo no varía mucho.


Antes de continuar, voy a presentar a los protagonistas del post de hoy. Son protagonistas importantes y tenemos que saber más o menos qué es lo que hacen y cuál es su función.

-Mozilla Thunderbird. Cliente de correo electrónico multiplataforma open source  que nos va a servir para enviar, recibir y almacenar correo electrónico. Es un proyecto desarrollado por la Mozilla Foundation y dispone de unas extensiones muy útiles que serán las que nos permitirán utilizar OpenPGP.

-Gnu Privacy Guard [GPG]. Software libre que nos va a permitir cifrar, descifrar y firmar digitalmente mensajes y archivos. También será el encargado de generar y administrar las claves privadas y públicas para poder realizar sus funciones.  

-Enigmail. Complemento de Thunderbird que nos va a permitir acceder a las funciones de Gnu Privacy Guard. Su instalación es sencilla, se instala como cualquier otra extensión de Firefox.

Yo haré la instalación en un ordenador que tengo de repuesto con Windows. Es el ordenador que he utilizado durante mis "vacaciones" ya que le estuve explicando a un periodista cómo utilizar OpenPGP para cifrar su correo. Además también aviso que al utilizar ThunderBird y ser esta una aplicación de escritorio, lo suyo sería que cifrásemos nuestro disco duro y que-por dios os lo pido- no le deis a "Recordar contraseña" nunca. Utilizad KeePass, pero nunca jamás de los jamases recordéis vuestra contraseña, ya que si os roban el ordenador o acabáis en un aeropuerto donde -por la cuestión que sea- os han pedido el ordenador para vigilar vuestras conversaciones y espiaros.

Instalación y configuración ThunderBird

La instalación de ThunderBird es bastante sencilla, aunque en versiones Linux como Ubuntu, Mint y creo que Debian, ya viene instalado por defecto. En Windows la instalación es muy sencilla, basta con que nos vayamos a la web de ThunderBird y lo descarguemos,  y daremos en siguiente a todo a menos que sepamos lo que estamos haciendo. La forma de instalación podéis seleccionar la estándar.


Al utilizar una cuenta de Gmail, tendremos que irnos a la configuración de la cuenta y modificar una serie de parámetros para que podamos utilizar nuestra cuenta de Gmail en ThunderBird.


Habilitaremos POP para todos los mensajes y cuando accedamos a los correos POP,  le diremos que se borren todos los mensajes de Gmail. Toda seguridad es poca.



También tendremos que irnos a nuestra cuenta de Google, y en la configuración de seguridad, permitir el  acceso de aplicaciones menos seguras.



Ahora lo que vamos a hacer es que, una vez que tengamos instalado Thunderbird, iniciar con una cuenta de correo. En mi caso voy a iniciar con una ya existente, que será la de contactomalvadoalen@gmail.com.


Introduciremos nuestras credenciales y desmarcaremos la casilla de "Recordar contraseña". Puede parecer una característica muy cómoda, pero si lo es para tí, también lo puede ser para un atacante.


Tendremos que irnos ahora a la configuración manual  y configurar el servidor POP e IMAP para enviar y recibir correo electrónico. Es muy importante también que permitamos las conexiones SSL/TLS para que las comunicaciones vayan cifradas en tránsito también.

Si alguno piensa que por qué ciframos el contenido del correo si ya estamos utilizando SSL/TLS, decir que al utilizar SSL, lo que hacemos es que el mensaje vaya cifrado desde que sale hasta que llega al destino, pero nosotros lo que queremos es que en el destino, si he cifrado con la pública  del receptor, si el receptor no tiene su clave privada, que no pueda leer el mensaje aunque haya llegado a él. Esto dota de una seguridad mayor y además evita que Google pueda leer nuestros correos, ya que una vez que llegue al destino, el mensaje se descifraría utilizando SSL y Google tendría vía libre para leer tus correos.


Otra cuestión interesante es la de eliminar los mensajes del servidor tras 3-4 días. Creo que por defecto venía en 14 días, que es mucho tiempo.


Vamos a comprobar ahora si lo hemos configurado todo correctamente. Para esto, me voy a enviar un correo a mi cuenta de ProtonMail  y ver si llega.


Vemos que llega, lo que es algo positivo, pero no nos engañemos, aún no podemos contar victoria ya que los mensajes se transmitirían en texto plano. Ahora tenemos que dotarle de seguridad utilizando criptografía.

Cifrar correo electrónico 

Antes de decir cómo instalar PGP utilizando GnuPG y el complemento Enigmail, vamos a explicar brevemento en qué consiste la criptografía aplicada a un mensaje de correo.


Imaginemos que me quiero comunicar con Lucía. El mensaje que le quiero transmitir es "Hello Lucia" y cada uno tenemos nuestro par de claves. Una privada y una pública. Pongamos que Lucía ya me ha pasado su clave pública, ya sea por correo no cifrado, porque lo tenga en un server, whatever. Como yo conozco su clave pública, la utilizo para cifrar el mensaje. Repito, utilizo su clave pública, no la mía.


Al utilizar su clave pública, el mensaje se cifra y ya puedo enviárselo a Lucía. Si a todo esto, un atacante estuviese en medio de la conexión y hubiese conseguido realizar un SSLStrip utilizando el método que sea, lo que vería sería un conjunto de letras y números sin sentido que no será capaz de descifrar a menos que tenga la clave privada de Lucía.


En la criptografía, si cifras con tu clave pública, necesitas tu clave privada para descifrar. Aquí lo que se ha hecho es justamente eso, Yo he cifrado con la clave pública de Lucía que previamente me ha tenido que enviar y ya ella descifra con su clave privada.

Pues así funciona la criptografía. Es un proceso bastante sencillo, pero que es verdad que no se suele explicar del todo bien por lo que suelen quedar dudas, pero entendido esto, ya estamos en disposición de empezar a cifrar nuestro correo utilizando GnuPG y Enigmail.

En primer lugar vamos a instalar GnuPG. Para ello nos iremos a la web de GPG4win y lo descargamos. Para instalarlo en Windows es todo "Siguiente", no tiene mucha complicación. Puede que al final dela instalación se abra el software Kleopatra, pero no le hacemos caso. Ahora pasamos a instalar Enigmail.

Para instalar Enigmail es igual de fácil ya que nos basta con irnos a ThunderBird y en las rayas que indican el menú de opciones pulsar en complementos y ya instalar la extensión como si fuese una extensión normal en Firefox. Buscamos Enigmail y cuando esté instalado nos avisará. Ya está, eso es todo.

Ya tenemos instalado GPG y Enigmail, pero aquí no hemos terminado, ya que aún no tenemos nuestras claves ni nada de nada. Como un tío en Grana'.



Para generar las claves nos iremos a las opciones de ThunderBird>Enigmail>Asistente de configuración. Le diremos que queremos una configuración estándar y daremos en siguiente.


Ahora generamos una contraseña para nuestra clave privada. Por favor, no utilicéis la misma que para acceder a ThunderBird ya que si acceden a ThunderBird con la contraseña y tratan de descifrar un mensaje, led pedirá una contraseña y tan sólo tendrán que volver a introducir la contraseña anterior.

Tras este proceso se generarán el par de claves necesarias para el cifrado. Llevará un tiempo, pero cuando termine te avisará y nos aparecerá un botón que nos dice "Crear un certificado de revocación".

El certificado de revocación es útil cuando olvidas las contraseña de tu clave privada, cuando pierdes la clave privada o cuando te roban el ordenador y tú crees que la seguridad de tu clave privada ha sido comprometida. Este certificado de revocación es la única manera de poder borrar nuestra clave privada, por lo que será importante almacenarlo de forma segura.

El proceso para generar este certificado es fácil, pulsas en el botón, introduces tu contraseña que has usado para tu clave privada y te pide una ubicación para que guardes tu certificado de revocación. Cuando esto termine, ya sí que tendremos nuestro par de claves y "un plan b" por si perdemos la clave privada.

Ahora vamos a configurar Enigmail para que funcione con ThunderBird y añadiremos algunas opciones extras para mejorar el cifrado y evitar posibles vulnerabilidades.

Lo primero que haremos será irnos al botón de Thunderbird con 3 rayas>opciones>Configuración de la cuenta> Seguridad OpenPGP. Ahí seleccionaremos la opción que nos dice utilizar un identificador de clave PGP.


Ya nos debería venir con la clave, pero por si acaso le damos a "Select key" y añadimos nuestra clave privada.


Estaría bien que marcásemos las casillas de "Usar PGP/MIME por defecto", "Firmar mensajes cifrados", "Cifrar borradores al guardar" y "Preferir el de Enigmail" para dotar de una seguridad extra a nuestro correo.

Cifrar un mensaje de correo

Ya hemos terminado de generar el par de claves, ahora deberíamos probar si hemos realizado correctamente el proceso de cifrado y si sabemos cifrar mensajes de correo. Es cierto que si es la primera vez que lo haces, puede que ni tus amigos ni familia tengan su par de claves para probarlo, pero no pasa nada, nada que mi querida Free Software Foundation [FSF] no pueda solucionar.

Yo recuerdo que hace un tiempo teníamos a Adele, un bot de GnuPGP para probar si lo has hecho todo bien y para que pudiésemos probar a enviarle nuestra clave pública y que ella nos enviase un correo cifrado con nuestra clave pública para que nosotros lo descifremos con nuestra clave privada. No obstante, el bot Adele parece que ha dejado de funcionar.

No pasa nada, la FSF ha salido al rescate con Edward, un bot con la misma funcionalidad que Adele. La dirección de correo de este bot es edward-en@fsf.org y lo que tenemos que hacer es redactar un mensaje de correo, introducir su correo y en la pestaña "Enigmail" seleccionar "Adjuntar mi clave pública" o "Adjuntar clave pública" y ahí seleccionar la nuestra. Le escribimos cualquier cosa en el asunto y en el cuerpo del mensaje y enviamos.


Tras unoos minutos, nos enviará un mensaje cifrado con NUESTRA CLAVE PÚBLICA, de tal forma que cuando intentemos abrir el correo, nos saldrá este recuadro para que introduzcamos la contraseña de nuestra clave privada que anteriormente hemos creado.


Una vez que le damos a "Ok", ya veremos nuestro mensaje en un formato totalmente legible. Además nos da su clave pública, por lo que le damos a importar y ya está. A mí me ha dado problemas, pero bueno, es un ejemplo solamente.

Bueno, algunx aún se puede estar preguntando que "¿Cómo sé realmente que quien no tenga mi clave privada no puede leer el mensaje?". Muy sencillo, repetimos el proceso, le enviamos nuestra clave pública a Edward-no haría falta ya que la tiene de antes, pero como no sabemos si sabe asociar mi dirección de correo con mi clave, se la enviaremos por si acaso- para que él nos envíe otro correo cifrado con nuestra clave pública para que solamente nosotros con nuestra clave privada podamos descifrarlo.

Lo que va a cambiar ahora es que antes de leerlo en Thunderbird, voy a simular que me han robado la contraseña de Gmail y que han accedido a mi cuenta de correo de Google y tratan de leer el mensaje ¿Qué se encontraría el atacante?


Y el atacante no podría leer el mensaje ya que no tiene mi clave privada para descifrar.

A ver, entendamos lo que hemos hecho. No sé si recordáis que al principio dijimos que ThunderBird iba a borrar los mensajes de Gmail una vez que lo abriese desde ThunderBird, por eso para esta prueba lo hemos abierto primero desde Gmail. Además veréis que la dirección del remitente, la mía y el asunto no se han cifrado. Pues sí, esos son los únicos campos que no se cifran, solamente tenemos que tener eso en cuenta.

Pues así de sencillo es cifrar nuestro correo. Como veis no es especialmente complicado y las mejoras en seguridad y privacidad son brutales. Es cierto que debemos guardar muy bien nuestra clave privada y si queremos ver correo en otro sitio que no sea nuestra casa, lo ideal sería guardar nuestra clave privada en un USB y guardar ese USB, por ejemplo, con el llavero para así no perderlo nunca.

¿Hackeamos el Mundo?

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...