“~ All” nel mezzo di un record SPF segnala la fine del record quando viene analizzato?


9

Il formato di registrazione SPF della nostra azienda è il seguente:

"v = spf1 include: _spf.google.com ~ all a mx ip4: XX0.0 / 23 include: spf.example.com? all"

Quindi abbiamo un "~ all" nel mezzo del nostro record SPF. Sul sito Web openspf.com , dicono questo riguardo al meccanismo "all":

Questo meccanismo corrisponde sempre. Di solito va alla fine del record SPF.

Quindi, non dicono "tutto" DEVE andare alla fine del record SPF, ma che alla fine va di solito.

Nella nostra azienda, ultimamente abbiamo riscontrato alcuni soft fail nelle e-mail inviate dai server elencati nel nostro record SPF, eppure il nostro record SPF supera tutti gli strumenti di convalida che ho trovato finora.

Quello che mi chiedo è: questo "~ all" direttamente dopo l'inclusione per Google Apps (_spf.google.com) causerebbe l'interruzione dell'analisi e non riconoscerebbe i pezzi rimanenti del record SPF? Il passaggio contro il fallimento dipende da chi lo sta analizzando e dalla loro specifica implementazione di come elaborano i record SPF? C'è qualche motivo per avere un meccanismo "tutto" che non si trova alla fine di un record SPF?

E sì, lo so che potremmo semplicemente cambiare il nostro record SPF. Questa domanda riguarda più il chiarimento di come tutto ciò funziona e non necessariamente la risoluzione della nostra situazione specifica.

Risposte:


11

RFC 7208 § 5.1 è esplicito al riguardo: dopo allappare, tutto ciò che deve essere ignorato.

I meccanismi dopo "tutto" non saranno mai testati. I meccanismi elencati dopo "tutto" DEVONO essere ignorati. Qualsiasi modificatore di "reindirizzamento" ( Sezione 6.1 ) DEVE essere ignorato quando è presente un meccanismo "tutto" nel record, indipendentemente dall'ordinamento relativo dei termini.

La RFC obsoleta, la RFC 4408 , ha detto più o meno la stessa cosa; la versione più recente della RFC chiarisce semplicemente l'intenzione.

I meccanismi dopo "tutto" non saranno mai testati. Qualsiasi modificatore di "reindirizzamento" ( Sezione 6.1 ) non ha alcun effetto quando esiste un meccanismo "tutto".

Pertanto, le implementazioni conformi di SPF ignoreranno completamente tutto dopo il primo ~all. Ciò non significa, tuttavia, che ogni implementazione sia conforme alle specifiche. In particolare, questo è stato probabilmente ritenuto degno di chiarimento proprio perché una o più implementazioni non erano conformi.

Non è affatto chiaro perché uno strumento di convalida online non rilevi questa errata configurazione, ma se si intende utilizzare qualcosa dopo il primo allda utilizzare, è necessario correggere il record, poiché le implementazioni appropriate lo ignoreranno.


7

"v = spf1 include: _spf.google.com ~ all a mx ip4: XX0.0 / 23 include: spf.example.com? all"

dice in ordine:

"l'email che passa il record SPF di _spf.google.comè valida per il nostro dominio"

"softfail su tutti gli altri mittenti per il nostro dominio"

"le email provenienti dai nostri record A sono valide per il nostro dominio"

"le email provenienti dai nostri record MX sono valide per il nostro dominio"

"l'email proveniente dall'intervallo IP x.x.0.0/23è valida per il nostro dominio"

"l'email che passa il record SPF di spf.example.comè valida per il nostro dominio"

"le e-mail di tutti gli altri mittenti del nostro dominio non possono essere convalidate in un modo o nell'altro"

Per la sintassi Record:

I meccanismi sono valutati in ordine. Se nessun meccanismo o modificatore corrisponde, il risultato predefinito è "Neutro".

Quindi per i tuoi, una volta che ha colpito il "softfail per tutti gli altri", questo è tutto a riguardo ... dovrebbe ignorare il resto dei meccanismi che hai specificato.

Il tuo record SPF dovrebbe essere il più breve possibile. Dubito fortemente che tu abbia un'intera rete / 23 che dovrebbe inviare e-mail per il tuo dominio, né tutti i tuoi record A. Forse è così ... ma molto probabilmente no.

Un bel record SPF pulito dovrebbe assomigliare a:

"v = spf1 include: _spf.google.com include: spf.example.com mx -all"

Il che direbbe sostanzialmente che _spf.google.com, spf.example.com e i tuoi record MX sono gli unici mittenti validi per il tuo dominio ... tutto il resto dovrebbe essere considerato non valido.


0

Un correttore SPF correttamente implementato metterà in corto circuito una corrispondenza del meccanismo e la funzione check_host () restituirà il valore del qualificatore come risultato. Non ho dati del "mondo reale" da fornirti riguardo alla maggior parte dei server di posta elettronica che seguono o meno la RFC.

Fonte: RFC7208 (vedi pagina 17)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.