Ir al contenido principal

De testing a enforce: estrategia de despliegue progresivo de MTA-STS

Por CaptainDNS
Publicado el 10 de marzo de 2026

Diagrama de progresión del despliegue MTA-STS, del modo testing al modo enforce
TL;DR
  • MTA-STS en modo testing recopila los informes TLS-RPT sin bloquear la entrega de correos, ideal para detectar problemas de configuración
  • El modo enforce rechaza toda conexión SMTP no cifrada hacia sus servidores MX, bloqueando los ataques de downgrade
  • La transición de testing a enforce se realiza en cuatro pasos: despliegue inicial, configuración TLS-RPT, análisis de informes (1 a 2 semanas) y activación del modo enforce
  • Aloje su política MTA-STS de forma gratuita con CaptainDNS: dos registros DNS son suficientes

Publicar una política MTA-STS en modo enforce sin fase de prueba equivale a activar un cortafuegos sin conocer el tráfico legítimo. Resultado posible: correos bloqueados, socios que ya no pueden escribirle y ninguna visibilidad sobre la causa. Según el Google Transparency Report, más del 90 % del tráfico entrante de Gmail ya utiliza TLS, pero sin MTA-STS nada garantiza que ese cifrado sea obligatorio en lugar de oportunista.

El RFC 8461 prevé exactamente este escenario. Define dos modos de funcionamiento: testing (observar sin bloquear) y enforce (bloquear las conexiones no cifradas). La estrategia correcta consiste en desplegar primero en testing, supervisar los informes TLS-RPT durante una a dos semanas, corregir las anomalías y luego pasar a enforce.

Esta guía detalla cada etapa de esta transición. Está dirigida a administradores de sistemas, DevOps y responsables de seguridad del correo electrónico que gestionan uno o varios dominios de mensajería.

Comprender los modos MTA-STS: testing vs enforce

MTA-STS (RFC 8461) impone el cifrado TLS para el correo entrante mediante una política HTTPS que contiene tres parámetros: los servidores MX autorizados, la duración de caché (max_age) y el modo (testing o enforce).

Modo testing: supervisar sin bloquear

El modo testing de MTA-STS permite que los servidores de envío (Gmail, Outlook, Yahoo) verifiquen su política sin bloquear la entrega en caso de fallo TLS. Las anomalías se reportan mediante un informe TLS-RPT (RFC 8460) enviado a la dirección que usted ha configurado.

version: STSv1
mode: testing
mx: mx.captaindns.com
max_age: 86400

Este modo permite detectar tres tipos de problemas antes de que afecten la entrega:

  1. Certificado TLS inválido: certificado expirado, nombre de dominio incorrecto o cadena de confianza incompleta
  2. MX no listado: un servidor MX responde a los correos pero no aparece en la política
  3. Fallo de negociación TLS: el servidor MX no soporta STARTTLS o rechaza la conexión cifrada

Modo enforce: imponer el cifrado TLS

El modo enforce de MTA-STS obliga a los servidores de envío a rechazar la entrega si la conexión TLS falla o si el servidor MX no figura en la política.

version: STSv1
mode: enforce
mx: mx.captaindns.com
max_age: 604800

Este modo ofrece una protección real contra los ataques de downgrade SMTP. Un atacante que intente eliminar STARTTLS o redirigir hacia un servidor MX falso no podrá interceptar los correos: el servidor de envío rechazará la entrega.

Diagrama de progresión del despliegue MTA-STS: testing y luego enforce

Paso 1: desplegar MTA-STS en modo testing

El despliegue inicial requiere dos elementos DNS y un archivo de política HTTPS.

Registro DNS TXT

Publique un registro TXT en _mta-sts.captaindns.com:

_mta-sts.captaindns.com.  IN  TXT  "v=STSv1; id=20260310T000000"

El campo id es un identificador de versión. Increméntelo con cada modificación de la política para que los servidores de envío descarguen la nueva versión.

Archivo de política HTTPS

El archivo debe ser accesible en https://mta-sts.captaindns.com/.well-known/mta-sts.txt. Con CaptainDNS, dos registros CNAME son suficientes: sin servidor web que gestionar, sin certificado que renovar.

Comience con un max_age corto (86 400 segundos = 1 día) para poder corregir rápidamente en caso de problema:

