Combattere spoofing e phishing con SPF e DKIM

Transcript

Combattere spoofing e phishing con SPF e DKIM
Combattere spoofing e phishing
con SPF e DKIM
Luca Biffi, Direttore Supporto Tecnico di Achab
[email protected]
© Achab – techjam MDaemon
Agenda
• Phishing e Spoofing
• SPF
• DKIM
• Diffusione SPF e DKIM
• Conclusioni
• Questioni e domande
© Achab – 2
Phishing
Che cos’è il phishing?
© Achab – 3
Spoofing
Che cos’è lo spoofing?
o IP Spoofing: contraffazione degli IP
di provenienza dei pacchetti
o EMAIL Spoofing: allegato email di
tipo diverso da quello dichiarato
o Nell’ambito di MDaemon
identifichiamo lo spoofing con
l’abuso del dominio e degli indirizzi
di posta altrui
© Achab – 4
Abuso dominio di posta – Controlli in MDaemon
•
•
•
•
•
Reverse lookup
SPF/Sender ID
DomainKeys/DKIM
VBR
Backscatter
© Achab – 5
SPF (1)
Cos’è
• Sender Policy Framework (SPF), creato nel 2003 per
combattere lo "spoofing" ed il furto di un indirizzo e-mail
per inviare posta in modo illecito
• Protocollo sviluppato da un gruppo di volontari. NON è un
prodotto commerciale a scopo di lucro
• Efficace protocollo per l’autenticazione del mittente
• Adottato da un crescente numero di host di dominio e di
Internet Service Provider (ISP) (Gmail, Hotmail, …)
© Achab – 6
SPF (2)
Come funziona
• Tutti i domini pubblicano uno o più record MX per dichiarare al
mondo intero quali macchine ricevono la posta elettronica per i
domini stessi
• SPF funziona pubblicando uno o più record "reverse MX“, ovvero
dei record che dichiarano al mondo intero quali macchine sono
autorizzate ad inviare e-mail per i domini in oggetto
• SPF autentica le identità dei comandi HELO e MAIL FROM nella
fase di trasporto confrontando l' indirizzo IP del server mittente
con l'elenco degli indirizzi IP autorizzati, pubblicati dal proprietario
del dominio in un record DNS "v = spf1”
© Achab – 7
SPF (3)
achab.it
V=spf1 ip4:1.2.3.4 -all
Achab
DNS
SMTP
1.2.3.4
helo: achab.it
mail from: [email protected]
v
Destinatario
X
SMTP
helo: achab.it
mail from: [email protected]
5.6.7.8
© Achab – 8
SPF (4)
© Achab – 9
SPF (5)
Esempio di record SPF
La ditta Azienda possiede il dominio azienda.it e ha una partnership con
Achab che invia delle e-mail a nome di azienda.it dai propri mail server.
Azienda ha pubblicato il seguente record SPF:
all"
Azienda.it TXT "v=spf1 mx a:pluto.azienda.it include:achab.it -
Il significato delle parti del record SPF è il seguente:
•v=spf1 : SPF versione 1
•mx : i server che ricevono la posta in ingresso (MX) del dominio sono
autorizzati anche a spedire i messaggi per azienda.it
•a:pluto.azienda.it : la macchina pluto.azienda.it è anch’essa
autorizzata
•include:achab.it : qualsiasi cosa considerata legittima per achab.it è
legittima anche per azienda.it,
•-all : tutte le altre macchine NON sono autorizzate
© Achab – 10
SPF (6)
Elementi della sintassi
• Meccanismi
utilizzati per descrivere l'insieme di host che sono designati per inviare
posta in uscita per un dominio.
all | ip4 | ip6 | a | mx | ptr | exists | include
• Modificatori (ognuno può apparire una sola volta)
redirect | exp
• Qualificatori (precedono i meccanismi)
"+”
"-“
"~“
"?“
Pass
Fail
SoftFail
Neutral
http://www.openspf.org/Specifications
© Achab – 11
SPF (7)
Altri esempi di record SPF
• achab.it
v=spf1 ip4:83.103.96.226/29 ip4:77.93.254.48/28 –all
• Hotmail
v=spf1 ip4:209.240.192.0/19 ip4:65.52.0.0/14 ip4:131.107.0.0/16
ip4:157.54.0.0/15 ip4:157.56.0.0/14 ip4:157.60.0.0/16
ip4:167.220.0.0/16 ip4:204.79.135.0/24 ip4:204.79.188.0/24
ip4:204.79.252.0/24 ip4:207.46.0.0/16 ip4:199.2.137.0/24
• Gmail (gmail.com)
v=spf1 redirect=_spf.google.com
ATTENZIONE: occorre pubblicare un record sintatticamente corretto e
completo altrimenti molta posta legittima sarà rifiutata
© Achab – 12
SPF (8)
Possibili esiti del controllo
© Achab – 13
SPF (9)
Esempio di verifica
• Log di Mdaemon (SMTP-IN)
Performing SPF lookup (bmc-inc.com / 61.42.54.243)
Policy: v=spf1 ip4:216.254.0.0/24 ip4:69.17.110.0/24 ip4:69.17.116.0/24 ip4:69.17.117.0/24 mx ptr ~all
Evaluating ip4:216.254.0.0/24: no match
Evaluating ip4:69.17.110.0/24: no match
Evaluating ip4:69.17.116.0/24: no match
Evaluating ip4:69.17.117.0/24: no match
Evaluating mx: no match
Evaluating ptr: no match - no PTR record or error
Evaluating ~all: match
Result: softfail
---- End SPF results
• Header di un messaggio arrivato su gmail
Received-SPF: fail (google.com: domain of [email protected] does not designate 85.18.99.81 as
permitted sender) client-ip=85.18.99.81;
Authentication-Results: mx.google.com; spf=hardfail (google.com: domain of [email protected] does not
designate 85.18.99.81 as permitted sender) [email protected]
© Achab – 14
SPF (10)
Implementare SPF in invio/ricezione:
•Invio: Pubblicare record SPF sul DNS che gestisce il dominio
•Ricezione: Security > Security Settings > SPF & Sender ID
Abilita SPF
Abilita Sender-ID
Inserisce un header
con il risultato di SPF
© Achab – 15
SPF (11)
Tool vari
• Wizard di configurazione dei record
http://spf.pobox.com/wizard.html
http://wizard.easyspf.com/
• Strumenti di test
– Validatore del record SPF
http://www.kitterman.com/spf/validate.html
– Casella fittizia
Si può inviare una email a [email protected]. La email viene
sistematicamente rifiutata, ma nel bounce o nei log si può verificare l’esito
del test. Esempio:
--> RCPT To:[email protected]
<-- 550 5.7.1 <[email protected]>: Recipient address rejected: SPF Tests: MailFrom Result="permerror": Mail From="[email protected]" HELO
name="mail.achab.it" HELO Result="none" Remote IP="83.103.96.226"
© Achab – 16
DKIM (1)
A cosa serve
• Garantisce autenticità del mittente e integrità del
messaggio
• Si applica ai server che ricevono la posta in SMTP
• Richiede interventi sul DNS
• E’ assolutamente sicuro nel senso che se qualche
componente dell’ingranaggio non supporta questo
protocollo, le email viaggiano normalmente
© Achab – 17
DKIM (2)
Come funziona
chiave privata
mail server
mittente
chiave pubblica
DNS
?
mail box
destinatario
mail server
destinatario
© Achab – 18
DKIM (3)
Ricezione: verificare messaggi in ingresso
Se il test da un valore negativo,
allora si può chiudere la
connessione
© Achab – 19
DKIM (4)
Invio: Firmare i messaggi in uscita
Si può decidere che
solo alcuni messaggi
debbano essere
marcati
© Achab – 20
DKIM(5)
Opzioni DKIM
le intestazioni e il corpo
dei messaggi vengono
convertiti in uno
standard regolamentato
e "normalizzati" prima
della creazione di una
firma DKIM
© Achab – 21
DKIM (6)
Pubblicazione su DNS
© Achab – 22
DKIM (7)
Approvazione punteggio
© Achab – 23
DKIM (8)
Esempio: firma DKIM in messaggio inviato da gmail
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=domainkey-signature:mime-version:received:received:date:message-id
:subject:from:to:content-type;
bh=3dtcsaBBe3YbhnaGEPHyCKTt+OvSDNoCvtGfdQbZDYU=;
b=OTAPmIyqYGpUujENorUHA92vWCVzfXE0dA8hROVDgPMzk3rdVEvT8ZilljCpF
RYTZVR72O62lSUFxYMHJX4n23hab1JebPe7uCmyY+zTMj8R7KWzLqqATktFy+
ZS7OPQKsIh59ncnK4a2cZZPgEPe8Zn8DUfuJ3HgTffD21KVFw=
•
•
•
•
•
•
•
•
•
•
a = algoritmo di Hash/firma
q = algoritmo per ottenere la chiave pubblica
d = dominio corrispondente alla firma
i = identità della firma
s = selettore
c = algoritmo di canonizzazione
t = istante della firma (in secondi dal 1/1/1970)
x = istante di scadenza
h = Lista degli header inclusi nella firma
b = La firma stessa
© Achab – 24
DKIM(9)
Verifica effettuata da MDaemon:
…..
Performing DKIM lookup
* File: d:\mdaemon\temp\md50000876003.tmp
* Message-ID:
[email protected]
* Signature (1): ;v=1;a=rsasha256;c=relaxed/relaxed;d=gmail.com;s=gamma;b h=<not
logged>;
* Verification result: [0] good
* Result: pass
---- End DKIM results
…..
© Achab – 25
DKIM(10)
Usare NSLOOKUP per ottenere record DKIM
Le policy di un dominio sono pubblicate in un record TXT:
_adsp._domainkey.<domain.com>
La chiave pubblica è contenute nel record TXT:
<selector>._domainkey.<domain.com>
Esempio: email inviata da Alt-N
DKIM-Signature: v=1; a=rsa-sha256; c=simple/relaxed; d=altn.com;
s=c3po; l=6068; t=1236871537; x=1237476337; q=dns/txt; h=DomainKey-Signature:
Received:VBR-Info:Precedence:Reply-To:Sender:Date:From:To:
Subject:MIME-Version:Content-Type:Message-ID:In-Reply-To:
References; bh=S7FnX7znLyKEEN+sJwTkG0jwJx65vCDElwpku5mBD/Q=; b=e
A8stMcg+MF/FTx0R90AzdZHeZ5YqXtGz4boe2/jQdLvozUNzSH6FDtACZHuYI5gC
BbTanaumalqDdzX6Zp/Q7/WIBiQq2MD1Ew0+EGWVcGyTYM2wfG4taNpcAofbh3s7
k3IQZWmKxv3ziU4JRzGBbtSiDd1ZI3M4OHjCP9xCNg=
© Achab – 26
Diffusione SPF e DKIM
• La diffusione della verifica SPF e DKIM per i riceventi è più
o meno equivalente
• L’adozione invece di SPF e DKIM per i messaggi inviati da
parte dei mittenti è molto a favore di SPF.
o Secondo un survey effettuato da Sendmail sulle Fortune
1000, il 90% pubblica record SPF mentre meno del 10%
pubblica record DKIM.
o Limitandosi al settore bancario statunitense, invece, le
cifre passano a 99% per l'SPF e 20% per il DKIM.
© Achab – 27
Maggiore documentazione
• SPF: www.openspf.org
• SenderID: www.microsoft.com/senderid
• Domain Key: www.antispam.yahoo.com/domainkeys
• DKIM: www.mipassoc.org/dkim
• Info DNS: www.network-tools.com
© Achab – 28
Conclusioni
• Phishing e Spoofing si possono combattere validando il
mittente della e-mail
• SPF valida il mittente dall’IP
• DKIM valida il mittente su base crittografica
• SPF e DKIM sono già utilizzati da molti … implementiamoli
anche noi!!
© Achab – 29
Questioni e domande
© Achab – 30
Grazie!
Luca Biffi, Direttore Supporto Tecnico di Achab
[email protected]
© Achab – techjam MDaemon

Documenti analoghi

Benvenuti

Benvenuti • Riduzione degli investimenti in hardware: pochi server con un alto rapporto prezzo/prestazioni; • Riduzione dei costi di gestione derivata dall’abbattimento del numero dei server e della compless...

Dettagli

Scarica tutto l`articolo

Scarica tutto l`articolo Yahoo!) hanno proposto all’IETF (Internet Engineering Task Force) l’introduzione di una metodologia chiamata “Domain-based Message Authentication, Reporting & Conformance” in breve DMARC. Semplific...

Dettagli

Fare troubleshooting e rintracciare le email con i log di

Fare troubleshooting e rintracciare le email con i log di 00:00:37: [2162:5] --> 220 mail.achab.it ESMTP MDaemon 9.6.6; Wed, 28 Jan 2009 00:00:37 +0100 00:00:37: [2162:5] <-- EHLO cdim.it 00:00:37: [2162:5] Performing IP lookup (cdim.it) 00:00:37: [2162:5...

Dettagli