Un server autorizzato può inviare un messaggio indesiderato. Una firma valida può appartenere a un dominio diverso da quello mostrato al destinatario. Ogni controllo risponde a una domanda diversa sul messaggio.
Cosa dimostra ogni controllo?
SPF controlla l'IP di invio, DKIM controlla una firma e DMARC collega un risultato positivo al dominio From visibile.
| Controllo | Identità verificata | Cosa stabilisce un esito positivo | Cosa non stabilisce |
|---|---|---|---|
| SPF | Dominio envelope-from, usato normalmente per i bounce | L'IP di connessione è autorizzato dalla policy di quel dominio. | Il dominio From visibile o l'integrità del messaggio. |
| DKIM | Dominio firmatario nel valore d= della firma | La firma è verificata rispetto alla chiave pubblicata e al contenuto firmato. | Che ogni parte del messaggio sia stata firmata o che i destinatari lo desiderino. |
| DMARC | Dominio From visibile | Almeno un risultato SPF o DKIM positivo è allineato con quel dominio. | Consegna garantita o posizionamento in inbox. |
Come funziona SPF?
Il ricevente confronta l'IP del server di connessione con la policy SPF pubblicata nel DNS per il dominio envelope-from. Può effettuare questo controllo prima di ricevere il corpo del messaggio, perché SPF non esamina il contenuto.
- Pubblichi i server o i servizi autorizzati a utilizzare quel dominio.
- Il ricevente cerca la policy e valuta le sue regole rispetto all'IP di connessione.
- Il ricevente usa il risultato insieme alla propria policy di accettazione e filtraggio.
Se una casella alumni inoltra un messaggio a un altro provider senza modificare l'indirizzo envelope-from, l'IP di inoltro potrebbe non essere autorizzato. Una mailing list può causare lo stesso problema quando reinvia un messaggio. Chi inoltra può usare il Sender Rewriting Scheme (SRS), che cambia l'indirizzo envelope-from in un dominio che può autenticare.
Un record SPF specifica i mittenti autorizzati. Le policy dei provider annidate contano ai fini del limite di lookup DNS.
Come funziona DKIM?
Il tuo server di invio firma il contenuto del messaggio con una chiave privata. Il ricevente usa la chiave pubblica corrispondente nel DNS per verificare la firma.
La firma identifica il dominio firmatario con d= e il selettore della chiave con s=. Il selettore indica quale record DNS contiene la chiave pubblica. Il ricevente cerca la chiave pubblica e verifica la firma usando quel dominio e selettore.
L'inoltro da solo non invalida DKIM, perché il controllo non dipende dall'IP del server di inoltro. Modificare il contenuto firmato, ad esempio aggiungendo un footer della mailing list, può invalidare la firma. La firma autentica il contenuto che copre; non cifra il messaggio.
Come collega DMARC le identità?
DMARC richiede un risultato SPF o DKIM positivo il cui dominio sia allineato con il dominio From visibile. È sufficiente un singolo esito positivo allineato.
Ad esempio, un messaggio che mostra From: billing@example.com può superare SPF per send.example.com con allineamento rilassato. Anche una firma DKIM positiva con d=example.com è allineata. L'autenticazione per unrelated.example non è allineata con example.com semplicemente perché ha esito positivo.
Pubblichi una policy DMARC per richiedere la gestione dei messaggi non autenticati e i report di autenticazione. I riceventi partecipanti forniscono i report; la loro assenza non dimostra che nessuna email abbia usato il tuo dominio.
Cosa configurare per Bird?
Pubblichi DKIM, il CNAME del return-path e DMARC per il tuo dominio di invio. Il CNAME del return-path punta all'infrastruttura bounce di Bird, che fornisce l'autorizzazione SPF senza un record SPF aggiuntivo sull'apex.
Copia i record da dns_records. Controlla capabilities.sending.status per la prontezza all'invio. I suoi valori indicano cosa fare:
| Stato | Significato e azione |
|---|---|
pending | La verifica non è stata eseguita o è in corso; attendi il risultato. |
verified | I record DNS della funzionalità corrispondono ai valori attesi. |
warning | I record verificati in precedenza non corrispondono più; correggili prima della scadenza del periodo di grazia. L'invio non è ancora compromesso. |
failed | Un valore DNS è errato; correggilo. |
temporary_failure | Un lookup DNS è fallito temporaneamente; la verifica riprova automaticamente. |
not_configured | La funzionalità non è configurata per questo dominio. |
Pubblica i record di autenticazione e verifica il tuo dominio di invio.
Quali controlli usare?
Usa SPF e DKIM con DMARC in modo che le identità autenticate siano collegate al dominio che i tuoi destinatari vedono.
- Autorizza l'infrastruttura di invio del dominio envelope-from con SPF.
- Firma i messaggi in uscita con DKIM e pubblica la chiave di verifica.
- Pubblica DMARC, esamina i fallimenti di autenticazione segnalati e correggi i mittenti legittimi prima di applicare la quarantena o il rifiuto.