El cifrado del correo que recibes se puede desactivar sin que lo notes
Instrucciones generales. Abre este artículo desde tu informe de PageCheck para verlo con los servidores de correo de tu dominio y los pasos exactos de tu proveedor de DNS.
Qué es
El correo entre servidores suele ir cifrado, pero solo si ambos lados lo acuerdan por el camino, y un atacante en medio puede quitar esa oferta: el correo se entrega entonces sin cifrar y nadie se da cuenta. MTA-STS es una pequeña política pública que indica a los servidores remitentes que tus servidores de correo siempre admiten cifrado, así que no deben entregar sin él.
Qué falla
example.com no tiene política MTA-STS, así que el cifrado del correo que se le envía se puede desactivar sin que se note. Su política DMARC ya frena el correo falsificado en su nombre; este es el siguiente paso.
Cómo arreglarlo
Empieza en modo testing: los servidores remitentes solo informan de los problemas y siguen entregando cada mensaje, así que nada puede salir mal mientras compruebas la configuración.
1. Escribe el archivo de política.
Guarda esto como un archivo de texto plano llamado mta-sts.txt. Debe incluir cada servidor de correo (MX) del dominio:
mta-sts.txt
version: STSv1 mode: testing mx: mail.example.com max_age: 86400
2. Publícalo en su propia dirección.
El archivo debe abrirse en https://mta-sts.example.com/.well-known/mta-sts.txt por HTTPS, con un certificado válido y sin ninguna redirección: una redirección a www o al sitio principal hace que los remitentes lo ignoren.
Si tu DNS está en Cloudflare, lo más sencillo es un Cloudflare Worker (gratis): Workers & Pages → Create → Create Worker, llámalo mta-sts, sustituye su código por el de abajo y pulsa Deploy. Después, en Settings del Worker → Domains & Routes → Add → Custom domain: mta-sts.example.com. Cloudflare crea el registro DNS y el certificado.
Cloudflare Worker
export default {
async fetch() {
const policy = [
'version: STSv1',
'mode: testing',
'mx: mail.example.com',
'max_age: 86400',
].join('\r\n') + '\r\n';
return new Response(policy, { headers: { 'content-type': 'text/plain; charset=utf-8' } });
},
};
En tu hosting: añade el subdominio mta-sts.example.com con un certificado SSL, crea en él una carpeta llamada .well-known y sube allí mta-sts.txt.
- Plesk: Websites & Domains → Add Subdomain, luego SSL/TLS Certificates → Let's Encrypt, luego File Manager.
- cPanel: Domains → Create A New Domain, luego SSL/TLS Status → Run AutoSSL, luego File Manager.
3. Anuncia la política en el DNS.
- Abre los registros DNS de tu dominio donde se gestiona su DNS: normalmente el registrador del dominio, el proveedor de hosting o Cloudflare.
- Añade un registro
TXTcon el nombre_mta-stsy el valorv=STSv1; id=1, y guarda.
4. Pide informes.
Los servidores remitentes envían entonces cada día por correo un informe de cualquier entrega cifrada que haya fallado. Crea primero el buzón tls-reports@example.com (o usa otra dirección que leas).
- Abre los registros DNS de tu dominio donde se gestiona su DNS: normalmente el registrador del dominio, el proveedor de hosting o Cloudflare.
- Añade un registro
TXTcon el nombre_smtp._tlsy el valorv=TLSRPTv1; rua=mailto:tls-reports@example.com, y guarda.
5. Compruébalo.
Abre https://mta-sts.example.com/.well-known/mta-sts.txt: debería mostrar el archivo como texto plano. Después vuelve a ejecutar esta comprobación: lee el archivo y compara sus líneas mx con tus servidores de correo.
6. Unas dos semanas después: aplícala. Cuando los informes no muestren entregas fallidas, cambia el archivo a modo enforce con un max_age de una semana:
mta-sts.txt
version: STSv1 mode: enforce mx: mail.example.com max_age: 604800
Después cambia el registro TXT _mta-sts a v=STSv1; id=2, para que los remitentes descarguen el nuevo archivo. Cada cambio posterior del archivo necesita un id nuevo, y cuando cambien tus servidores de correo, actualiza primero las líneas mx.
Set up MTA-STS (RFC 8461) for the mail domain example.com, starting in testing mode, and TLS-RPT (RFC 8460) reporting. Its MX hosts (look them up first; this is a placeholder): mail.example.com. Steps: 1. Serve this policy at https://mta-sts.example.com/.well-known/mta-sts.txt over HTTPS with a valid certificate for mta-sts.example.com, status 200, Content-Type text/plain, no redirect: version: STSv1 mode: testing mx: mail.example.com max_age: 86400 Use the web host (a subdomain with its own certificate) or a static host. 2. Add the TXT record _mta-sts.example.com = "v=STSv1; id=1". 3. Add the TXT record _smtp._tls.example.com = "v=TLSRPTv1; rua=mailto:tls-reports@example.com" (make sure that mailbox exists). 4. Verify: curl -sv https://mta-sts.example.com/.well-known/mta-sts.txt (200, no redirect, the policy text) and dig TXT _mta-sts.example.com +short. 5. Tell me to come back in two weeks: if the TLS reports show no failures, switch to mode: enforce with max_age: 604800 and change the TXT record to "v=STSv1; id=2". Every mx line must match an MX host exactly or by a one-label wildcard (*.example.com); a missing one makes enforcing senders refuse mail. Resources: - MTA-STS, RFC 8461 (IETF): https://datatracker.ietf.org/doc/html/rfc8461 - TLS-RPT, RFC 8460 (IETF): https://datatracker.ietf.org/doc/html/rfc8460
Asunto: example.com – configurar MTA-STS para nuestro correo Hola: Una comprobación del sitio (PageCheck) ha detectado que example.com no tiene política MTA-STS, así que el cifrado del correo que se nos envía se puede desactivar por el camino sin que se note. Por favor, en este orden: 1. Publicar una política MTA-STS en modo testing en https://mta-sts.example.com/.well-known/mta-sts.txt (HTTPS, sin redirección), con nuestros servidores de correo: mail.example.com. 2. Añadir el registro TXT _mta-sts.example.com con el valor «v=STSv1; id=1». 3. Añadir el registro TXT _smtp._tls.example.com con el valor «v=TLSRPTv1; rua=mailto:tls-reports@example.com», para los informes de entregas fallidas. Tras unas dos semanas sin fallos en los informes, pasar la política a modo enforce. Recursos: - MTA-STS, RFC 8461 (IETF): https://datatracker.ietf.org/doc/html/rfc8461 - TLS-RPT, RFC 8460 (IETF): https://datatracker.ietf.org/doc/html/rfc8460 ¡Gracias!
Revisa tu sitio para ver si tiene este problema. Revisar un sitio web