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: 604800Cuando un servidor va a entregarte un mensaje:
- Consulta el registro TXT
_mta-sts.<dominio>. - Si no tiene la política en caché, o el
idha cambiado, descarga el fichero por HTTPS. El certificado demta-sts.<dominio>tiene que ser válido. - Guarda la política durante
max_agesegundos. - 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
- Empieza en
testingcon TLS-RPT publicado. - Revisa los informes TLS durante una o dos semanas. Tienen que llegar de varios remitentes y sin fallos.
- Pasa a
enforce. - 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. - Para retirarlo, publica
mode: noney mantenlo durante unmax_ageentero. 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