Vai al contenuto principale

Configurare MTA-STS per Microsoft 365 e Google Workspace

Di CaptainDNS
Pubblicato il 8 febbraio 2026

Configurare MTA-STS per Microsoft 365, Google Workspace e Cloudflare
TL;DR
  • Microsoft 365 utilizza il pattern MX *.mail.protection.outlook.com nella policy MTA-STS; Google Workspace richiede i pattern *.google.com e *.googlemail.com
  • Il file di policy mta-sts.txt deve essere ospitato in HTTPS sul sottodominio mta-sts del tuo dominio, con un certificato TLS valido
  • Cloudflare Pages o Cloudflare Workers permettono di ospitare gratuitamente il file di policy con HTTPS automatico
  • Implementa sempre in modalità testing con TLS-RPT attivo prima di passare alla modalità enforce

Utilizzi Microsoft 365 o Google Workspace per le tue email aziendali. I tuoi server MX sono configurati correttamente, SPF, DKIM e DMARC sono attivi. Ma il trasporto tra server SMTP resta vulnerabile: senza MTA-STS, un attaccante può forzare una connessione in chiaro e intercettare i tuoi messaggi.

MTA-STS (Mail Transfer Agent Strict Transport Security, RFC 8461) risolve questo problema imponendo la crittografia TLS per la ricezione delle email. Il principio è semplice: pubblichi un record DNS e un file di policy che dichiarano i tuoi server MX autorizzati e richiedono una connessione TLS valida.

Questo tutorial ti guida passo dopo passo per implementare MTA-STS su Microsoft 365, Google Workspace e Cloudflare. Ogni sezione contiene i pattern MX esatti, i file di configurazione pronti da copiare e i comandi di validazione. Se stai scoprendo MTA-STS, consulta prima la nostra guida completa MTA-STS per capire il funzionamento del protocollo (vedi la sezione Guide correlate a fine articolo).

Prerequisiti comuni a tutti i provider

Prima di configurare MTA-STS, verifica questi tre punti per il tuo dominio:

1. Certificati TLS validi sui tuoi MX

Tutti i tuoi server MX devono disporre di un certificato TLS valido (TLS 1.2 minimo). Con Microsoft 365 e Google Workspace, è così di default: Microsoft e Google gestiscono i certificati dei loro server MX.

2. Accesso alla tua zona DNS

Devi poter creare un record TXT su _mta-sts.captaindns.com e un record CNAME o A per il sottodominio mta-sts.captaindns.com.

3. Hosting HTTPS per il file di policy

Il file mta-sts.txt deve essere accessibile all'URL esatto https://mta-sts.captaindns.com/.well-known/mta-sts.txt. Hai bisogno di un hosting HTTPS con un certificato valido per il sottodominio mta-sts.

Prerequisiti MTA-STS: certificato TLS, zona DNS e hosting HTTPS

MTA-STS per Microsoft 365 / Office 365

Il pattern MX Microsoft 365

Microsoft 365 utilizza server MX nella forma captaindns-com.mail.protection.outlook.com. Il pattern wildcard corrispondente per la tua policy MTA-STS è:

*.mail.protection.outlook.com

Questo pattern copre tutti i server MX Microsoft 365, comprese le varianti regionali e le configurazioni con Exchange Online Protection (EOP).

Per verificare i tuoi MX Microsoft 365:

dig MX captaindns.com +short
# Risultato atteso: 0 captaindns-com.mail.protection.outlook.com.

File di policy per Microsoft 365

Crea il file mta-sts.txt con il seguente contenuto:

version: STSv1
mode: testing
mx: *.mail.protection.outlook.com
max_age: 86400
DirettivaValoreSpiegazione
versionSTSv1Versione del protocollo
modetestingMonitoraggio senza blocco (fase iniziale)
mx*.mail.protection.outlook.comCopre tutti i MX Microsoft 365
max_age86400Cache di 24h (adatto al testing)

Record DNS per Microsoft 365

Aggiungi questo record TXT nella tua zona DNS:

_mta-sts.captaindns.com. 300 IN TXT "v=STSv1; id=20260207120000"

Il campo id deve essere aggiornato a ogni modifica della policy. Utilizza un timestamp nel formato YYYYMMDDHHMMSS per facilitare il monitoraggio.

