¿Qué es MTA-STS?
MTA-STS (Mail Transfer Agent Strict Transport Security) es un estándar de seguridad de correo definido en la RFC 8461. Permite al propietario de un dominio declarar que sus servidores de correo admiten el cifrado TLS, y obligar a los servidores emisores a rechazar la entrega en lugar de enviar un mensaje en texto plano.
El problema que resuelve es antiguo. SMTP negocia TLS de forma oportunista: si el comando STARTTLS falla, el mensaje se envía igualmente, sin cifrar. Un atacante situado en la ruta de red aprovecha esa tolerancia: suprime STARTTLS y fuerza un envío en texto plano que intercepta, es el llamado ataque de degradación (downgrade). MTA-STS elimina ese repliegue. Sin un TLS válido hacia tus servidores MX, el correo simplemente no se entrega.
Más allá de la protección contra la interceptación y los ataques man-in-the-middle, publicar MTA-STS indica que tu dominio aplica las buenas prácticas de cifrado en tránsito. Google y Microsoft 365 lo admiten del lado emisor, y lo acoplan con TLS-RPT para reportar los fallos de conexión.
Componentes MTA-STS
Una configuración MTA-STS se apoya en dos elementos publicados por separado: un registro DNS que anuncia la política, y la política en sí, alojada por HTTPS. Ambos deben mantenerse coherentes para que un servidor emisor aplique tus reglas.
1. Registro DNS
Un registro TXT publicado en _mta-sts.tudominio.com anuncia que tu dominio admite MTA-STS:
_mta-sts.ejemplo.com. IN TXT "v=STSv1; id=20240115120000"
- v=STSv1: versión del protocolo (siempre
STSv1) - id: identificador de la versión actual; modifícalo cada vez que actualices la política
2. Archivo de política
La política es un archivo de texto alojado en https://mta-sts.tudominio.com/.well-known/mta-sts.txt:
version: STSv1
mode: enforce
mx: mail.ejemplo.com
mx: *.backup-mail.ejemplo.com
max_age: 604800
La directiva mx puede aparecer varias veces para listar todos tus servidores de recepción. El campo mode acepta enforce, testing o none.
Lista de comprobación de implementación
Implementa MTA-STS en este orden: primero la política y su certificado HTTPS, y solo después el registro DNS. Mientras la política no sea accesible, el registro no tiene ningún efecto: los servidores emisores no tienen nada que aplicar.
Paso 1: Configura el host de la política
- Crea un subdominio:
mta-sts.tudominio.com - Obtén un certificado HTTPS (Let's Encrypt funciona)
- Configura tu servidor web para servir el archivo de política
Paso 2: Crea y aloja el archivo de política
- Usa el generador de arriba para crear tu política
- Guárdala con el nombre
mta-sts.txt - Alójala en
/.well-known/mta-sts.txt
Paso 3: Añade el registro DNS
- Genera el registro DNS con la herramienta de arriba
- Añádelo a tu DNS como registro TXT en
_mta-sts
Paso 4: Prueba y monitoriza
- Valida tu configuración con el Verificador MTA-STS
- Permanece en modo testing el tiempo necesario para detectar problemas
- Pasa a modo enforce una vez confirmada la configuración
FAQ - Preguntas frecuentes
P: ¿Qué es MTA-STS y por qué lo necesito?
R: MTA-STS (Mail Transfer Agent Strict Transport Security) es un estándar definido en la RFC 8461 que permite al propietario de un dominio declarar que sus servidores de correo exigen TLS. Sin él, SMTP vuelve a texto plano en cuanto falla la negociación TLS, algo que un atacante puede provocar para interceptar el correo. MTA-STS elimina ese repliegue y protege tus correos entrantes contra la interceptación y los ataques man-in-the-middle.
P: ¿Cuál es la diferencia entre los modos testing y enforce?
R: En modo testing, los servidores emisores reportan los fallos vía TLS-RPT pero entregan el correo igualmente si TLS falla: no se bloquea nada, solo observas. En modo enforce, deben establecer una conexión TLS válida o rechazar la entrega. Empieza siempre en testing para comprobar que todos tus servidores MX responden por TLS, y luego pasa a enforce.
P: ¿Cómo implemento el archivo de política MTA-STS?
R: Aloja el archivo de política en https://mta-sts.tudominio.com/.well-known/mta-sts.txt. El subdominio mta-sts debe presentar un certificado HTTPS válido, servir el archivo con la cabecera Content-Type: text/plain y permanecer accesible sin redirecciones. Si falta una sola de estas condiciones, la política se ignora.
P: ¿Qué valor max_age debo usar?
R: La directiva max_age fija el tiempo, en segundos, durante el cual los emisores guardan tu política en caché. Los valores habituales van desde 86400 (1 día) en fase de testing hasta 604800 (1 semana) en producción, y hasta 31557600 (1 año) para una configuración estable. Evita bajar de 86400: algunos proveedores como Gmail ignoran una política con un caché demasiado corto.
P: ¿Puedo usar wildcards en los patrones MX?
R: Sí. MTA-STS acepta un asterisco (*) como la etiqueta más a la izquierda de un patrón MX. Por ejemplo, *.mail.ejemplo.com cubre cualquier subdominio de mail.ejemplo.com, lo que evita listar cada servidor uno por uno.
P: ¿También necesito un registro TLS-RPT?
R: No es obligatorio, pero es muy recomendable. Un registro TLS-RPT (RFC 8460) pide a los servidores emisores que te envíen un informe diario de los fallos de conexión TLS. Es tu única visibilidad sobre lo que MTA-STS bloquea o deja pasar: sin él, un problema de certificado pasa desapercibido.
P: ¿Cómo configuro MTA-STS para Microsoft 365 / Office 365?
R: Introduce tu dominio en el generador, elige el modo (empieza con testing) y añade el patrón MX *.mail.protection.outlook.com, que cubre los servidores Exchange Online. Copia el registro DNS TXT y luego aloja el archivo de política en el subdominio mta-sts de tu dominio.
P: ¿Cómo configuro MTA-STS para Google Workspace?
R: Introduce tu dominio y añade los patrones MX que tu dominio publica realmente: smtp.google.com para un dominio Workspace reciente (MX único con prioridad 1 desde 2023), o el conjunto histórico aspmx.l.google.com para el MX principal, *.aspmx.l.google.com para los cuatro MX alternativos y *.googlemail.com para los de respaldo. El generador produce el registro DNS TXT y el archivo de política listos para implementar.
¿Listo para blindar tu cifrado en tránsito? Genera tu configuración arriba, implementa la política y valida todo con el Verificador MTA-STS.
Herramientas complementarias
| Herramienta | Descripción |
|---|---|
| Verificador MTA-STS | Valida la configuración MTA-STS publicada en tu dominio |
| Validador de sintaxis MTA-STS | Comprueba la sintaxis MTA-STS sin conexión |
| Generador DMARC | Crea el registro DMARC de tu dominio |
| Alojamiento MTA-STS | Aloja gratis tu política MTA-STS |
Recursos útiles
- RFC 8461 - SMTP MTA Strict Transport Security (especificación oficial de MTA-STS)
- RFC 8460 - SMTP TLS Reporting (TLS-RPT, el reporting recomendado con MTA-STS)
- Documentación MTA-STS de Google (guía de Google Workspace para activar MTA-STS)