Product

Conceptos básicos de TLS: ¿Qué es el control de conexión TLS?

En este artículo, te mostraremos cómo usar TLS para cifrar de forma segura tus comunicaciones por email.
Imagen para Conceptos básicos de TLS: ¿Qué es el control de conexión TLS?

¿De qué hablarías en una línea segura? ¿De algún plan al estilo James Bond?

Lo más probable es que hagas algo más mundano, como la programación de tu próxima reunión o compras por internet. Seas consciente de ello o no, el cifrado ya forma parte de tus comunicaciones por email, y cada email que envías es, en esencia, como tener un chat en una línea segura.

Aunque hay una gran variedad de protocolos de cifrado, la mayoría de los clientes de email, como Gmail, han hecho del cifrado de la Seguridad de la Capa de Transporte (TLS, por sus siglas en inglés) una parte esencial de sus protocolos. Pero ¿qué es TLS y por qué es importante que las personas responsables de campañas de email ajusten su control de conexión TLS? Ahora profundizaremos en ello.

¿Por qué tengo que cifrar mis emails?

Empecemos por algunos conceptos básicos. Probablemente sepas que enviar sin cifrado es arriesgado, pero ¿qué podría pasar realmente si tu mensaje no estuviera cifrado? Estos son algunos problemas de ciberseguridad comunes a los que te enfrentarías si enviaras y recibieras emails sin cifrado:

  • Alteración de mensajes: el cifrado protege la transmisión de datos seguros y permite al destinatario comprobar si el mensaje ha sido modificado en tránsito.
  • Escuchas clandestinas: cualquier persona puede interceptar y leer tus emails mientras viajan por la red. Sin cifrado, no tendrías privacidad. En términos más técnicos, esto evita los ataques de intermediario (“man-in-the-middle”).
  • Invasión de la privacidad: los emails no cifrados también transmiten información confidencial, como tu dirección IP, tu ciudad o incluso tu dirección postal, lo que también podría comprometer tu privacidad.
  • Robo de identidad: los piratas informáticos podrían capturar tus datos de inicio de sesión si no accedes a tu servidor de email o sitio web a través de una conexión cifrada.

A continuación, descubriremos qué es TLS y cómo integrarlo en tu rutina de email.

¿Qué es TLS y por qué es importante?

TLS es un protocolo criptográfico que proporciona seguridad de extremo a extremo de los datos que se envían entre aplicaciones y servidores web por internet. Cifra la conexión a través de la cual se envían los datos por internet, evitando que terceros vean tus datos, como contraseñas, números de tarjetas de crédito y correspondencia personal. En resumen, enviar un mensaje a través del protocolo TLS es como hablar abiertamente por una línea telefónica segura.

Antes de profundizar en qué es exactamente TLS, empecemos con una breve lección de historia.

El Grupo de Trabajo de Ingeniería de Internet (IETF) definió TLS 1.0 en 1999. Antes de eso, Secure Socket Layer (SSL) era el protocolo de cifrado estándar en internet. Actualmente, los certificados SSL solo significan que un sitio web en particular está utilizando algún tipo de protocolo criptográfico para verificar la propiedad del dominio, un rol que cumple TLS. De hecho, el certificado SSL debería llamarse más bien certificado TLS, ya que utiliza TLS, no SSL.

No te preocupes: el protocolo TLS que utilizan los sistemas modernos no es realmente de 1999. Las versiones 1.0 y 1.1 de TLS quedaron obsoletas en 2020 y la mayoría de los proveedores de servicios de envío de emails ya no las utilizan. Hoy en día,  TLS 1.3 es la versión actual del protocolo y TLS 1.2 sigue siendo compatible.

¿Cuál es la diferencia entre TLS, SSL y HTTP?

TLS es el protocolo de cifrado para proteger la mayor parte de internet, y es fácil detectar qué sitios cumplen y cuáles no. Fíjate en la URL de este artículo y observa que empieza por “https” y tiene el icono de un candado gris cerrado. Las conexiones protegidas por TLS llevan la marca Hypertext Transfer Protocol Secure (HTTPS) en lugar de solo HTTP.

¿Cuáles son las tres funciones principales que permite el protocolo TLS?

Dejando a un lado la historia antigua, TLS es importante porque hay tres cosas principales que permite el protocolo:

  • Cifrado: TLS protege los datos de tus emails frente a terceros.
  • Autenticación: TLS autentica el servidor (y opcionalmente, el cliente) desde el que se envía un mensaje.
  • Integridad: TLS verifica la integridad de los datos para comprobar que están libres de falsificación y manipulación.

Todos ellos funcionan en conjunto para garantizar una experiencia de email de extremo a extremo segura, tanto para ti como para tus suscriptores.

