Uso di Sender Policy Framework (SPF) in Microsoft 365 per impedire lo spoofing

Mancia

Sapevi che puoi provare gratuitamente le funzionalità in Microsoft 365 Defender per Office 365 Piano 2? Usare la versione di valutazione Defender per Office 365 di 90 giorni nell'hub delle versioni di valutazione del portale di Microsoft 365 Defender. Informazioni su chi può iscriversi e sulle condizioni di valutazione qui.

Si applica a

Riepilogo: Questo articolo descrive come Microsoft 365 usa il record TXT di Sender Policy Framework (SPF) in DNS per garantire che i sistemi di posta elettronica di destinazione consideri attendibili i messaggi inviati dal dominio personalizzato. Questo vale per la posta in uscita inviata da Microsoft 365. I messaggi inviati da Microsoft 365 a un destinatario all'interno di Microsoft 365 passeranno sempre SPF.

Un record TXT SPF è un record DNS che consente di impedire lo spoofing e il phishing verificando il nome del dominio da cui vengono inviati i messaggi di posta elettronica. SPF consente di convalidare l'origine dei messaggi di posta elettronica verificando l'indirizzo IP del mittente in base al proprietario del dominio del mittente.

Nota

I tipi di record SPF sono stati deprecati dall'Internet Engineering Task Force (IETF) nel 2014. Assicurarsi quindi di utilizzare i record TXT in DNS per pubblicare le informazioni SPF. Il resto di questo articolo utilizza il termine record TXT SPF per maggiore chiarezza.

Gli amministratori di dominio pubblicano le informazioni SPF in record TXT in DNS. Le informazioni SPF identificano i server di posta elettronica in uscita autorizzati. I sistemi di posta elettronica di destinazione verificano che l'origine dei messaggi sia un server di posta elettronica in uscita autorizzato. Se si ha già familiarità con SPF o si ha una distribuzione semplice e è sufficiente sapere cosa includere nel record TXT SPF in DNS per Microsoft 365, è possibile passare a Configurare SPF in Microsoft 365 per evitare lo spoofing. Se non si dispone di una distribuzione completamente ospitata in Microsoft 365 o si vogliono altre informazioni sul funzionamento di SPF o su come risolvere i problemi di SPF per Microsoft 365, continuare a leggere.

Nota

In precedenza, era necessario aggiungere un record SPF o TXT diverso al dominio personalizzato se si utilizzava anche SharePoint Online. Ciò non è più necessario. Questa modifica dovrebbe ridurre il rischio che i messaggi di notifica di SharePoint Online finiscano nella cartella Posta indesiderata. Non è necessario apportare immediatamente alcuna modifica, ma se si riceve l'errore "troppe ricerche", modificare il record TXT SPF come descritto in Configurare SPF in Microsoft 365 per evitare lo spoofing.

Funzionamento di SPF per impedire lo spoofing e il phishing in Microsoft 365

SPF determina se un mittente è autorizzato a inviare per conto di un dominio. Se il mittente non è autorizzato a eseguire questa operazione, ovvero se il messaggio di posta elettronica non riesce il controllo SPF nel server ricevente, i criteri di posta indesiderata configurati in tale server determinano le operazioni da eseguire con il messaggio.

Ogni record TXT SPF contiene tre parti: la dichiarazione che si tratta di un record TXT SPF, gli indirizzi IP autorizzati a inviare posta dal dominio e dai domini esterni che possono inviare per conto del dominio e una regola di imposizione. È necessario disporre di tutti e tre gli elementi per avere un record TXT SPF valido. Questo articolo descrive come creare il record TXT SPF e fornisce le procedure consigliate per l'uso dei servizi in Microsoft 365. Vengono inoltre forniti i collegamenti alle istruzioni sull'uso del registrar per pubblicare il record in DNS.

Nozioni principali su SFP: Indirizzi IP autorizzati all'invio dal dominio personalizzato

Ecco la sintassi di base di una regola SPF:

v=spf1 Regola di imposizione <IP><>

Si supponga, ad esempio, che sia presente la seguente regola SPF per contoso.com:

v=spf1 <Indirizzo IP #1><Indirizzo IP #2><Indirizzo IP #3><Regola di imposizione>

In questo esempio la regola SPF indica al server di posta elettronica ricevente di accettare solo messaggi provenienti da questi indirizzi IP per il dominio contoso.com:

  • Indirizzo IP #1

  • Indirizzo IP #2

  • Indirizzo IP #3

