Autenticazione delle e-mail: SPF, DKIM e DMARC
Implementi e convalidi i criteri di Sender Policy Framework, DomainKeys Identified Mail e DMARC che impediscono lo spoofing dei domini e il phishing.
Autenticazione delle e-mail: SPF, DKIM e DMARC è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cloud & IT Cert Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Il problema dello spoofing delle email
Il protocollo SMTP di base (progettato negli anni '70) non dispone di un'autenticazione integrata del mittente. Qualsiasi server di posta può dichiarare di inviare email da qualsiasi dominio: una tecnica chiamata email spoofing. Gli attaccanti la sfruttano per inviare email di phishing che sembrano provenire da organizzazioni legittime (la Sua banca, il Suo CEO o un fornitore noto). Per affrontare questo problema sono stati sviluppati tre standard di autenticazione delle email basati su DNS: SPF, DKIM e DMARC. Ognuno affronta un aspetto diverso del problema dello spoofing e funzionano al meglio quando vengono implementati insieme.
Sender Policy Framework (SPF)
SPF è un record DNS TXT che specifica quali server di posta sono autorizzati a inviare email per conto di un dominio. Quando un server di posta ricevente riceve un messaggio che dichiara di provenire da example.com, cerca il record SPF di example.com e verifica che l'indirizzo IP del server mittente sia incluso nell'elenco. Se l'IP non è autorizzato, il messaggio può essere contrassegnato come spam o rifiutato. SPF verifica l'indirizzo From dell'envelope (il comando SMTP MAIL FROM), non l'intestazione From visualizzata dagli utenti.
# SPF DNS TXT record for example.com
# Authorize Google Workspace + SendGrid + company IP
example.com. TXT 'v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.10 -all'
# Mechanism meanings:
# include: authorize another domain's SPF record
# ip4: authorize specific IPv4 address/range
# ip6: authorize specific IPv6 address
# -all FAIL (reject) mail from non-listed sources
# ~all SOFTFAIL (accept but mark as spam)
# ?all NEUTRAL (no policy stated)Limitazioni di SPF
SPF presenta due limitazioni significative. Innanzitutto, l'inoltro interrompe SPF: quando un'email viene inoltrata, l'IP del server di inoltro non è incluso nel record SPF del dominio originale, causando il fallimento di SPF anche per messaggi inoltrati legittimamente. In secondo luogo, SPF autentica solo il From dell'envelope (invisibile agli utenti), non l'intestazione From visibile nei client di posta. Gli attaccanti possono quindi falsificare l'intestazione From visibile utilizzando un From dell'envelope che supera SPF: per questo SPF da solo non è sufficiente. DKIM e DMARC colmano queste lacune.
DomainKeys Identified Mail (DKIM)
DKIM aggiunge una firma crittografica alle email in uscita. Il server di posta mittente utilizza una chiave privata per firmare intestazioni specifiche dell'email e il corpo del messaggio, aggiungendo un'intestazione DKIM-Signature. La chiave pubblica viene pubblicata come record DNS TXT in un sottodominio del selettore. I server riceventi recuperano la chiave pubblica e verificano la firma, confermando che l'email non è stata manomessa durante il transito e che proviene da un server con accesso alla chiave privata. A differenza di SPF, le firme DKIM sopravvivono all'inoltro perché vengono trasportate nelle intestazioni dell'email.
# DKIM DNS TXT record (selector: 'google')
google._domainkey.example.com. TXT \
'v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GN...'
# DKIM-Signature header in email:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com;
s=google; h=from:to:subject:date;
bh=<body_hash>; b=<signature>
# Verification:
# 1. Extract 'b=' (signature)
# 2. Fetch public key at google._domainkey.example.com
# 3. Verify signature over 'h=' headers + body hashSelettori DKIM e rotazione delle chiavi
DKIM utilizza i selettori per consentire più chiavi pubbliche simultanee per un dominio: è utile per gestire più servizi di posta (Google Workspace e una piattaforma di marketing) o per ruotare le chiavi senza interruzioni. Il nome del selettore è incluso nell'intestazione DKIM-Signature, così i server riceventi sanno quale record DNS interrogare. Le organizzazioni dovrebbero ruotare le chiavi DKIM ogni anno o quando si sospetta che una chiave sia stata compromessa. Lunghezza della chiave: sono consigliate chiavi RSA di almeno 2048 bit; le chiavi da 1024 bit sono deprecate e possono essere violate con le moderne capacità di calcolo.
DMARC: autenticazione dei messaggi basata sul dominio
DMARC (Domain-based Message Authentication, Reporting, and Conformance) si basa su SPF e DKIM aggiungendo: un controllo di allineamento (il dominio nell'intestazione From visibile deve corrispondere al dominio autenticato da SPF o DKIM) e un criterio che indica ai server riceventi come comportarsi quando i messaggi non superano i controlli. I criteri DMARC sono none (solo monitoraggio), quarantine (consegna nella cartella spam) o reject (non consegnare). DMARC consente inoltre di ricevere rapporti aggregati (RUA) e rapporti forensi (RUF) inviati al proprietario del dominio, per sapere chi sta inviando messaggi per Suo conto.
# DMARC DNS TXT record
_dmarc.example.com. TXT \
'v=DMARC1; p=reject; sp=reject; \
pct=100; \
rua=mailto:dmarc-reports@example.com; \
ruf=mailto:forensic@example.com; \
adkim=s; aspf=s'
# p=reject : reject failing messages (strongest)
# pct=100 : apply to 100% of messages
# adkim=s : strict DKIM alignment
# aspf=s : strict SPF alignment
# rua= : aggregate report destinationAllineamento DMARC
L'allineamento è ciò che rende DMARC efficace contro lo spoofing delle intestazioni. Per l'allineamento SPF, il dominio nel campo From dell'envelope SMTP deve corrispondere al dominio nell'intestazione From visibile. Per l'allineamento DKIM, il dominio di firma (d= in DKIM-Signature) deve corrispondere al dominio dell'intestazione From. In modalità strict, i domini devono corrispondere esattamente. In modalità relaxed, sono accettati i sottodomini. Un'email supera DMARC se supera SPF OPPURE DKIM con il corretto allineamento: non è necessario che superi entrambi. Questa combinazione elimina la vulnerabilità che SPF da solo lascia aperta allo spoofing dell'intestazione visibile.
# DMARC alignment example
Envelope From: attacker@legit.com <- SPF may PASS for legit.com
From header : spoofed@example.com <- VISIBLE to user
# Without DMARC: SPF passes (envelope from legit.com)
# User sees spoofed@example.com and trusts it
# With DMARC on example.com:
# SPF alignment check: legit.com != example.com -> FAIL
# DKIM: attacker has no private key for example.com -> FAIL
# DMARC result: FAIL -> message rejected per policyImplementazione di DMARC per fasi
Le organizzazioni dovrebbero implementare DMARC progressivamente per evitare di interrompere le email legittime. Fase 1: implementare SPF e DKIM per tutti i flussi di posta. Fase 2: pubblicare un record DMARC p=none con report RUA. Analizzare i report (strumenti: DMARC Analyzer, dmarcian) per individuare tutte le fonti legittime di invio nell'arco di 2-4 settimane. Fase 3: passare a p=quarantine; pct=10, aumentando gradualmente pct fino al 100%. Fase 4: passare a p=reject quando tutti i flussi legittimi superano i controlli. Passare troppo rapidamente a reject, prima di aver individuato tutti i flussi di posta, fa sì che le email legittime vengano rifiutate.
# DMARC rollout stages
Stage 1: p=none; pct=100 (monitoring only)
Stage 2: p=quarantine; pct=10 (10% to spam)
Stage 3: p=quarantine; pct=100 (all to spam)
Stage 4: p=reject; pct=100 (block at MTA)
# Monitor RUA reports between each stage
# Look for legitimate sources failing alignment
# Common gotchas:
# - Marketing platforms sending as your domain
# - IT ticketing systems
# - Automated notification services
# - Third-party CRM toolsBIMI: indicatori del brand per l'identificazione dei messaggi
BIMI è uno standard emergente basato su DMARC. Quando un dominio ha una policy DMARC quarantine o reject, i client di posta (Gmail, Apple Mail) possono visualizzare il logo verificato del brand accanto al nome del mittente nella posta in arrivo. BIMI richiede un Verified Mark Certificate (VMC) rilasciato da un emittente approvato, che confermi la titolarità del marchio. Sebbene BIMI non faccia ancora parte dell'esame Security+, rappresenta la direzione verso cui si sta evolvendo l'autenticazione delle email: rendere i mittenti verificati visivamente distinguibili da quelli contraffatti a colpo d'occhio.
SPF+DKIM+DMARC insieme
I tre standard formano un sistema completo di autenticazione delle email. SPF verifica che il server di invio sia autorizzato dal proprietario del dominio. DKIM verifica l'integrità del messaggio e che l'organizzazione mittente possieda la chiave privata. DMARC collega entrambi all'intestazione From visibile, applica una policy in caso di errori e fornisce report. Nessun singolo standard è sufficiente: SPF da solo non può impedire lo spoofing dell'intestazione visibile; DKIM da solo non impone il rifiuto dei messaggi che non superano i controlli; DMARC da solo, senza SPF o DKIM, non ha nulla su cui effettuare i controlli. Per una protezione completa dallo spoofing del dominio, è necessario implementare tutti e tre.
# Email authentication check order
1. Receiving MTA receives message
2. SPF check: is sending IP authorized? (envelope From)
3. DKIM check: is signature valid? (using public key DNS)
4. DMARC check:
a. Did SPF pass with alignment? OR
b. Did DKIM pass with alignment?
-> If YES: PASS (deliver normally)
-> If NO: apply DMARC policy (none/quarantine/reject)
5. Reporting: send aggregate data to rua= addressBanner per le email esterne
Una misura pratica di difesa in profondità contro il phishing e il BEC consiste nell'aggiungere un banner di avviso per le email esterne a ogni messaggio proveniente dall'esterno dell'organizzazione. Questo banner, in genere inserito dal SEG, avvisa i dipendenti che l'email proviene da un mittente esterno, anche quando il nome visualizzato sembra essere quello di un collega o di un dirigente. I banner sono particolarmente efficaci nel segnalare tentativi di BEC in cui l'attaccante utilizza un dominio simile a quello legittimo o falsifica il nome visualizzato. Il banner dovrebbe essere visivamente distintivo (con un'intestazione o un piè di pagina colorato) e includere istruzioni per segnalare i messaggi sospetti.
# Example external email banner (SEG inserts this)
# --- EXTERNAL EMAIL ---
# This message was sent from outside the organization.
# Do not click links or open attachments unless
# you expected this email and trust the sender.
# Report suspicious email: phishing@company.com
# ----------------------
# Proofpoint SEG: add disclaimer via content filter
# Match: Header 'X-MS-Exchange-Organization-SCL' absent
# Action: Prepend HTML banner to message bodyVerifica rapida
Verifichi la Sua comprensione dei concetti di CompTIA Security+ (SY0-701) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha appreso che: SPF utilizza record DNS TXT per autorizzare gli IP di invio, ma controlla solo il From dell'envelope e non l'intestazione visibile; DKIM aggiunge firme crittografiche che verificano l'integrità del messaggio e restano valide anche dopo l'inoltro; DMARC collega SPF e DKIM all'intestazione From visibile mediante controlli di allineamento e una policy applicabile (none/quarantine/reject), oltre a fornire report. Nella prossima lezione esamineremo i gateway email sicuri e i controlli antispam.
Impara Cloud & IT Cert Prep con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 150
- Lezioni
- 600
Domande Frequenti
La lezione «Autenticazione delle e-mail: SPF, DKIM e DMARC» è gratuita?
Sì — il testo completo di «Autenticazione delle e-mail: SPF, DKIM e DMARC» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cloud & IT Cert Prep, passa a CoddyKit PRO. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Cosa imparerò in «Autenticazione delle e-mail: SPF, DKIM e DMARC»?
Implementi e convalidi i criteri di Sender Policy Framework, DomainKeys Identified Mail e DMARC che impediscono lo spoofing dei domini e il phishing. Eserciti Cloud & IT Cert Prep con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cloud & IT Cert Prep?
Non è richiesta alcuna esperienza precedente. Cloud & IT Cert Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Autenticazione delle e-mail: SPF, DKIM e DMARC»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cloud & IT Cert Prep?
Sì. Ogni lezione Cloud & IT Cert Prep include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Autenticazione delle e-mail: SPF, DKIM e DMARC
- Gateway e-mail sicuri e controlli antispam
- Filtraggio dei contenuti web e DNS sinkhole
- Ispezione SSL/TLS e attacchi Man-in-the-Browser