Instalacja klucza DKIM i AMaViS

amavis-2

Możesz ułatwić zapobieganie podszywaniu się przez dodanie podpisu cyfrowego do nagłówków wiadomości wychodzących z wykorzystaniem standardu DKIM. Wymaga to użycia klucza prywatnego domeny do szyfrowania nagłówków poczty wychodzącej domeny oraz dodania publicznej wersji tego klucza do rekordów DNS domeny.
Serwery adresatów mogą następnie pobrać klucz publiczny na potrzeby odszyfrowania nagłówków wiadomości przychodzących i sprawdzenia, czy wiadomość faktycznie pochodzi z Twojej domeny i nie została w międzyczasie zmodyfikowana.

W dzisiejszym poradniku postaram się opisać jak zainstalować DKIM przy użyciu oprogramowaniu AMaViS A Mail Virus Scanner

Opisany poradnik utworzony na systemie Debian 7 i amavisd-new-2.7.1.

AMaViS w mojej konfiguracji “rozmawia” z Postfixem.

Klucz dla przykładu tworzymy dla domeny: domena.pl

1. Stworzenie klucza prywatnego dla domeny:

mkdir -p /var/db/dkim/
cd /var/db/dkim/
amavisd-new genrsa domena.pl.pem
chmod 0600 *
chown amavis: *

2. Konfiguracja Amavisa:

nano /etc/amavis/conf.d/50-user 

dodanie na koniec konfiguracji:

dkim_key('domena.pl', 'mail', '/var/db/dkim/domena.pl.pem');

3. Przeładowanie Konfiguracji

/etc/init.d/amavis restart

4. Wyświetlenie klucza publicznego – należy skopiować go i dodać do strefy DNS

amavisd-new showkeys

5. Dodanie do strefy DNS rekordów – na przykładzie składni ze strefy BIND-a, dodatkowo dołączyłem przykład rekordy DMARC (oczywiście rekordy będą dla każdego przykładu inne)

mail._domainkey.domena.pl.	3600		IN			TXT (
  "v=DKIM1; p="
  "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7n4z2LDnFC+qutbEZjUGfr3ez"
  "YqKODp4sgPZbrW5SMN9S/jfyj9A8bFJzTT4eZXg4r2hD19mQqDrBQAD4yep5Glke"
  "iTJHLecaB02djqAYi8qaqGadCFcfuVjdy+IeSL/qvDj6qDsvQI91KTTWf9hlXyvI"
  "qw7H2Rx7YJfoJuH72QIDAQAB")
_dmarc.domena.pl.			3600            IN		TXT    "v=DMARC1; p=none"
_domainkey.domena.pl.		3600            IN		TXT    "t=y; o=-;"

5. Po dodaniu klucza publicznego do twojej strefy DNS, śmiało możesz przeładować serwer DNS np. /etc/init.d/bind9 restart, po czym można przetestować czy wszystko się udało:

# amavisd-new testkeys
TESTING#1: mail._domainkey.domena.pl      => pass

Jakość swojego maila oraz poprawność koniuracji DKIM’a można przetestować np tutaj: mail-tester.com