Ir directamente al contenido

Ajustes de cookies

Elija por tipo qué cookies permite. Puede cambiar su elección en cualquier momento en Ajustes de cookies, al pie de cada página. Declaración de privacidad

Necesarias

Siempre activadas

Necesarias para iniciar sesión, conservar su carrito y recordar sus preferencias. Siempre están activadas.

¿Qué cookies?
  • weboke_sessie, weboke_klant, weboke_remember: su sesión y mantener la sesión iniciada
  • weboke_basket: su carrito
  • wkBtwIncl: mostrar los precios con o sin IVA
  • wok_cookies: su elección de cookies, 12 meses

Mide qué anuncio lleva a una visita o a un pedido, para no pagar por anuncios que no sirven de nada.

¿Qué cookies?
  • Google Ads a través de Google Tag Manager (_gcl_au, _gcl_aw), hasta 90 días
  • OpenAI Ads, anuncios en ChatGPT
  • wok_aff: a través de qué socio llegó a nosotros (programa de afiliados), 60 días

4,6

País e idioma

Cada país tiene su propio sitio, con los precios y el IVA de ese país.

Ver

Módulo 5 · 5.4

Entrega cifrada: TLS, MTA-STS y DANE

Módulo 5: Reputación y los grandes proveedores · Tiempo de lectura: 10 minutos

Objetivo de aprendizaje: Después de esta lección podrá explicar cómo se cifran las comunicaciones entre servidores de correo, por qué eso no es exigible por defecto, y qué cambian en eso MTA-STS, TLS-RPT y DANE. Podrá buscar y leer los registros correspondientes.

Conceptos clave: STARTTLS entre servidores, cifrado oportunista, ataque de downgrade, MTA-STS (RFC 8461), registro _mta-sts, archivo de política, modo testing/enforce/none, TLS-RPT (RFC 8460), registro _smtp._tls, DANE para SMTP (RFC 7672), registro TLSA, DNSSEC

Dos tipos de conexiones

En la lección 1.4 se habló de la conexión entre su programa de correo y el servidor de correo de su proveedor: puerto 587 con STARTTLS, o 465 con TLS directo, con inicio de sesión. Ahí usted mismo tiene el control. Su programa sabe qué servidor espera, comprueba el certificado y se niega a conectar si algo no cuadra.

Esta lección trata del siguiente paso: la conexión entre el servidor emisor y el servidor receptor, por el puerto 25. Esa funciona de otra manera.

Oportunista: cifrar cuando es posible

Cuando un servidor entrega correo, se conecta con el MX del destinatario. Después de EHLO, comprueba si el servidor receptor ofrece STARTTLS. Si es así, pasa a una conexión cifrada. Si no, entrega el correo sin cifrar, sin más.

Esto se llama cifrado oportunista: se cifra si es posible, y si no, no. Y, por lo general, el servidor emisor no comprueba el certificado de forma estricta. Un certificado caducado o autofirmado no es motivo para detenerse.

¿Por qué así? Porque el correo siempre debe seguir funcionando, incluso con servidores antiguos. Un emisor no puede saber si un receptor debería tener TLS. Esto hace posibles dos ataques:

  1. Downgrade. Alguien que puede modificar el tráfico en tránsito elimina la palabra STARTTLS de la respuesta del receptor. El emisor cree que no hay cifrado y entrega sin cifrar. El atacante lee el mensaje.
  2. MX falso. Alguien que puede falsificar respuestas DNS indica su propio servidor como MX. Como no se comprueba el certificado, el emisor no nota nada.

Hoy en día, casi todos los grandes servidores de correo cifran, y Gmail exige a los remitentes que usen TLS (lección 5.3). Pero "normalmente cifrado" es distinto de "siempre y con el servidor correcto". Para eso existen dos soluciones: MTA-STS y DANE. Ambas las configura el receptor: con ellas indica que el correo dirigido a su dominio siempre debe ir cifrado, hacia un servidor con un certificado válido.

MTA-STS: política mediante una página web

MTA-STS (Mail Transfer Agent Strict Transport Security, RFC 8461) funciona con dos componentes.

Un registro TXT que indica que existe una política:

_mta-sts.example.com.  3600  IN  TXT  "v=STSv1; id=20261108T120000;"

