Scrivevo ieri di come l'adozione di DKIM sia molto meno diffusa rispetto al "cugino" SPF, complice, probabilmente, il maggiore impatto tecnico che ha la sua implementazione da parte dei mittenti.
Oltre a questo vorrei aggiungere alcune anomalie nelle quali mi sono imbattuto:
Yahoo.com, fautore della specifica DomainKeys che ha poi dato vita a DKIM, applica una firma errata ai messaggi in formato testo semplice inviati dalla sua webmail (sbaglia il calcolo del bodyhash).
MySpace.com, con la sua nuova webmail, firma con DKIM le email uscenti, ma pubblica un record DNS sintatticamente errato (notate le troppe barre inverse di escaping):
pmta._domainkey.myspace.com descriptive text "k=rsa\\\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChRebhcm4h8BkIYHRxg1GlKLsDkwdrqkFJ8f88xHQ5Gf3NH4I4e06M3XQ+B4tWWK/rX0srwXFgrJPzKZK+x7gN89nmqyM+NNaM+Wm2C0GjTpx6639zK3bAAGYCm0L9lGD7PgDxpWok+YogH0Ml4acEwDw/cnhErAWAnX8doPliawIDAQAB"
Mediapost.com e Ign.com firmano le loro newsletter con DKIM ma entrambi pubblicano un record DNS con il valore "g=;" che di fatto rende la chiave inutilizzabile per qualunque indirizzo. Dovrebbe essere g=*; oppure essere omesso perchè la chiave sia considerabile valida.
Gmail.com firma le email in uscita ma attenzione: se siete utenti di Google Apps e quindi fate gestire a google un vostro dominio oppure se semplicemente utilizzate più di un account ("Invia messaggio come..") per poter spedire dalla vostra casella con dominio differente da gmail.com allora i vostri messaggi non verranno più firmati.
Un paio di ESP italiani, dei quali non faccio il nome per correttezza, mi hanno inviato in questi mesi varie email con firma DKIM errata.
Come vedete i problemi ci sono e anche da parte di grossi player del settore. Fortunatamente la specifica DKIM obbliga a considerare una email con firma errata alla stregua di una mail senza firma e quindi nessuno dovrebbe, in ricezione, penalizzare le email coinvolte dai problemi elencati. Purtroppo temo che, come in così tanti hanno sbagliato a leggere la specifica nell'implementare la firma, altrettanti sbaglieranno a leggere la specifica e valuteranno una firma errata come spamming o qualcosa di simile.
Email Marketing Blog









Dopo le
Re: DKIM: troppo complicato adottarlo?
Ciao,
vorrei implementare DKIM sui miei server di invio posta. Mi resta da capire una cosa: se ho più server che inviano email, devono firmare tutti con la stessa chiave privata (e quindi basta un singolo record DNS con la chiave pubblica) oppure ogni server deve avere la sua coppia chiave privata/record dns? In questo secondo caso, quale sintassi hanno i tue record txt del dns?
Tommaso
Re: Re: DKIM: troppo complicato adottarlo?
Quando firmi usi un selettore (s=). Se usi lo stesso selettore da tutti i server allora userai una singola chiave, se invece usi selettori diversi allora potrai decidere se usarne una sola (pubblicando la stessa chiave pubblica più volte) o se piuttosto usarne una diversa per ogni server.
Addirittura, in un caso estremo, potresti usare un chiave diversa per ogni email, però credo che non sarebbe molto utile visto che non costruiresti mai una reputazione legata a quella chiave.
Re: DKIM: troppo complicato adottarlo?
Ciao e grazie per l'articolo quasi unico nel suo genere, parlo per la lingua italiana.
Vorrei chiedere, cosa serve esattamente, sia in termini tangibili che in termini di programmazione, per generare mails certificate DKIM ?
Un server particolare, un software... che cosa?
Chi crea la firma? come si implementa?
Scusa l'ignoranza ma sono particolarmente interessato
Grazie
Alex
Re: Re: DKIM: troppo complicato adottarlo?
Si tratta di una tecnologia usata normalmente sul server di invio posta. Per molti server esistono plugin da scaricare ed installare per firmare le email in uscita. Su questa pagina (http://www.dkim.org/deploy/index.html) puoi trovare un elenco delle applicazioni che fanno uso di DKIM o dei plugin per le stesse. Io ho sviluppato una libreria Java che non è ancora in quell'elenco (http://james.apache.org/jdkim/).
Re: Re: Re: DKIM: troppo complicato adottarlo?
Ti ringrazio per la risposta, perdona l'assenza ma da quel giorno mi sono messo a studiare per capirci qualcosa.
Non è semplicissimo da implementare e non è altrettanto semplice testarne la perfetta efficacia.
La difficolta maggiore è a mio avviso maneggiare i dns record soprattutto se non ne hai la totale disponibilita fisica.
Segnalo, se posso, due siti dove poter effettuare test specifici:
http://dkimcore.org/c/keycheck
http://domainkeys.sourceforge.net/selectorcheck.html
Alex