Postfix + DKIM în Ubuntu la lucru cu domenii multiple – articol complet

Pentru că încercarea mea de sâmbătă de a posta de pe telefonul mobil a eșuat lamentabil, pun acum continuarea legitimă a articolului despre utilizarea DKIM cu postfix, pentru mai multe domenii, găzduite pe un server Ubuntu.
Am reluat și pașii desriși în prima postare.

1 – Instalat dk-filter

$sudo apt-get install dk-filter

Odată instalarea terminată, am editat “/etc/dkim-filter.conf, de-comentând linia următoare:

KeyList /etc/dkim-keys.conf
În acest fișier, o să se scrie toate domeniile pe care vor fi puse cheile, ce selector se va folosi și fișierul care va conține cheia. Fiecare linie din acest fișier, va fi în formatul : “șablon:domeniu:selector” unde șablonul este de cele mai multe ori numele clientului din domeniu pentru care va fi servită cheia “*@domeniu.ro”, domeniul este clar ce înseamnă, iar selectorul este fișierul care conține cheia. O linie va arata asemanator cu:

*@domeniu.ro:dodomeniu.ro:/etc/mail/dkim/keys/domeniu.ro/default

Acuma e momentul să generăm cheile…


$ mkdir -p /etc/mail/dkim/keys/domeniu.ro
$ cd /etc/mail/dkim/keys/domeniu.ro
$ dkim-genkey -r -d domeniu.ro
$ mv default.private default

In momentul asta, tot ce-ar mai fi de făcut este să configurăm și posfix-ul
Pentru asta, în /etc/postfix/main.cf adăugăm următoarele linii


# DKIM
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

După asta, cu un ochi în syslog:) se restartează postfix pe mașina cu pricina. Dacă lucrurile merg ok, și nu apar orori majore prin loguri, înseamnă că până aici lucrurile au mers bine și a venit momentul final, modificarea înregistrărilor DNS si adăugarea cheii DKIM. Fără acest pas, degeaba au fost făcute toate cele de mai sus.
Înregistrarea suplimentară care trebuie adăugată în fișierul de zone al domeniului se găsește în “/etc/mail/dkim/keys/domeniu.ro/default.txt”

Presupunând că serverul de DNS este un bind, fișierul conținând zonele definite va fi la final asemănător modelului următor:


domain.tld. IN SOA ns.domain.tld. root.domain.tld. (
1125170171
10800
3600
604800
38400 )
domain.tld. IN NS ns.domain.tld.
mail.domain.tld. IN A 123.156.189.123
ns.domain.tld. IN A 123.156.189.124

default._domainkey IN TXT “v=DKIM1; g=*; k=rsa; p=000000000EBAQUAA4GNADCBiQKXXXXXXXX…” ; —– cheia de bază DKIM domeniu.ro

Odată salvat fișierul și repornit bind, dacă trimteți un email de pe o adresă din domeniile gestionate de acel server va trebui să găsiți în sursa emailului și semnătura DKIM.

4 comments

  • Salut..am facut intocmai ca si articolul tau, insa am tot nu merge …cand trimit la yahoo mail nu imi gaseste nici o cheie. Care o fi problema?

    • Salut,
      Verifică întâi în syslog… să nu-ți zică de vreo “oroare” p-acolo. Apoi, verifică setările din fișierul de zonă al Bind. Asigură-te că ai restartat atât BIND cât și celelalte servicii (courier, postfix etc).
      În principiu n-ar trebui să ai probleme… De când am scris articolul am mai avut parte de câteva instări identice pe alte servere și totul a decurs ok.

Leave a Reply

Your email address will not be published. Required fields are marked *

CommentLuv badge