Y un archivo de política en una ubicación fija, mediante https con un certificado válido:

https://mta-sts.example.com/.well-known/mta-sts.txt

version: STSv1
mode: enforce
mx: mx1.example.com
mx: mx2.example.com
max_age: 604800
LíneaSignificado
mode: enforceEntregar únicamente mediante TLS con un certificado válido en uno de los servidores MX indicados. Si no es posible, no se entrega (queda en la cola)
mode: testingEntregar como siempre, pero notificar los problemas mediante TLS-RPT
mode: noneNo hay política (ya)
mx:Los nombres de los servidores MX que deben llevar el certificado; se admite un *. al principio
max_age:Durante cuánto tiempo (en segundos) un emisor puede recordar la política
id= en el registro TXTUn número de versión. Si modifica la política, cambie también el id, para que los emisores vuelvan a descargar el archivo

Lo inteligente: un emisor recuerda la política durante el tiempo indicado por max_age. Un atacante que más tarde elimine la palabra STARTTLS o indique un MX falso queda entonces al descubierto: la política dice que el cifrado es obligatorio y qué servidores son válidos. En la primerísima conexión (antes de que se conozca la política), MTA-STS no protege; ese es el punto débil conocido.

Un ejemplo real es gmail.com: el registro TXT _mta-sts.gmail.com existe, y el archivo de política en https://mta-sts.gmail.com/.well-known/mta-sts.txt está en mode: enforce.

TLS-RPT: informes sobre cifrado fallido

Con MTA-STS en enforce, el correo puede quedar atascado si algo falla con su certificado. Usted querrá saberlo. Para eso está TLS-RPT (RFC 8460):

_smtp._tls.example.com.  3600  IN  TXT  "v=TLSRPTv1; rua=mailto:tlsrapport@example.com"

Los emisores que admiten TLS-RPT (entre otros, Google y Microsoft) envían entonces diariamente un informe en formato JSON: cuántas conexiones tuvieron éxito y cuáles fallaron, con el motivo (por ejemplo, un certificado caducado o un nombre que no figura en la política). Igual que con los informes DMARC (lección 4.5), puede hacer que un servicio de informes los procese por usted.

Orden de implementación: primero TLS-RPT, después MTA-STS en testing, unas semanas leyendo informes, y solo después enforce. Se parece a la línea de recomendación de DMARC: primero observar, después ser estricto.

DANE: el certificado en el DNS, protegido con DNSSEC

DANE (DNS-based Authentication of Named Entities) lo aborda de otra manera. Usted coloca en el DNS un registro TLSA para cada servidor MX, con una huella digital del certificado o de la clave:

_25._tcp.mx1.example.com.  3600  IN  TLSA  3 1 1 0d5a5c8f3d8aab82bba32bf8d711fa2433e4fe5fa4828b0443364d3ab5cdc1d5

_25._tcp significa: para SMTP por el puerto 25. Los tres números indican cómo debe leerse el valor. Para servidores de correo, 3 1 1 es lo más habitual: "esta es la huella digital SHA-256 de la clave pública de exactamente este servidor". También aparece 2 1 1: en ese caso contiene la huella digital de un certificado intermedio.

Un emisor que admite DANE ve el registro TLSA, exige cifrado y comprueba si el certificado del servidor coincide. Si no coincide, no entrega el mensaje.

¿Por qué es DANE seguro frente a respuestas DNS falsificadas? Porque solo funciona con DNSSEC (curso de DNS, lección 8.1). Sin una cadena DNSSEC válida, los registros TLSA se ignoran. Ese es precisamente el obstáculo: tanto su dominio (para el MX) como la zona del servidor de correo deben estar firmados.

DANE no tiene la debilidad de "primera vez" que tiene MTA-STS, y se usa mucho en los Países Bajos y en Alemania. internet.nl lo comprueba en sus pruebas. Microsoft admite DANE para correo entrante en Exchange Online. Los propios servidores MX de internet.nl también tienen registros TLSA.

Trampa habitual: si sustituye el certificado de un servidor de correo con DANE por una clave nueva, el registro TLSA debe cambiar a la vez, y con antelación: primero añadir el nuevo registro, esperar a que expire el TTL, y solo entonces poner en uso la nueva clave. De lo contrario, los emisores que usan DANE rechazarán su correo. Con 3 1 1 esto solo importa si cambia la clave, no en cada renovación con la misma clave.

