Combattere spoofing e phishing con SPF e DKIM Luca Biffi, Direttore Supporto Tecnico di Achab supporto@achab.it 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 achab.it V=spf1 ip4:1.2.3.4 -all DNS Destinatario v 1.2.3.4 SMTP helo: achab.it mail from: luca@achab.it X 5.6.7.8 SMTP helo: achab.it mail from: luca@achab.it 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 info@acme.it 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 info@acme.it does not designate 85.18.99.81 as permitted sender) smtp.mail=info@acme.it 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 spf-test@openspf.org. La email viene sistematicamente rifiutata, ma nel bounce o nei log si può verificare l esito del test. Esempio: --> RCPT To:spf-test@openspf.org <-- 550 5.7.1 <spf-test@openspf.org>: Recipient address rejected: SPF Tests: Mail- From Result="permerror": Mail From="prvs=125759d68d=luca.biffi@achab.it" 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: AANLkTinN5byZ54ztZPkwGDLi0P80v4RovtYvr3xLPJaT@mail.gmail.com * 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 supporto@achab.it Achab techjam MDaemon