Questa regola SPF indica al server di posta elettronica ricevente che se un messaggio proviene da contoso.com, ma non da uno di questi tre indirizzi IP, il server di ricezione deve applicare la regola di imposizione al messaggio. La regola di imposizione è in genere una di queste opzioni:

  • Errore bloccante. Contrassegnare il messaggio con "Errore bloccante" nella busta del messaggio e quindi seguire il criterio contro la posta indesiderata configurato del server di ricezione per questo tipo di messaggio.

  • Errore non bloccante. Contrassegnare il messaggio con "Errore non bloccante" nella busta del messaggio. In genere, i server di posta elettronica sono configurati per recapitare questi messaggi comunque. La maggior parte degli utenti finali non vede questo segno.

  • Neutro. Non fare nulla, ovvero non contrassegnare la busta del messaggio. Questo è riservato per scopi di test e viene usato raramente.

Negli esempi seguenti viene illustrato il funzionamento di SPF in diverse situazioni. In questi esempi, contoso.com è il mittente e woodgrovebank.com è il destinatario.

Esempio 1: Autenticazione di un messaggio di posta elettronica inviato direttamente dal mittente al destinatario

SPF è ideale quando il percorso dal mittente al destinatario è diretto, ad esempio:

Diagramma che mostra in che modo SPF autentica la posta elettronica inviata direttamente da un server all'altro.

Quando woodgrovebank.com riceve il messaggio, se l'indirizzo IP #1 è nel record TXT SPF per contoso.com, il messaggio passa il controllo SPF e viene autenticato.

Esempio 2: Indirizzo del mittente falsificato non supera il controllo SPF

Si supponga che un truffatore trovi un modo per effettuare lo spoofing di contoso.com:

Diagramma che mostra in che modo SPF autentica la posta elettronica inviata da un server falsificato.

Poiché l'indirizzo IP n. 12 non è presente nel record TXT SPF di contoso.com, il messaggio non riesce e il destinatario può scegliere di contrassegnarlo come posta indesiderata.

Esempio 3: SPF e messaggi inoltrati

Uno svantaggio di SPF consiste nel fatto che non funziona quando un messaggio di posta elettronica è stato inoltrato. Ad esempio, si supponga che l'utente in woodgrovebank.com abbia configurato una regola di inoltro per inviare tutta la posta elettronica a un account di outlook.com:

Diagramma che mostra come SPF non sia in grado di autenticare la posta elettronica che viene inoltrata.

Il messaggio passa originariamente il controllo SPF in woodgrovebank.com, ma il controllo SPF non riesce all'outlook.com perché IP n. 25 non è presente nel record TXT SPF di contoso.com. Outlook.com potrebbe quindi contrassegnare il messaggio come posta indesiderata. Per risolvere questo problema, usare SPF con altri metodi di autenticazione della posta elettronica, ad esempio DKIM e DMARC.

Nozioni principali su SFP: Inclusione di domini di terze parti in grado di inviare posta elettronica per conto del proprio dominio

Oltre agli indirizzi IP, è possibile configurare il record TXT SPF anche in modo che includa domini come mittenti. Questi vengono aggiunti al record TXT SPF come istruzioni "#include". Ad esempio, contoso.com potrebbe voler includere tutti gli indirizzi IP dei server di posta elettronica da contoso.net e contoso.org, di cui è proprietario. A tale scopo, contoso.com pubblica un record TXT SPF simile al seguente:

v=spf1 include:contoso.net include:contoso.org -all

Quando il server ricevente visualizza questo record in DNS, esegue anche una ricerca DNS sul record TXT SPF per contoso.net e quindi per contoso.org. Se trova un'altra istruzione di inclusione all'interno dei record per contoso.net o contoso.org, seguirà anche queste istruzioni. Per evitare attacchi Denial of Service, il numero massimo di ricerche DNS per un singolo messaggio di posta elettronica è 10. Ogni istruzione #include rappresenta una ricerca DNS aggiuntiva. Se un messaggio supera il limite di 10, il messaggio non supera il controllo SPF. Una volta che un messaggio raggiunge questo limite, a seconda del modo in cui viene configurato il server di ricezione, il mittente può ricevere un messaggio che indica che il messaggio ha generato "troppe ricerche" o che il "numero massimo di hop per il messaggio è stato superato" (che può verificarsi quando il ciclo di ricerche e supera il timeout DNS). Per suggerimenti su come evitare questo problema, vedere Risoluzione dei problemi: Procedure consigliate per SPF in Microsoft 365.

