Despre DKIM

Ce este DKIM ?
DKIM sau DomainKeys Identified Mail permite persoanelor care trimit mail-urile sa asocieze un domeniu cu un email astfel garantand autenticitatea lui.

Utilizatorul creeaza cheia DKIM prin “semnarea” mail-ului cu o semnatura digitala. Aceasta “semnatura” este localizata in header-ul mesajului. MTA-ul (Mail Transfer Agent) genereaza o semnatura folosind un algoritm care creeaza un sir unic de caractere sau un “hash value”.





Cand MTA-ul genereaza semnatura, cheia publica folosita la generare este stocata la domeniul listat. Dupa ce primeste mail-ul, MTA-ul primitor poate verifica semnatura DKIM recuperand cheia publica a domeniului care a semnat mail-ul citind valoarea din zona DNS. Dupa care MTA-ul primitor care foloseste cheia pentru a decripta valoarea hash-uita pentru mail-ul primit. Daca cele doua chei se potrivesc, atunci mail-ul nu a fost alterat astfel oferind utilizatorulor o oarecare securitate deoarece stiu ca email-ul are ca origine domeniul listat si nimic nu a fost modificat de cand a fost trimis.

Filtreaza DKIM-ul mail-urile?

Nu, nu le filtreaza. In orice caz, informatia pe care o ofera ajuta filtrele setate de domeniul catre care ajung mail-urile. De exemplu, daca un mail provine de la un domeniu de incredere si poate fi verificat cu succes prin DKIM, mail-ul poate avea scorul de SPAM redus. Daca semnatura DKIM a mail-ului nu poate fi verificata (deoarece mail-ul a fost falsificat sau pentru orice alt motiv), mail-ul este posibil sa fie marcat ca spam, adaugat in carantina sau sa i se aplice un tag de spam in subiect (pentru a preveni utilizatorul care primeste mail-ul ca acest mesaj este suspect).

Gmail, de exemplu, nu livreaza mail-uri de la ebay.com sau paypal.com daca semnatura DKIM nu este verificata cu succes deoarece cel mai probabil acel mail este un atac de tip phishing.

Cum se poate testa DKIM-ul?

Daca vrei sa testezi DKIM-ul pentru domeniul tau o poti face cu o utilitara gratuita online gen MXToolBox

Pentru a verifica DKIM-ul se poate si trimite un mail catre o adresa de gmail. In interiorul mail-ului putem apasa pe sageata de langa “reply” si selecta “show original”. In mail-ul original vedem: “signed-by: domeniul tau” ceea ce inseamna ca semnatura DKIM e valida.

Ce rezultat vrem de la DKIM?

In cea mai mare parte, DKIM ori este functioal si semnatura poate fi verificata sau exista o problema. Daca semnatura ta este functionala, problema este rezolvata, daca nu puteti urmari sugestiile de mai jos care va pot ajuta sa diagnostizati care este problema.





Cum putem citi header-ul DKIM-ului?

Aici este un exemplu de semnatura DKIM:

ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=34qMIRUbKj/xSo+8dl2Q2awmpzy9ot0l4UaJfCO5bp4=; b=MpGQ5NuKGGxG4PgrYbkEGaoWqjiagVQ5wvlBXCe/C11SGbKktJu8uaVsdKr2dPiYNg z05JQ3KB6MVVAJ78RsE6kDoDQJj4z8C60xvvnOGyijKsz+s94d/8mOuhp2O+2J6mGCdx 8pRYfqfeqIl0MqH576WVKuKtjFYRpCxpHhi4iS3z2HYWaOiLx9xgVuv7YVY9tVtFNHTw hs5IUmDoLw7J5fC3xRlWNN3JdJx0AIctajJH8GVf/KL3qTHigIsdLqhkwfKYUXdmVSsO S9PwL8cMYebc63LEH6CVzQ6mDSsfK5/+e8vgOmtDG6trkQFT60avWdEB1r9h5b0A+IB2 J5YQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@hosterion.com header.s=google header.b=d47KIHT8; spf=pass (google.com: domain of user@hosterion.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=user@hosterion.com

Ce inseamna fiecare tag?

b= este semnatura propriuzisa a continutului (header si body) al mail-ului
bh= este hash-ul continutului
d= este domeniul care a semnat mail-ul
s= este selectorul (arc=20160812)
v= este versiunea
a= algoritmul folosit pentru semnare
c= algoritmul canonizat al header-ului si al body-ului
q= metoda de verificare default
l= lungimea partii din body canonizata care a fost semnata
t= timestamp-ul semnaturii
x= intervalul in care expira semnatura din mail
h= lista headerelor semnate, se repeta pentru field-urile care apar de mai multe ori
i= identitatea persoanei care a semnat mail-ul, apare in forma unei adrese de mail

DKIM-ul se declara in zona DNS a domeniului folosind un selector gen mail._domainkey. O inregistrare DKIM este de tip TXT si arata asa:

default._domainkey.domeniu.ro 14400 IN TXT “v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwNAjxAOgojvC+fM+AoZ9rj0Zc0JekWfVueFBBJ3ntP9PFMNQMmxucQGM4iguJ1C4Z7NFrFM68j8GZMQAEeqNvPVxKXdxOewoVUDTSDRwH+kxE1C45HC5UaScJmgzzpUWLLmI4gryNUcaIffDK8zhUqYW0ZmDuVRPVX1CLc5D9V0S2j9lAkW2GsbLuzSR8qN4XSt00L4OlpLlnBvcgqSC7nCKMjs1JKI7mwHEJ3MYpU5mY/bGCq4GFh+KuHfc06aS1QYwZ7dtkLm9CdcjYqxLPstqgxzLhbl+Tfavy+Pqcw+pEal3vDbp5SOnRvaSpjnuWeB3yCBl8tKUb4gfyER8oQIDAQAB;”

In aceasta inregistrare default._domainkey este selectorul pentru semnatura si acesta permite astfel generarea a mai multor DKIM-uri pentru un singur domeniu pentru a putea fi folosite de mai multe sisteme, intervale de date sau aplicatii care trimit mail-uri pentru domeniul dumneavoastra. De exemplu puteti folosi o semnatura care este folosita pentru serviciul de mail implicit si o alta semnatura pentru un serviciu de mailing gen MailChimp.

Toate pachetele de shared hosting de la Hosterion genereaza automat o inregistrare DKIM pe care o putem gasi in zona DNS (pentru cPanel o gasim in cPanel -> Zone Editor). Noi recomandam aceasta masura de securitate sa fie folosita impreuna cu SPF si DMARC pentru a va asigura ca mail-urile dumneavoastra sunt securizate si identitatea dumneavoastra nu poate fi furata de alte persoane care doresc sa trimita mail-uri in numele dumneavoastra pentru a pacali contactele dumneavoastra sau unor liste de mailing.

De unde setam DKIM daca avem servicii Hosterion?

In cazul in care zona DNS se incarca de la noi, adica aveti nameserverele Hosterion:

  • ns1.hosterion.com
  • ns2.hosterion.com
  • ns1.hosterion.net
  • ns2.hosterion.net

Puteti sa va setati DKIM-ul din zona DNS (Zone Editor) la care aveti acces din cPanel sau puteti deschide un ticket sau un mail si va facem noi aceasta setare.