¿Por qué deberían las empresas utilizar el protocolo TLS y cuáles son los distintos niveles de las certificaciones de seguridad SSL/TLS?

La vigilancia constante es clave para prevenir filtraciones de datos y otros ciberataques. Usa el cifrado TLS para reforzar la seguridad de los datos de tu empresa en la web, en las campañas de email marketing y en los emails transaccionales. La mayoría de los navegadores también emitirán una alerta si tu sitio web o tus comunicaciones por email no son seguras, lo que podría provocar un menor tráfico web y hacer que tu marca parezca menos legítima.

Aunque TLS proporciona una seguridad adecuada para las comunicaciones, puede que tu empresa necesite una autenticación extendida para proporcionar una mayor protección a los datos confidenciales. En estos casos, tu organización puede optar por certificados TLS/SSL de autenticación de nivel empresarial, que se ofrecen en los tres niveles de seguridad siguientes:

  • Certificados de validación de dominio: se trata del certificado TLS/SSL más básico; requiere que demuestres que controlas el nombre de dominio que has proporcionado. Ten en cuenta que el certificado de validación de dominio no confirma tu identidad ni la de tu empresa.
  • Certificados de validación de organización: este certificado se basa en el certificado de validación de dominio. No solo requiere que demuestres que controlas el nombre de dominio que has proporcionado, sino también que tu empresa está registrada legalmente. Lo recomendamos para sitios públicos que recopilan datos de tus usuarios.
  • Certificados de validación extendida: este es el certificado TLS/SSL más seguro. Además de demostrar la propiedad de tu nombre de dominio y establecer la legalidad de tu empresa, estos certificados incluyen pasos de verificación adicionales diseñados para proteger los datos de cualquier alteración.

¿Qué es el “handshake” TLS y cómo funciona?

Ahora que ya sabemos qué es TLS, vamos a repasar cómo funciona exactamente el protocolo TLS para proteger tu comunicación online.

El protocolo TLS moderno, incluidas las versiones 1.2 y 1.3, utiliza dos tipos de criptografía para mantener un alto rendimiento junto con una seguridad fiable:

  • Criptografía simétrica: cifra los datos mediante una clave secreta que se ha compartido tanto con el remitente como con el destinatario. Ten en cuenta que esta clave secreta debe tener una longitud de al menos 128 bits.
  • Criptografía asimétrica: cifra los datos con pares de claves formados por una clave privada y una clave pública. La criptografía asimétrica es más segura que limitarse a usar una clave secreta, pero también requiere un mayor ancho de banda, ya que la longitud mínima recomendada de la clave es de 1024 bits.

TLS utiliza el cifrado asimétrico para establecer una sesión segura entre un cliente y un servidor. A continuación, utiliza el cifrado simétrico para intercambiar datos dentro de la sesión segura. Este proceso se define como “handshake TLS”: el proceso por el que se establece y define la comunicación entre un cliente y un servidor.

En otras palabras, el proceso del “handshake TLS” es una negociación entre el cliente de email o el navegador web que envía tu mensaje y el servidor web con el que interactúa. Ambos se reúnen y se reconocen mutuamente, autentican sus identidades, designan algoritmos de cifrado y acuerdan las claves seguras de la sesión.

Así es como funciona un “handshake” TLS 1.3:

Diagrama de secuencia de un handshake TLS 1.3 que muestra el intercambio de claves, los parámetros del servidor, la autenticación y los datos de la aplicación
Diagrama del handshake TLS 1.3 (Fuente)
  1. El cliente se pone en contacto con el servidor mediante un mensaje “client hello”. Este mensaje alerta al servidor sobre la versión TLS del cliente para comprobar la compatibilidad. También comparte una clave y las suites de cifrado del cliente. A partir de ahí, la clave se utiliza para cifrar y descifrar mensajes.
  2. El servidor responde al mensaje y a la clave compartida del cliente con un mensaje “server hello”. Este mensaje comparte una clave como respuesta e indica las versiones compatibles del servidor. El servidor también puede solicitar un certificado TLS/SSL y verificarlo.
  3. El cliente recibe el certificado y lo verifica, lo que completa la parte del “handshake TLS” que corresponde al cliente.

Ahora, el cliente puede comunicarse con el servidor mediante un protocolo HTTP.

¿Cómo personalizo los ajustes de la conexión de email con Mailgun?

Mailgun implementa un TLS oportunista por defecto. Siempre que nos conectamos a un servidor de intercambio de email (MX), primero intentamos actualizar la conexión a una conexión TLS para entregar tus mensajes. Sin embargo, si no se ofrece o se produce algún tipo de error al establecer la conexión (como un certificado no válido, por ejemplo), utilizamos una conexión SMTP en texto sin formato en su lugar.