Microsoft 365 supporta MTA-STS?

Microsoft supporta MTA-STS in invio: quando un server Microsoft 365 invia un'email, verifica la policy MTA-STS del dominio destinatario. Microsoft supporta anche MTA-STS in ricezione: puoi pubblicare una policy per il tuo dominio ospitato su Microsoft 365, e i server mittenti la rispetteranno.

MTA-STS per Google Workspace

I pattern MX Google Workspace

Google Workspace utilizza diversi server MX con nomi variati. I pattern da includere nella tua policy MTA-STS sono:

*.google.com
*.googlemail.com

Questi due pattern coprono l'intero set di server MX Google Workspace, includendo:

Server MXPriorità
aspmx.l.google.com1
alt1.aspmx.l.google.com5
alt2.aspmx.l.google.com5
alt3.aspmx.l.google.com10
alt4.aspmx.l.google.com10

File di policy per Google Workspace

version: STSv1
mode: testing
mx: *.google.com
mx: *.googlemail.com
max_age: 86400

Nota che servono due righe mx: una per *.google.com e una per *.googlemail.com. MTA-STS richiede che ogni pattern sia dichiarato su una riga separata.

Record DNS per Google Workspace

Il record DNS è identico nella struttura:

_mta-sts.captaindns.com. 300 IN TXT "v=STSv1; id=20260207120000"

Google Workspace e TLS-RPT

Google è uno dei provider più attivi in materia di TLS-RPT. Se attivi MTA-STS e TLS-RPT, riceverai report dettagliati da Google sulle negoziazioni TLS con il tuo dominio. Questi report sono preziosi per identificare i problemi prima di passare alla modalità enforce.

Ospitare MTA-STS su Cloudflare

Il file di policy deve essere accessibile su https://mta-sts.captaindns.com/.well-known/mta-sts.txt. Cloudflare offre due opzioni gratuite per l'hosting.

Opzione 1: Cloudflare Pages (consigliato)

Cloudflare Pages è la soluzione più semplice. Crea un repository con la seguente struttura:

mio-progetto-mta-sts/
  .well-known/
    mta-sts.txt

Passaggi per il deployment:

  1. Crea un repository Git (GitHub o GitLab) con il file .well-known/mta-sts.txt
  2. Collegalo a Cloudflare Pages: Dashboard Cloudflare > Pages > Create a project
  3. Configura la build: Framework preset = None, Build command = (vuoto), Output directory = /
  4. Aggiungi il dominio personalizzato: Settings > Custom domains > mta-sts.captaindns.com
  5. Configura il DNS: Cloudflare crea automaticamente un record CNAME

Cloudflare Pages fornisce un certificato TLS automatico tramite Let's Encrypt. Non è necessaria nessuna configurazione aggiuntiva.

Opzione 2: Cloudflare Worker

Per un controllo più granulare o se non vuoi utilizzare un repository Git, un Cloudflare Worker può servire il file di policy:

export default {
  async fetch(request) {
    const url = new URL(request.url);

    if (url.pathname === '/.well-known/mta-sts.txt') {
      const policy = `version: STSv1
mode: testing
mx: *.mail.protection.outlook.com
max_age: 86400`;

      return new Response(policy, {
        headers: {
          'Content-Type': 'text/plain; charset=utf-8',
          'Cache-Control': 'public, max-age=3600',
        },
      });
    }

    return new Response('Not Found', { status: 404 });
  },
};

