Il meccanismo di inclusione consente a un SPF la policy si basa sulla decisione di autorizzazione di un altro dominio. È utile quando un servizio di invio continua a cambiare l'infrastruttura. Invece di copiare un elenco di indirizzi nel tuo record, valuti la politica attuale del fornitore quando viene raggiunta tale inclusione.
Anche questa comodità è una dipendenza. Un'inclusione può modificare le autorizzazioni man mano che cambia la destinazione, consumare il budget di ricerca SPF o propagare un errore di destinazione. Il suo comportamento è specificato in RFC 7208 sezione 5.2.
Leggi include come test di superamento
Una normale include:service.example.net corrisponde solo se la politica del servizio valutata ricorsivamente restituisce il pass per l'IP di connessione. Il valore predefinito + il qualificatore del meccanismo esterno produce quindi pass.
Se il servizio restituisce fail, softfail o neutral, l'inclusione non corrisponde e la valutazione continua nella policy esterna. Se il servizio ritorna temperror O permerror, l'errore si propaga. Un obiettivo senza Registro SPF produce permerror per include, invece di essere ignorato in modo innocuo.
Un qualificatore può anche precedere include. Ad esempio, -include produce fail quando il figlio restituisce pass. Questa è una sintassi valida ma di solito non è il modo previsto per autorizzare un fornitore. Controllare il qualificatore anziché dare per scontato che la parola include conceda sempre l'accesso.
Esempio pratico: preserva la fine della tua policy
Presupponendo una sintassi valida, un record SPF selezionato per ciascun nome e un recupero DNS riuscito, questo dispositivo sintetico utilizza v=spf1 ip4:192.0.2.10 include:service.example.net -all su example.com . Il servizio pubblica v=spf1 ip4:198.51.100.9 -all.
Una connessione da 192.0.2.10 passa sul meccanismo locale. Una connessione da 198.51.100.9 raggiunge l'inclusione e passa perché passa il figlio. Una connessione da 203.0.113.20 raggiunge il figlio, riceve child fail, riprende la policy esterna e riceve fail dal suo final -all .
Modificare il finale esterno in ~all e l'ultimo indirizzo riceverà invece softfail . Il provider decide comunque se includere le corrispondenze, ma la tua policy determina il risultato ordinario quando non lo fa. Questa distinzione è il motivo per cui copiare l'intero testo del bambino non equivale a utilizzare include.
Verifica che l'inclusione appartenga al tuo servizio
Ottieni l'obiettivo esatto dalle attuali istruzioni del prodotto proprietario. La piattaforma di marketing, la piattaforma transazionale e il servizio di posta dei dipendenti di un fornitore possono avere percorsi di invio diversi. Non selezionare un nome host dall'aspetto plausibile da un articolo di terze parti.
Stabilire inoltre in quale dominio viene utilizzato il prodotto MAIL DA. La pubblicazione di un'inclusione su example.com non aiuta un controllo SPF eseguito su un dominio busta di proprietà del fornitore. Se hai bisogno di una busta personalizzata, configura tale funzionalità tramite il prodotto e verificala nella posta ricevuta.
Mantenere un proprietario, uno scopo e una condizione di pensionamento per ciascuna inclusione. Un servizio annullato non dovrebbe mantenere l'autorizzazione a tempo indeterminato, ma rimuoverla solo dopo aver controllato i lavori programmati, le campagne poco frequenti e i team delegati.
Budget per le dipendenze ricorsive
Sotto RFC 7208 §4.1 E RFC 7208 §4.6.4, un'inclusione è uno dei termini che causano query DNS coperti dal limite di valutazione di dieci termini di SPF . Anche i suoi termini nidificati contano quando vengono valutati. Diverse inclusioni di primo livello possono pertanto superare il limite anche quando il record visibile sembra breve.
Utilizza tracce specifiche dell'input per IP di invio legittimi e per un IP non autorizzato che attraversa una parte maggiore della policy. Registrare le risposte target e il tempo di valutazione. Un test riuscito oggi non è la prova che un provider non modificherà mai il proprio albero delle dipendenze.
La sostituzione delle include con intervalli IP copiati trasferisce all'utente la responsabilità della manutenzione. Non descrivetela come una semplificazione gratuita. Hai bisogno di un processo di aggiornamento verificato, di una copertura IPv6 e di un piano per le modifiche che si verificano mentre le risposte DNS sono memorizzate nella cache.
Il pratico takeaway
Includere importa una decisione di passaggio e una dipendenza operativa, non una promessa sull'autore visibile o sulla sicurezza del messaggio. Mantieni la destinazione verificata, l'autorizzazione intenzionale e il percorso ricorsivo entro i limiti.
Mantenere la decisione riproducibile
Registra il risultato del bambino e il risultato esterno in diverse colonne: pass→match→qualificatore esterno; fallire/ softfail /neutro→non corrispondente→continua; temperror / permerror →stesso errore; nessuno → permerror . Per -include, il pass figlio significa il fallimento esterno. Conserva la destinazione esatta, il qualificatore, l'osservazione DNS e l'IP di input con qualsiasi richiesta di supporto. Questa è la mappatura RFC, non la prova del fornitore in tempo reale.