version: STSv1
mode: testing
mx: mx.captaindns.com
max_age: 86400

Verificación

Utilice el verificador MTA-STS para confirmar que su registro DNS y su política están correctamente publicados.

Paso 2: configurar TLS-RPT para recibir los informes

Sin TLS-RPT, el modo testing no sirve de nada. Los servidores de envío detectan los problemas pero no tienen dónde reportarlos.

Registro DNS TLS-RPT

Publique un registro TXT en _smtp._tls.captaindns.com:

_smtp._tls.captaindns.com.  IN  TXT  "v=TLSRPTv1; rua=mailto:tls-reports@captaindns.com"

Los informes TLS-RPT (RFC 8460) se envían diariamente en formato JSON. Cada informe contiene:

  • El dominio remitente y el dominio destinatario
  • El tipo de política aplicada (MTA-STS o DANE)
  • El número de sesiones exitosas y fallidas
  • El detalle de los fallos: tipo de error, certificado presentado, código de resultado

Configurar con CaptainDNS

El generador TLS-RPT crea el registro DNS adaptado a su dominio. Puede dirigir los informes a una dirección de correo electrónico o a un endpoint HTTPS.

Paso 3: analizar los informes y corregir los problemas

Espere 1 a 2 semanas en modo testing antes de pasar a enforce. Este plazo permite recopilar suficientes informes TLS-RPT para identificar los problemas recurrentes.

Interpretar los informes

Tipo de falloCausa probableCorrección
certificate-expiredCertificado TLS del servidor MX expiradoRenovar el certificado
certificate-host-mismatchEl CN/SAN del certificado no corresponde al nombre MXCorregir el certificado o la política
starttls-not-supportedEl servidor MX no soporta STARTTLSActivar STARTTLS en el servidor
sts-policy-fetch-errorLa política HTTPS es inaccesibleVerificar el DNS CNAME y el servidor HTTPS
sts-webpki-invalidEl certificado HTTPS de la política es inválidoRenovar el certificado del servidor web
validation-failureEl MX no figura en la políticaAgregar el MX faltante a la política

Criterios para pasar a enforce

Antes de activar el modo enforce, verifique estas tres condiciones:

  1. Cero fallos TLS recurrentes en los informes de los últimos 7 días
  2. Todos sus servidores MX figuran en la política
  3. Certificados TLS válidos en cada servidor MX (no expirados, CN/SAN correcto)

Si los fallos persisten, corríjalos primero. Un paso prematuro a enforce bloqueará los correos provenientes de servidores que encuentren estos errores.

Checklist de verificaciones antes del paso al modo enforce

Paso 4: pasar a modo enforce

La transición se realiza mediante dos modificaciones: el archivo de política y el registro DNS.

Modificar la política

Cambie mode: testing por mode: enforce y aumente max_age a 604 800 segundos (7 días):

version: STSv1
mode: enforce
mx: mx.captaindns.com
max_age: 604800

Un max_age de 7 días ofrece un buen equilibrio: suficientemente largo para que los servidores de envío almacenen la política en caché (protección contra TOFU), suficientemente corto para permitir un retorno a testing si es necesario.

Actualizar el identificador DNS

Incremente el id en el registro TXT para forzar la actualización:

_mta-sts.captaindns.com.  IN  TXT  "v=STSv1; id=20260310T120000"

Estrategia de retroceso

Si surgen problemas después del paso a enforce:

  1. Vuelva inmediatamente a mode: testing
  2. Incremente el id DNS
  3. Espere la expiración del max_age anterior (7 días como máximo)
  4. Analice los nuevos informes TLS-RPT
  5. Corrija los problemas antes de reintentar el paso a enforce

Errores comunes y soluciones