Requisiti per il record TXT SPF e Microsoft 365

Se si configura la posta quando si configura Microsoft 365, è già stato creato un record TXT SPF che identifica i server di messaggistica Microsoft come origine di posta elettronica legittima per il dominio. Questo record probabilmente sarà simile al seguente:

v=spf1 include:spf.protection.outlook.com -all

Se si è un cliente completamente ospitato, ovvero non si dispone di server di posta locali che inviano posta in uscita, questo è l'unico record TXT SPF che è necessario pubblicare per Office 365.

Se si dispone di una distribuzione ibrida (ovvero si dispone di alcune cassette postali locali e alcune ospitate in Microsoft 365) o se si è un cliente autonomo di Exchange Online Protection (EOP), ovvero l'organizzazione usa EOP per proteggere le cassette postali locali, è necessario aggiungere l'indirizzo IP in uscita per ogni server di posta perimetrale locale al record TXT SPF in DNS.

Creare il record TXT SPF per Microsoft 365

Utilizzare le informazioni relative alla sintassi fornite in questo articolo per formare il record TXT SPF per il dominio personalizzato. Anche se sono disponibili altre opzioni di sintassi non menzionate qui, queste sono le opzioni più comunemente utilizzate. Dopo aver creato il record, è necessario aggiornare il record nel registrar del dominio.

Per informazioni sui domini che è necessario includere per Microsoft 365, vedere Record DNS esterni necessari per SPF. Utilizzare le istruzioni dettagliate per aggiornare i record (TXT) SPF per il registrar.

Sintassi del record TXT SPF per Microsoft 365

Un record TXT SPF tipico per Microsoft 365 ha la sintassi seguente:

v=spf1 [<ip4>|<ip6>:<IP address>] [include:<domain name>] <enforcement rule>

Ad esempio:

v=spf1 ip4:192.168.0.1 ip4:192.168.0.2 include:spf.protection.outlook.com -all

dove:

  • v=spf1 è obbligatorio. Ciò definisce il record TXT come record TXT SPF.

  • ip4 indica che si usano indirizzi IP versione 4. ip6 indica che si usano indirizzi IP versione 6. Se si usano indirizzi IP IPv6, sostituire ip4 con ip6 negli esempi di questo articolo. È inoltre possibile specificare intervalli di indirizzi IP utilizzando la notazione CIDR, ad esempio ip4:192.168.0.1/26.

  • IP address è l'indirizzo IP da aggiungere al record TXT SPF. In genere, questo è l'indirizzo IP del server di posta in uscita per l'organizzazione. È possibile elencare più server di posta in uscita. Per altre informazioni, vedere Esempio: record TXT SPF per più server di posta elettronica locali in uscita e Microsoft 365.

  • domain name è il dominio da aggiungere come mittente legittimo. Per un elenco dei nomi di dominio da includere per Microsoft 365, vedere Record DNS esterni necessari per SPF.

  • La regola di imposizione in genere è una delle seguenti:

    • -all

      Indica un errore bloccante. Se si conoscono tutti gli indirizzi IP autorizzati per il dominio, elencarli nel record TXT SPF e usare il qualificatore -all (hard fail). Inoltre, se si usa solo SPF, ovvero non si usa DMARC o DKIM, è necessario usare il qualificatore -all. È consigliabile usare sempre questo qualificatore.

    • ~all

      Indica un errore non bloccante. Se non si è certi di avere l'elenco completo degli indirizzi IP, utilizzare il qualificatore ~all (errore non bloccante). Inoltre, se si usa DMARC con p=quarantine o p=reject, è possibile usare ~all. In caso contrario, utilizzare -all.

    • ?all

      Indica un elemento neutro. Si usa durante il test di SPF. Non è consigliabile usare questo qualificatore nella distribuzione live.

Esempio: record TXT SPF da usare quando tutti i messaggi di posta elettronica vengono inviati da Microsoft 365

Se tutti i messaggi di posta elettronica vengono inviati da Microsoft 365, usarlo nel record TXT SPF:

v=spf1 include:spf.protection.outlook.com -all

Esempio: record TXT SPF per uno scenario ibrido con un Exchange Server locale e Microsoft 365

In un ambiente ibrido, se l'indirizzo IP del server Exchange locale è 192.168.0.1, per impostare la regola di imposizione SPF sull'errore bloccante, formare il record TXT SPF come segue:

v=spf1 ip4:192.168.0.1 include:spf.protection.outlook.com -all

Esempio: record TXT SPF per più server di posta elettronica locali in uscita e Microsoft 365