También hemos implementado formas para que personalices tus ajustes de conexión para la entrega de mensajes de las siguientes maneras:

  • Exponer un nuevo indicador (flag) para garantizar que los mensajes solo se entreguen a través de una conexión TLS.
  • Permitir que actives o desactives la verificación del certificado.
  • Exponer el servidor MX al que entregamos el mensaje, el estado TLS de la conexión y si verificamos o no el certificado durante la entrega en nuestros Logs.

Profundicemos en cada uno a continuación.

¿Cómo me aseguro de que los mensajes se entreguen a través de una conexión TLS?

Hemos expuesto un nuevo indicador, require tls –, que te permite controlar cómo se entregan tus mensajes. Establece este indicador en True para exigir que el mensaje se envíe obligatoriamente a través de una conexión TLS. Si no se puede establecer una conexión TLS, Mailgun no entregará el mensaje.

El valor por defecto de require tls es False, lo que significa que intentaremos usar una conexión TLS, pero seguiremos entregando tu email a través de una conexión SMTP en texto sin formato si no podemos usar TLS.

¿Cómo activo o desactivo la verificación del certificado?

El nuevo indicador skip verification te permite activar o desactivar la verificación del certificado y del nombre de host. Si se establece en True, Mailgun no verificará el certificado ni el nombre de host cuando intente establecer una conexión TLS. En su lugar, Mailgun aceptará cualquier certificado durante la entrega.

Por defecto, skip verification está establecido en False, lo que significa que intentaremos verificar el certificado y, si no podemos, no se establecerá una conexión TLS.

¿Cómo puedo ver los detalles de cómo se entregó mi email?

Hemos expuesto tres indicadores adicionales en nuestros Logs que ofrecen información sobre cómo se entregó tu email. En primer lugar, ve al documento delivery-status. Luego, busca los siguientes indicadores:

  • tls: este indicador muestra si utilizamos o no una conexión TLS para entregar tu mensaje.
  • certificate-verified: este indicador señala si verificamos o no el certificado al entregar tu mensaje.
  • mx-host: esto indica el servidor MX al que nos conectamos para entregar tu mensaje.

¿Cuáles son algunos ejemplos de envío de emails con ajustes de conexión personalizados en Mailgun?

Pongamos en práctica los indicadores anteriores. En esta sección, veremos ejemplos de envío de emails con ajustes de conexión personalizados en Mailgun, como los siguientes:

  • Enviar un solo mensaje con conexiones personalizadas.
  • Configurar todo un dominio de envío para entregar mensajes con conexiones personalizadas.
  • Comprobar tu configuración.

¿Cómo envío un solo email con ajustes de conexión personalizados?

Si tienes un solo mensaje que deseas entregar con ajustes de conexión personalizados, puedes usar el siguiente código:

                                

                                    curl -sk --user 'api:API_KEY'   
    https://api.mailgun.net/v3/DOMAIN_NAME/messages 
    -F from='foo@example.com' 
    -F to='bar@example.com' 
    -F subject='Hello' 
    -F text='Testing some Mailgun awesomness!' 
    -F o:require-tls='false' 
    -F o:skip-verification='true'
                                
                            

¿Cómo configuro un dominio de envío para entregar emails con ajustes de conexión personalizados?

Si deseas configurar todo un dominio de envío para entregar mensajes de una forma en particular, revisa el siguiente código:

                                

                                    curl -sk --user 'api:API_KEY'   
    -X PUT https://api.mailgun.net/v3/domains/DOMAIN_NAME/connection 
    -F require_tls='false' 
    -F skip_verification='true'
                                
                            

Como alternativa, también puedes cambiar los ajustes de dominio para cualquier dominio específico a través del panel de control de Mailgun. Para ello, ve a tu pestaña de envíos y desplázate hacia abajo hasta `domain settings`; desde ahí, puedes modificar tus ajustes de TLS en la sección `security`.

Ajustes de seguridad: conexión TLS ajustada a Oportunista y verificación de certificados ajustada a Requerida

¿Cómo puedo comprobar mi configuración de conexión personalizada?

¿Te preocupa haber cometido algún error? Puedes comprobar que tu configuración es correcta con el siguiente código:

                                

                                    curl -sk --user 'api:API_KEY'   
    -X GET https://api.mailgun.net/v3/domains/DOMAIN_NAME/connection
                                
                            

En resumen

¡Y ya está! Hemos aprendido cómo funciona el protocolo TLS y algunas formas de personalizar los ajustes de conexión con Mailgun.

Si te interesa obtener más información, consulta nuestra documentación aquí, o regístrate para obtener una prueba gratuita.