ErrorConsecuenciaSolución
Pasar a enforce sin TLS-RPTNinguna visibilidad sobre los bloqueosSiempre configurar TLS-RPT antes de enforce
max_age demasiado largo en testingCorrección lenta en caso de problemaUsar 86 400 s (1 día) en testing
max_age demasiado corto en enforceProtección TOFU reducidaUsar 604 800 s (7 días) en enforce
Olvidar un servidor MX en la políticaCorreos rechazados en enforceListar todos los MX con dig MX captaindns.com
No incrementar el idServidores de envío usan la política antiguaSiempre cambiar el id tras cada modificación
Certificado TLS expiradoFallo de validación en enforceAutomatizar la renovación (Let's Encrypt)

Plan de acción recomendado

  1. Verifique su configuración actual: lance un análisis con el verificador MTA-STS
  2. Despliegue en modo testing: publique su política con mode: testing y max_age: 86400
  3. Active TLS-RPT: configure el registro _smtp._tls para recibir los informes diarios
  4. Supervise de 1 a 2 semanas: analice cada informe, corrija los fallos TLS
  5. Pase a enforce: cambie mode: enforce, aumente max_age a 604 800 s, incremente el id

Asegure el transporte de sus correos ahora: aloje su política MTA-STS de forma gratuita con CaptainDNS. Dos registros DNS, cero servidores web, protección activa en 5 minutos.


FAQ

¿Cuál es la diferencia entre el modo testing y el modo enforce de MTA-STS?

En modo testing, los servidores de envío verifican su política MTA-STS pero entregan los correos aunque la conexión TLS falle. Envían un informe TLS-RPT para reportar el problema. En modo enforce, los servidores rechazan la entrega si TLS falla o si el servidor MX no figura en la política.

¿Cuánto tiempo hay que permanecer en modo testing antes de pasar a enforce?

Mínimo de 1 a 2 semanas. Este plazo permite recopilar suficientes informes TLS-RPT provenientes de los principales remitentes (Gmail, Outlook, Yahoo). Si los informes muestran cero fallos TLS durante 7 días consecutivos, puede pasar a enforce.

¿Qué sucede si se pasa directamente a enforce sin fase de testing?

Los correos provenientes de servidores que encuentren un problema TLS con sus MX serán rechazados. Sin informes TLS-RPT previos, no tendrá ninguna visibilidad sobre estos rechazos. Socios o clientes podrían dejar de poder enviarle correos sin que usted lo sepa.

¿Qué max_age utilizar en modo testing y en modo enforce?

En testing, utilice 86 400 segundos (1 día). Este plazo corto permite corregir rápidamente la política si se detecta un problema. En enforce, pase a 604 800 segundos (7 días) para reducir la vulnerabilidad TOFU: los servidores de envío almacenan la política en caché durante más tiempo.

¿Cómo volver al modo testing después de haber activado enforce?

Modifique el archivo de política para volver a mode: testing y luego incremente el id en el registro DNS TXT. Los servidores de envío que hayan almacenado en caché la política enforce seguirán aplicándola hasta la expiración del max_age anterior (7 días como máximo).

¿Es obligatorio TLS-RPT para MTA-STS?

No, TLS-RPT no es técnicamente requerido para que MTA-STS funcione. Pero sin TLS-RPT, no tiene ninguna visibilidad sobre los fallos TLS. En la práctica, desplegar MTA-STS sin TLS-RPT equivale a pilotar a ciegas. Ambos protocolos están diseñados para funcionar juntos.

¿Gmail y Outlook respetan el modo testing de MTA-STS?

Sí. Gmail, Outlook y Yahoo verifican las políticas MTA-STS en modo testing y envían informes TLS-RPT a la dirección configurada. En modo testing, entregan los correos normalmente incluso en caso de fallo TLS, pero reportan el problema en el informe diario.

Descarga la checklist de despliegue

Los asistentes pueden reutilizar la checklist con los exports JSON o CSV de abajo.

Glosario

  • MTA-STS: Mail Transfer Agent Strict Transport Security (RFC 8461). Política publicada vía HTTPS que impone el cifrado TLS para la recepción de correos en un dominio.
  • TLS-RPT: SMTP TLS Reporting (RFC 8460). Mecanismo de informes diarios que reporta los fallos de negociación TLS entre servidores de correo.
  • TOFU: Trust On First Use. Modelo de seguridad donde la primera conexión no se verifica, pero las siguientes se validan gracias a los datos almacenados en caché.
  • max_age: duración (en segundos) durante la cual un servidor de envío conserva en caché la política MTA-STS. Determina la frecuencia de actualización.
  • STARTTLS: extensión SMTP (RFC 3207) que permite negociar una conexión TLS después de establecer una conexión en texto plano en el puerto 25.
  • Downgrade SMTP: ataque de red que elimina la negociación STARTTLS para interceptar los correos en texto plano.

Guías de seguridad del transporte de correo relacionadas

Fuentes

Artículos relacionados