Se l'utente ha più server di posta in uscita, includere l'indirizzo IP per ciascun server di posta nel record TXT SPF e separare ogni indirizzo IP con uno spazio seguito da "ip4:". Ad esempio:

v=spf1 ip4:192.168.0.1 ip4:192.168.0.2 ip4:192.168.0.3 include:spf.protection.outlook.com -all

Passaggi successivi: Configurare SPF per Microsoft 365

Dopo aver formulato il record TXT SPF, seguire la procedura descritta in Configurare SPF in Microsoft 365 per impedire lo spoofing per aggiungerlo al dominio.

Anche se SPF è progettato per impedire lo spoofing, ma esistono tecniche di spoofing che SPF non può proteggere. Per proteggersi da questi attacchi, dopo aver configurato SPF, è necessario configurare anche DKIM e DMARC per Microsoft 365. Per iniziare, vedere Usare DKIM per convalidare la posta elettronica in uscita inviata dal dominio personalizzato in Microsoft 365. Successivamente, vedere Utilizzare DMARC per convalidare la posta elettronica in Microsoft 365.

Risoluzione dei problemi: procedure consigliate per SPF in Microsoft 365

È possibile creare un solo record TXT SPF per il dominio personalizzato. La creazione di più record causa un round robin e SPF ha esito negativo. Per evitare questo problema, è possibile creare record distinti per ogni sottodominio. Ad esempio, creare un record per contoso.com e un altro per bulkmail.contoso.com.

Se un messaggio di posta elettronica causa più di 10 ricerche DNS prima che venga recapitato, il server di posta elettronica ricevente risponderà con un errore permanente, detto anche permerrore, e causerà l'esito negativo del controllo SPF del messaggio. Il server di ricezione può rispondere anche con un rapporto di mancato recapito (NDR) che contiene un errore simile al seguente:

  • Il messaggio ha superato il numero massimo di hop.

  • Il messaggio ha richiesto un numero eccessivo di ricerche.

Evitare l'errore "troppe ricerche" quando si usano domini di terze parti con Microsoft 365

Alcuni record TXT SPF per i domini di terze parti passano direttamente al server di ricezione per eseguire un numero elevato di ricerche DNS. Ad esempio, al momento, Salesforce.com contiene 5 istruzioni #include nel relativo record:

v=spf1 include:_spf.google.com
include:_spfblock.salesforce.com
include:_qa.salesforce.com
include:_spfblock1.salesforce.com
include:spf.mandrillapp.com mx ~all

Per evitare l'errore, è possibile implementare un criterio in cui chiunque invia posta elettronica in blocco, ad esempio, deve utilizzare un sottodominio specifico per questo scopo. È quindi possibile definire un record TXT SPF diverso per il sottodominio che include la posta elettronica in blocco.

In alcuni casi, come nell'esempio di salesforce.com, è necessario utilizzare il dominio nel record TXT SPF, ma altre volte la terza parte deve avere già creato un sottodominio da utilizzare per questo scopo. Ad esempio, exacttarget.com ha creato un sottodominio che è necessario usare per il record TXT SPF:

cust-spf.exacttarget.com

Quando si includono domini di terze parti nel record TXT SPF, è necessario confermare con la terza parte quale dominio o sottodominio usare per evitare di superare il limite di 10 ricerche.

Come visualizzare il record TXT SPF corrente e determinare il numero di ricerche necessarie

È possibile utilizzare nslookup per visualizzare i record DNS, incluso il record TXT SPF. Sono disponibili molti strumenti online gratuiti che è possibile usare per visualizzare il contenuto del record TXT SPF. Osservando il record TXT SPF e seguendo la catena di istruzioni #include e reindirizzamenti, è possibile determinare il numero di ricerche DNS necessarie per il record. Alcuni strumenti online consentono anche di contare e visualizzare tali ricerche. Tenere traccia di questo numero consentirà di impedire ai messaggi inviati dall'organizzazione di attivare un errore permanente, denominato errore perm, dal server ricevente.

Ulteriori informazioni

Serve assistenza per l'aggiunta del record TXT SPF? Leggere l'articolo Creare record DNS in qualsiasi provider di hosting DNS per Microsoft 365 per informazioni dettagliate sull'utilizzo di Sender Policy Framework con il dominio personalizzato in Microsoft 365. Le intestazioni dei messaggi di protezione dalla posta indesiderata includono i campi di sintassi e intestazione usati da Microsoft 365 per i controlli SPF.