Passaggi:

  1. Crea un Worker: Dashboard Cloudflare > Workers & Pages > Create application
  2. Incolla il codice qui sopra (adatta le righe mx al tuo provider)
  3. Aggiungi una route personalizzata: mta-sts.captaindns.com/*
  4. Configura il DNS: Aggiungi un record AAAA mta-sts che punta a 100:: (proxied)

Il piano gratuito Cloudflare Workers include 100.000 richieste al giorno, più che sufficienti per MTA-STS.

Quale Content-Type utilizzare?

Il file di policy deve essere servito con il Content-Type text/plain. La RFC 8461 non specifica un charset obbligatorio, ma text/plain; charset=utf-8 è consigliato per la compatibilità.

Confronto delle opzioni di hosting MTA-STS: Cloudflare Pages vs Workers

Attivare TLS-RPT per monitorare il deployment

TLS-RPT (SMTP TLS Reporting, RFC 8460) è il compagno indispensabile di MTA-STS. Ti invia report giornalieri sui successi e i fallimenti della negoziazione TLS.

Creare il record TLS-RPT

Aggiungi questo record TXT nella tua zona DNS:

_smtp._tls.captaindns.com. 300 IN TXT "v=TLSRPTv1; rua=mailto:tls-reports@captaindns.com"

I report vengono inviati in formato JSON, compressi in gzip, all'indirizzo email specificato. Puoi anche utilizzare un URL HTTPS per ricevere i report tramite webhook:

_smtp._tls.captaindns.com. 300 IN TXT "v=TLSRPTv1; rua=https://tls-reports.captaindns.com/v1/report"

Cosa contengono i report TLS-RPT?

Ogni report copre un periodo di 24 ore e include:

InformazioneDescrizione
Dominio della policyIl tuo dominio (captaindns.com)
Periodo del reportData di inizio e fine
Organizzazione mittenteGoogle, Microsoft, ecc.
Contatore successiNumero di connessioni TLS riuscite
Contatore fallimentiNumero di connessioni fallite
Tipo di errorestarttls-not-supported, certificate-expired, validation-failure, ecc.

Interpretare i report

In modalità testing, monitora i report per 2-4 settimane. Se il tasso di errore è nullo o prossimo allo zero, puoi passare alla modalità enforce con tranquillità.

Gli errori più comuni nei report:

ErroreCausa probabileAzione
certificate-expiredCertificato TLS scaduto su un MXRinnovare il certificato
certificate-host-mismatchNome host MX non coperto dal certificatoVerificare il SAN del certificato
validation-failureCatena di certificati incompletaInstallare i certificati intermedi
sts-policy-fetch-errorFile mta-sts.txt inaccessibileVerificare l'hosting HTTPS
sts-webpki-invalidCertificato del sottodominio mta-sts non validoRinnovare il certificato

Dal testing all'enforce: piano di migrazione

Fase 1: Deployment iniziale (settimana 1)

  1. Crea il file di policy in modalità testing con max_age: 86400
  2. Ospitalo su Cloudflare Pages o Workers
  3. Pubblica il record DNS _mta-sts
  4. Attiva TLS-RPT
  5. Valida con il verificatore MTA-STS CaptainDNS

Fase 2: Monitoraggio (settimane 2-4)

  1. Analizza i report TLS-RPT giornalieri
  2. Correggi gli errori identificati (certificati, MX non coperti)
  3. Verifica che il tasso di successo TLS raggiunga il 100%

Fase 3: Passaggio a enforce

  1. Modifica il file di policy: mode: enforce
  2. Aumenta max_age: passa a 604800 (7 giorni) poi 2592000 (30 giorni)
  3. Aggiorna il campo id del record DNS
  4. Continua a monitorare i report TLS-RPT
version: STSv1
mode: enforce
mx: *.mail.protection.outlook.com
max_age: 2592000

Rollback di emergenza alla modalità testing

Se delle email vengono rifiutate dopo il passaggio a enforce:

  1. Torna immediatamente a mode: testing nel file di policy
  2. Aggiorna il campo id del record DNS
  3. I server mittenti riscaricheranno la policy e smetteranno di rifiutare

Il tempo di propagazione dipende dal max_age precedente. Ecco perché è consigliato aumentare max_age in modo progressivo.

Piano d'azione consigliato

  1. Identifica il tuo provider email: Verifica i tuoi record MX con dig MX captaindns.com +short
  2. Crea il file di policy: Utilizza il generatore MTA-STS CaptainDNS con i pattern MX del tuo provider
  3. Ospita la policy: Fai il deployment su Cloudflare Pages (opzione più semplice e gratuita)
  4. Pubblica i record DNS: Aggiungi _mta-sts (TXT) e _smtp._tls (TLS-RPT)
  5. Valida la configurazione: Verifica con il verificatore di sintassi MTA-STS che la policy sia corretta
  6. Monitora per 2-4 settimane: Analizza i report TLS-RPT prima di passare a enforce

Verifica la tua configurazione MTA-STS adesso: Utilizza il nostro verificatore MTA-STS per analizzare il tuo dominio in pochi secondi.


FAQ

Come configurare MTA-STS per Microsoft 365?

Crea un file mta-sts.txt con la direttiva mx: *.mail.protection.outlook.com, ospitalo in HTTPS sul sottodominio mta-sts del tuo dominio e pubblica un record DNS TXT su _mta-sts con v=STSv1; id=<timestamp>. Inizia in modalità testing con un max_age di 86400 secondi (24 ore).

Come configurare MTA-STS per Google Workspace?

Il file di policy deve contenere due righe mx: mx: *.google.com e mx: *.googlemail.com. Questi pattern coprono tutti i server MX Google Workspace (aspmx.l.google.com e le sue alternative). Il resto della configurazione (record DNS, hosting HTTPS) è identico a Microsoft 365.

Quale pattern MX usare per Office 365 nella policy MTA-STS?

Il pattern corretto è *.mail.protection.outlook.com. Questo wildcard copre tutti i server MX Microsoft 365, comprese le varianti regionali e Exchange Online Protection. Verifica i tuoi MX con dig MX captaindns.com +short per confermare che corrispondano a questo pattern.

Come ospitare il file mta-sts.txt su Cloudflare?

Due opzioni: Cloudflare Pages (crea un repository Git con il file .well-known/mta-sts.txt e aggiungi il dominio personalizzato mta-sts.captaindns.com) o Cloudflare Workers (fai il deployment di uno script che restituisce il contenuto della policy con il Content-Type text/plain). Entrambe le opzioni sono gratuite e forniscono un certificato TLS automatico.

È necessario configurare TLS-RPT insieme a MTA-STS?

Sì, fortemente consigliato. TLS-RPT (RFC 8460) ti invia report giornalieri sui successi e i fallimenti della negoziazione TLS. Pubblica un record DNS TXT su _smtp._tls con v=TLSRPTv1; rua=mailto:tls-reports@captaindns.com. Senza TLS-RPT, non hai nessuna visibilità sui problemi del tuo deployment MTA-STS.

MTA-STS funziona con un Cloudflare Worker gratuito?

Sì. Il piano gratuito Cloudflare Workers include 100.000 richieste al giorno, più che sufficienti per MTA-STS. I server mittenti interrogano la tua policy occasionalmente (al primo invio e alla scadenza della cache max_age). Un Worker gratuito copre tranquillamente milioni di email al mese.

Microsoft e Google supportano MTA-STS nativamente?

Sì, entrambi. Google supporta MTA-STS in invio (verifica le policy dei domini destinatari) e pubblica report TLS-RPT. Microsoft 365 supporta MTA-STS in invio dal 2020 e invia anche report TLS-RPT. Entrambi i provider gestiscono automaticamente i certificati TLS dei loro server MX.

Come verificare se il mio record MTA-STS è valido?

Utilizza il verificatore MTA-STS CaptainDNS per controllare il tuo record DNS, il file di policy, il certificato TLS del sottodominio mta-sts e la corrispondenza tra i pattern MX dichiarati e i tuoi MX reali. Puoi anche verificare manualmente con dig TXT _mta-sts.captaindns.com e curl https://mta-sts.captaindns.com/.well-known/mta-sts.txt.

Glossario

  • MTA-STS: Mail Transfer Agent Strict Transport Security. Standard RFC 8461 che impone la crittografia TLS per la ricezione delle email.
  • TLS-RPT: SMTP TLS Reporting (RFC 8460). Meccanismo di report sui successi e i fallimenti della negoziazione TLS.
  • Exchange Online Protection (EOP): Servizio di filtraggio email di Microsoft 365 che gestisce i server MX *.mail.protection.outlook.com.
  • Cloudflare Pages: Servizio di hosting di siti statici di Cloudflare con HTTPS automatico e deployment tramite Git.
  • Cloudflare Workers: Piattaforma serverless di Cloudflare che permette di eseguire JavaScript il più vicino possibile agli utenti.
  • max_age: Direttiva della policy MTA-STS che indica la durata del caching in secondi.

Guide MTA-STS correlate

Fonti

Articoli simili