¿MTA-STS o DANE?

MTA-STSDANE
Necesita DNSSECNoSí
Dónde se encuentraRegistro TXT más archivo de política en un sitio webRegistro TLSA por servidor MX
Protege la primera conexiónNoSí
MantenimientoMantener el sitio web y el certificado de mta-sts.Actualizar TLSA al cambiar de clave

Puede usarlos conjuntamente. La RFC 8461 indica que un emisor que admite DANE le da prioridad sobre MTA-STS si existen registros TLSA válidos.

¿Quién se encarga de esto?

Esto se configura para el correo entrante de su dominio. Si su correo funciona en una empresa de hosting o un servicio de correo, depende de ese proveedor:

  • DANE solo es posible si el proveedor publica registros TLSA para sus servidores de correo y su dominio tiene DNSSEC. En WebOké, por ejemplo, puede activar DANE en el mismo lugar que DNSSEC (consulte el artículo de internet.nl más abajo); en otros proveedores funciona de forma parecida o ya viene configurado por defecto.
  • MTA-STS a veces puede configurarlo usted mismo, pero entonces mta-sts.example.com debe ser un sitio web con un certificado válido y usted debe conocer los nombres MX de su proveedor.
  • TLS-RPT siempre puede configurarlo usted mismo: es solo un registro TXT con una dirección de informes.

Para su correo saliente no tiene que hacer nada: el servidor de su proveedor decide si respeta el MTA-STS y el DANE de los destinatarios.

Resumen

  • Entre servidores de correo, TLS es por defecto oportunista: cifrado si es posible, sin comprobación estricta del certificado. Eso hace posibles el downgrade y el MX falso.
  • MTA-STS: TXT _mta-sts más archivo de política en https://mta-sts.<dominio>/.well-known/mta-sts.txt; modo testing o enforce.
  • TLS-RPT: TXT _smtp._tls con una dirección de informes, para informes diarios sobre cifrado fallido.
  • DANE: registro TLSA en _25._tcp.<servidor-mx>, solo funciona con DNSSEC y protege también la primera conexión.
  • Impleméntelo como DMARC: primero informes (TLS-RPT, testing), después estricto.

Cuestionario

1. ¿Qué significa el cifrado "oportunista" entre servidores de correo?



2. ¿Dónde se encuentra la política MTA-STS de example.com?



3. ¿Por qué no funciona DANE sin DNSSEC?



4. Quiere implementar MTA-STS. ¿Cuál es el orden más prudente?



5. Su servidor de correo recibe un certificado nuevo con una clave nueva. Hay un registro TLSA 3 1 1 configurado. ¿Qué debe hacer?



Ejercicio

Ejercicio Z5.4: Buscar MTA-STS, TLS-RPT y DANE. Busque en gmail.com el registro MTA-STS y el registro TLS-RPT, abra el archivo de política y anote el modo (enforce, testing o none). Después, busque en un servidor MX de internet.nl el registro TLSA en _25._tcp.<servidor-mx> y anote los tres primeros números de uno de los registros. Opcional: las mismas preguntas para su propio dominio (ahí la respuesta puede ser "ninguno"). El programa consulta todo en tiempo real y lo compara.

Ejercicio Z5.4: Consultar MTA-STS, TLS-RPT y DANE

Busque en gmail.com el registro MTA-STS (_mta-sts) y el registro TLS-RPT (_smtp._tls), abra el archivo de política (https://mta-sts.gmail.com/.well-known/mta-sts.txt) y anote el modo. Después busque en un servidor MX de internet.nl el registro TLSA en _25._tcp.<mx-server>.







No guardamos lo que escriba ni lo que encontremos. Su navegador recuerda sus respuestas y si ha superado el ejercicio. Si ha iniciado sesión, en Mis cursos solo guardamos que el ejercicio estaba (casi) correcto; allí también puede eliminarlo.

Para seguir leyendo

Los pasos de estos artículos corresponden a los paneles de WebOké; en otros proveedores funciona de forma parecida.

Un momento…

Configure sus dominios

Configure para cada dominio los servidores de nombres, la vinculación a su hosting y quién será el titular.

Cargando sus dominios…