Qué es MTA-STS

MTA-STS (RFC 8461) hace que el correo que recibes viaje cifrado y llegue a tus servidores de correo, y no a otro.

Entre servidores, SMTP cifra con STARTTLS solo si los dos lados lo ofrecen. Si un atacante en la red quita la oferta de STARTTLS, el servidor que te escribe entrega el mensaje en claro. Tampoco comprueba el certificado de tu servidor, así que no detecta un servidor falso. MTA-STS cierra esos dos huecos: tu dominio publica qué servidores reciben su correo y exige TLS con un certificado válido.

Qué protege y qué no

  • Protege el correo que otros envían a tu dominio. Lo aplican los servidores que te escriben, como Gmail y Microsoft 365.
  • No cambia el correo que tú envías. Para eso cuenta la política MTA-STS del dominio de destino.
  • No sustituye a DMARC, SPF ni DKIM. Ellos autentican al remitente. MTA-STS protege el transporte hasta tus servidores.

Cómo funciona

MTA-STS tiene dos piezas:

Pieza Dónde Ejemplo
Registro TXT _mta-sts.<dominio> v=STSv1; id=20261115093000
Fichero de política https://mta-sts.<dominio>/.well-known/mta-sts.txt ver abajo
version: STSv1
mode: testing
mx: aspmx.l.google.com
mx: *.aspmx.l.google.com
max_age: 604800

Cuando un servidor va a entregarte un mensaje:

  1. Consulta el registro TXT _mta-sts.<dominio>.
  2. Si no tiene la política en caché, o el id ha cambiado, descarga el fichero por HTTPS. El certificado de mta-sts.<dominio> tiene que ser válido.
  3. Guarda la política durante max_age segundos.
  4. Solo entrega a los servidores MX que coinciden con una línea mx, por TLS y con un certificado válido para su nombre.

Campos de la política

Campo Valores
mode testing: informa de los fallos y entrega igualmente. enforce: no entrega si falla TLS o el MX no coincide. none: retira la política.
mx Un servidor MX por línea. *. sustituye solo a la primera etiqueta: *.aspmx.l.google.com acepta alt1.aspmx.l.google.com.
max_age Segundos que el remitente guarda la política. Como máximo 31557600 (un año).

El id del registro TXT tiene que cambiar cada vez que cambia la política. Si no cambia, los remitentes siguen con la copia de su caché hasta que caduca.

MTA-STS y TLS-RPT

TLS-RPT (RFC 8460) es el registro TXT _smtp._tls.<dominio>. Con él, los remitentes te envían cada día un informe con las conexiones TLS que han abierto hacia tus servidores y los fallos que han encontrado.

Publica siempre los dos juntos. En modo testing, los informes TLS son la única forma de saber si enforce bloquearía correo. Consulta Informes TLS (TLS-RPT).

Cómo desplegarlo sin perder correo

  1. Empieza en testing con TLS-RPT publicado.
  2. Revisa los informes TLS durante una o dos semanas. Tienen que llegar de varios remitentes y sin fallos.
  3. Pasa a enforce.
  4. Si cambias de proveedor de correo, añade los MX nuevos a la política antes de cambiar los registros MX. Los remitentes guardan la lista antigua durante max_age.
  5. Para retirarlo, publica mode: none y mantenlo durante un max_age entero. Después borra los registros. Si los borras antes, los remitentes siguen aplicando la copia de su caché.

Tus servidores MX necesitan un certificado válido para su nombre. Google Workspace y Microsoft 365 ya lo tienen. Si usas tu propio servidor de correo, compruébalo antes de pasar a enforce.

Tres formas de publicarlo

Alojado en DMARC Examiner Chart de Helm Servidor propio
Qué haces tú Crear 2 registros CNAME Instalar el chart en tu clúster Servir el fichero y publicar el TXT
Certificado HTTPS Lo emitimos nosotros cert-manager en tu clúster Lo gestionas tú
id de la política Automático Automático Lo cambias tú en cada cambio
Registro TLS-RPT Lo creas tú (lo muestra la pestaña Registros DNS) Lo publica el chart Lo publicas tú
Cambios de MX Los detectamos cada hora Los editas en values.yaml Los editas tú
Sugerencia de enforce Sí, con tus informes TLS No No
Plan Desde Basic Todos (código abierto, licencia MIT) Todos

Las tres opciones funcionan con la tarjeta MTA-STS y con los informes TLS de DMARC Examiner.

Cómo comprobarlo

  • En DMARC Examiner: la tarjeta MTA-STS del Resumen de cada dominio muestra el modo publicado y avisa si la política no se puede descargar o no es válida.
  • Sin cuenta: el verificador de cumplimiento de email comprueba el registro TXT, el fichero de política y su certificado.
  • Desde la terminal:
dig +short TXT _mta-sts.example.com
curl -s https://mta-sts.example.com/.well-known/mta-sts.txt

Artículos relacionados