Tu MTA-STS puede no estar protegiendo nada: cómo comprobarlo
Publicado: 16 de octubre de 2026
Esta semana nuestro propio monitor lo detectó en nuestro propio dominio. El registro TXT _mta-sts estaba publicado y cualquier comprobador de DNS lo daba por correcto. Pero la política que anunciaba no se podía leer: el servidor detrás de mta-sts. respondía con un certificado autofirmado. Para cualquier servidor que nos enviara correo, nuestro MTA-STS no existía.
Es un error fácil de pasar por alto, porque no se rompe nada. El correo sigue llegando. Lo único que se pierde es la protección que creías tener.
Qué necesita MTA-STS para funcionar
MTA-STS (RFC 8461) les dice a los demás servidores de correo: «entrégame el correo solo por una conexión cifrada, y solo a estos servidores». Tiene dos piezas, y las dos tienen que estar bien:
- Un registro TXT en
_mta-sts.tudominio.comque anuncia la política, por ejemplov=STSv1; id=20261016000000;. - Un fichero de texto, la política en sí, servido en
https://mta-sts.tudominio.com/.well-known/mta-sts.txt.
La segunda pieza tiene tres requisitos estrictos: tiene que servirse por HTTPS, con un certificado válido para mta-sts.tudominio.com emitido por una autoridad pública, y con una respuesta 200 directa. Quien envía no sigue redirecciones.
Una política típica es así:
version: STSv1
mode: testing
mx: mx1.yourprovider.net
mx: mx2.yourprovider.net
max_age: 86400Qué pasa cuando la política no se puede leer
Un remitente que admite MTA-STS, como Gmail o Microsoft 365, ve el registro TXT e intenta descargar la política. Si no puede, por un certificado malo, una redirección o un fichero que falta, actúa como si tu dominio no tuviera MTA-STS. Entrega el mensaje como antes: cifrado si puede y en claro si no.
No hay rebote ni aviso. El registro del DNS dice que estás protegido, y los remitentes que importan lo están ignorando.
Si además publicas TLS-RPT (_smtp._tls.tudominio.com), los informes diarios de los remitentes lo mostrarán como sts-policy-fetch-error o sts-webpki-invalid. Sin TLS-RPT, nadie te lo dice.
Las causas habituales
El sitio mta-sts no existe en el servidor web
El nombre apunta a tu servidor, pero no hay ningún sitio configurado para él. El servidor responde con su sitio por defecto, que suele llevar un certificado de otro nombre o uno autofirmado. Este era nuestro caso.
El certificado no cubre el nombre
El certificado es válido, pero solo para tudominio.com y www.tudominio.com. Un certificado comodín para *.tudominio.com sí cubre mta-sts.tudominio.com; uno solo del dominio, no.
Una redirección por medio
Las reglas que mandan todo a https://www o a la portada también atrapan el fichero de la política. Para un navegador está bien; para un servidor de correo es un fallo.
El certificado caducó
Funcionaba cuando se montó. Noventa días después la renovación falló para ese nombre, y nadie volvió a mirarlo.
Cómo comprobarlo
Primero, el registro:
dig +short TXT _mta-sts.tudominio.comDespués, la política, tal como la pediría un remitente. Si el certificado no es válido, curl rechazará la conexión y dirá por qué:
curl -sS -D - https://mta-sts.tudominio.com/.well-known/mta-sts.txtLo que quieres ver es un 200, Content-Type: text/plain y el texto de la política. Para ver qué certificado presenta de verdad el servidor:
openssl s_client -connect mta-sts.tudominio.com:443 -servername mta-sts.tudominio.com </dev/null 2>/dev/null | openssl x509 -noout -issuer -subject -ext subjectAltName -enddateEl subjectAltName tiene que incluir mta-sts.tudominio.com, y el emisor tiene que ser una autoridad pública, no tu propio servidor.
Por último, compara las líneas mx: de la política con tus registros MX reales (dig +short MX tudominio.com). Un servidor que falte en la política será rechazado en cuanto pases a enforce.
Nuestro diagnóstico gratuito hace estas comprobaciones de una vez: el registro, la política, su certificado y la coincidencia con tus registros MX.
Cómo arreglarlo
- Crea un sitio para
mta-sts.tudominio.comen tu servidor web, o en cualquier alojamiento estático, que sirva solo el fichero/.well-known/mta-sts.txtcomotext/plain. - Consigue un certificado para ese nombre exacto. Let's Encrypt es gratuito; con Apache y certbot es un comando:
certbot --apache -d mta-sts.tudominio.com. - Asegúrate de que ninguna redirección se aplica a ese sitio.
- Vuelve a comprobarlo con
curl. Si la respuesta es el texto de la política, sin errores, los remitentes ya pueden leerla.
No hace falta cambiar el registro TXT para arreglarlo. Los remitentes que fallaron lo volverán a intentar y encontrarán la política.
Después: de testing a enforce
Empieza con mode: testing. Los remitentes leen la política, informan de los problemas por TLS-RPT y siguen entregando. Cuando los informes lleven un par de semanas limpios, pasa a mode: enforce, sube max_age a una semana como mínimo (604800) y cambia el id del registro TXT para que los remitentes descarguen la versión nueva.
Una cosa más: el certificado de mta-sts. se renueva como cualquier otro, y si una renovación falla, la protección vuelve a desaparecer igual de callada. Es el tipo de cosa que conviene vigilar de forma continua, no comprobar una vez.