Penso che tutti voi abbiate trascurato un piccolo dettaglio menzionato nella drammatizzazione sopra, che in realtà è molto facile da controllare:
Le e-mail contraffatte non provengono da un indirizzo e-mail che appartiene legittimamente al dominio da cui affermano di avere origine. Parte del protocollo SMTP include una serie di intestazioni complete dei messaggi che sempre include il percorso di ritorno del messaggio, che è l'indirizzo email che effettivamente ha inviato il messaggio. Non solo, ma gli indirizzi IP hanno anche una regione geografica definitiva a cui sono assegnati. Quindi puoi cogliere queste discrepanze con un po 'di ricerca.
Prendi, ad esempio, la suddetta drammatizzazione.
Menziona che l'email proviene da whitehouse.gov. Ecco il suo indirizzo IP:
calyodelphi @ dragonpad: ~ $ dig + short whitehouse.gov173.223.0.110
Ora, diciamo che nastyhackerz.cn si risolve in un indirizzo IP da qualche parte nel blocco 1.0.32.0-1.0.63.255 (per riferimento: http://www.nirsoft.net/countryip/cn.html primo blocco nell'elenco). Quell'indirizzo IP sarà nelle intestazioni complete del messaggio. Tutto quello che devi fare è portare quell'IP online per rintracciare la sua geolocalizzazione (puoi usare http://www.geoiptool.com/ per esempio)
L'IP per whitehouse. gov (173.223.0.110) al momento della stesura di questo post si geolocalizza a Boston, Massachusetts (per qualche motivo un sistema di prevenzione dello spam non mi consente di pubblicare la mia ricerca su geoiptool a causa dei punti di reputazione, quindi puoi andare a fare la ricerca da solo) che è abbastanza vicino a casa (Distretto di Columbia)! Supponiamo solo che whitehouse.gov sia ospitato in un data center che si trova a Boston solo per renderlo più facile da spiegare.
Purché l'IP e l'indirizzo email che l'email fosse effettivamente inviato da non corrisponde all'IP e all'indirizzo di posta elettronica da cui afferma di essere inviato, può essere determinato come spoofing. Devi solo guardare nelle intestazioni complete dei messaggi.
Diamo un'occhiata alle intestazioni di un'e-mail che ho inviato da uno dei miei domini (dragon-architect.com) al mio indirizzo e-mail personale:
Delivered-To: dragon.architect @ gmail.com Ricevuto: da 10.180.89.68 con ID SMTP bm4csp105911wib; Tue, 29 Jan 2013 08:54:47 -0800 (PST) X-Received: entro 10.60.30.38 con ID SMTP p6mr1296792oeh.2.1359478487251; Tue, 29 Jan 2013 08:54:47 -0800 (PST) Return-Path: <calyodelphi@dragon-architect.com>Received: from gateway14.websitewelcome.com (gateway14.websitewelcome.com. [69.93.154.35]) by mx.google .com con ID ESMTP m7si14056914oee.29.2013.01.29.08.54.45; Mar, 29 gennaio 2013 08:54:46 -0800 (PST) Ricevuto-SPF: neutro (google.com: 69.93.154.35 non è consentito né negato dal dominio calyodelphi@dragon-architect.com) client-ip = 69.93. 154.35; Risultati di autenticazione: mx.google.com; spf = neutral (google.com: 69.93.154.35 non è né consentito né negato dal dominio di calyodelphi@dragon-architect.com) smtp.mail=calyodelphi@dragon-architect.com Ricevuto: da gateway14.websitewelcome.com (Postfix, da userid 5007) id 0530E1DFDB334; Tue, 29 Jan 2013 10:54:43 -0600 (CST) Ricevuto: da bentley.websitewelcome.com (bentley.websitewelcome.com [70.84.243.130]) da gateway14.websitewelcome.com (Postfix) con ID ESMTP EA7191DFDB314 per <dragon .architect @ gmail.com>; Tue, 29 Jan 2013 10:54:42 -0600 (CST) Ricevuto: da [127.0.0.1] (port = 43458 helo = dragon-architect.com) da bentley.websitewelcome.com con esmtpa (Exim 4.80) (envelope- da <calyodelphi@dragon-architect.com>) id 1U0ESK-0001KE-DP per dragon.architect@gmail.com; Tue, 29 Jan 2013 10:54:44 -0600MIME-Version: 1.0Content-Type: text / plain; charset = UTF-8; format = flowedContent-Transfer-Encoding: 7bitDate: Tue, 29 Jan 2013 10:54:44 -0600 Da: calyodelphi@dragon-architect.com A: <dragon.architect@gmail.com> Oggetto: test delle intestazioni
ID messaggio: <11c694cd1e07c66a404000008321d0c4@dragon-architect.com >X-Sender: calyodelphi@dragon-architect.comUser-Agent: Roundcube Webmail / 0.8.4X-AntiAbuse: questa intestazione è stata aggiunta per tracciare qualsiasi abuso, includilo : Nome host principale - bentley.websitewelcome.com X-AntiAbuse: dominio originale - gmail.comX-AntiAbuse: originatore / chiamante UID / GID - [47 12] / [47 12] X-AntiAbuse: dominio indirizzo mittente - dragon-architect.comX -BWhitelist: noX-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: (dragon-architect.com) [127.0.0.1]: 43458X-Source-Auth: calyodelphi @ dragon-architect. comX-Email-Count: 1X-Source-Cap: ZHJhZ2FyY2g7ZHJhZ2FyY2g7YmVudGxleS53ZWJzaXRld2VsY29tZS5jb20 = Testing testing!
Ci sono molti dati casuali da esaminare, ma qui ci sono due righe: percorso di ritorno e da. Dal momento che ho legittimamente inviato questa email a me stesso, entrambi corrispondono. Il percorso di ritorno non può essere falsificato. Oppure, se possibile, è incredibilmente difficile da falsificare in modo efficace e richiede una configurazione deliberata del demone SMTP utilizzato per inviare la posta. Confrontare il percorso di ritorno e i campi dati da nelle intestazioni complete è un modo in cui io e i miei colleghi in cui lavoro possiamo identificare lo spoofing e determinare se è necessario inviare un ticket di supporto.
Allora, cosa succede se entrambi corrispondono, ma l'email dovrebbe essere ancora falsa? Ci arriveremo nella prossima sezione ...
Ora, come accennato prima, ci sono altri mezzi per determinare la falsità di un'e-mail. I record SPF sono uno di quei modi, ma non sono sempre perfetti. Prendi, ad esempio, l'SPF di whitehouse.gov e confrontalo con l'SPF del mio dominio:
calyodelphi @ dragonpad: ~ $ dig + short txt whitehouse.gov "v = spf1 + mx ~ all "calyodelphi @ dragonpad: ~ $ dig + short txt dragon-architect.com" v = spf1 + a + mx + ip4: 70.84.243.130? all "
Di solito, un buon record SPF include anche l'indirizzo IP del server che ha inviato la posta, quindi chiunque abbia creato il record SPF per whitehouse.gov probabilmente non lo sa. Considero il record SPF di whitehouse.gov troppo generico per essere efficace nel determinare le origini effettive di qualsiasi messaggio che afferma di provenire da whitehouse.gov. L'SPF per il mio dominio, invece, che è stato generato automaticamente dal server che ospita il mio dominio (per gentile concessione del mio webhost), è molto specifico e include l'indirizzo IP del server stesso.
Ammetto di non avere familiarità con il modo in cui i record SPF sono formattati e come funzionano, ma ho imparato abbastanza sul mio lavoro da poter almeno identificare i record SPF generici e specifici. Immagino sia qualcosa che dovrei probabilmente approfondire un fine settimana quando sono annoiato e voglio del materiale tecnico da leggere!
Comunque, di nuovo in pista qui. Guarda le linee ricevute. Uno di loro afferma così: Ricevuto: da bentley.websitewelcome.com (bentley.websitewelcome.com [70.84.243.130])
Indovina cosa? Corrisponde all'indirizzo IP nel record SPF del mio dominio.
Se l'IP nell'SPF non corrisponde all'IP del server che ha effettivamente inviato l'email, questa è un'altra indicazione che hai uno spoofing sul tuo mani. Pertanto, un record SPF generico come "v = spf1 + mx ~ all"
semplicemente non taglierà la senape di sicurezza. Non mi fiderei nemmeno delle email provenienti da un dominio legittimo con un SPF generico come questo.
Forse dovremmo presentare una petizione su petitions.whitehouse.gov per chiedere che il loro gli amministratori della sicurezza rivisitano il record SPF che hanno creato per il dominio! (Io scherzo, io scherzo.)
MODIFICA
In realtà devo correggere MASSIVAMENTE me stesso sui record SPF! Ho fatto alcune supposizioni sbagliate e ho imparato alcune cose oggi dopo aver chiesto a un collega che era più informato di me sui record SPF. Quindi, userò i due SPF per whitehouse.gov e dragon-architect.com nella mia autocorrezione:
calyodelphi @ dragonpad: ~ $ dig + short txt whitehouse.gov "v = spf1 + mx ~ all "calyodelphi @ dragonpad: ~ $ dig + short txt dragon-architect.com" v = spf1 + a + mx + ip4: 70.84.243.130? all "
L'SPF per il mio dominio è in realtà più indulgente dell'SPF per whitehouse.gov (qualcosa che ho intenzione di correggere stasera dopo aver terminato questa modifica). Spiegherò perché:
"v = spf1 + mx ~ all"
dice sostanzialmente che le email da whitehouse.gov dovrebbero provenire dai nomi host definiti nei record MX per whitehouse.gov e tutte le email che non provengono da quei nomi host dovrebbero essere spoof, ma se sono contrassegnate come spoof o meno dipende dal destinatario dell'email.
calyodelphi @ dragonpad: ~ $ dig + short mx whitehouse.gov110 mail6.eop.gov.105 mail2.eop.gov.110 mail5.eop.gov.105 mail1.eop.gov.105 mail4.eop.gov.105 mail3.eop. gov.
"v = spf1 + a + mx + ip4: 70.84.243.130? all"
dice che le email da dragon-architect.com dovrebbero arrivare dall'indirizzo IP di dragon-architect.com (67.18.28.78), i nomi host definiti nei record MX per dragon-architect.com o dall'indirizzo IP del server che ospita dragon-architect.com (70.84 .243.130). Eventuali e-mail che non provengono da quelle, beh, che? Tutto alla fine significa semplicemente che non ci sono consigli sull'opportunità di passare o rifiutare le e-mail.
Allora qual è la carne e le patate di un record SPF? Il "tutto" alla fine. Per citare questo collega in merito a "tutti":
+ fondamentalmente tutto significa che TUTTI passano - il record è inutile, al dominio del mittente non interessa? Tutto indica neutro e consiglia di non passare o rifiuta la posta
~ tutto indica un errore e il server è considerato non valido, ma non suggerisce specificamente un'azione. -tutto è un errore irreversibile, qualsiasi altra cosa non è valida, rifiutala o contrassegnala.
Quindi "all" è dove si definisce quanto sia rigoroso il record SPF. Ma se il record SPF viene effettivamente utilizzato per determinare lo spoofiness di un messaggio di posta elettronica dipende completamente dal servizio di posta elettronica ricevente.
averlo. SPF in poche parole.
Quindi sì. TL; DR: controlla le intestazioni complete per vedere se i campi return-path e from corrispondono. Quindi ricontrolla i tuoi record SPF se ce ne sono per vedere se ottieni indirizzi IP corrispondenti.