DKIM een methode naast SPF, om te checken of je de echte afzender bent.

Let op! Alleen de e-mails die als oorsprong jouw mailserver hebben, worden ondertekend met DKIM. Alleen dus de notificaties uit de server en de e-mails die je verstuurd via de smtp poort, dus niet de emails die binnenkomen en doorgestuurd (relayed/forwarded) worden. Voor de domeinen, waarbij de mail alleen mail doorgestuurd wordt (Postfix virtual tabel), heeft het dus geen zin om DKIM te installeren.

$ apt-get install opendkim opendkim-tools

Voeg het volgende onder aan de openkdim.conf file toe:

$ vi /etc/opendkim.conf
AutoRestart        Yes
AutoRestartRate    10/1h
SyslogSuccess      Yes
LogWhy             Yes

Canonicalization   relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts      refile:/etc/opendkim/TrustedHosts
KeyTable           refile:/etc/opendkim/KeyTable
SigningTable       refile:/etc/opendkim/SigningTable

Mode               sv
PidFile            /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256

UserID             opendkim:opendkim

Socket             inet:8891@localhost

Wijzig de milter van Postfix:

$ vi /etc/default/opendkim
SOCKET="inet:8891@localhost"

Configureer Postfix om de milter te gebruiken en voeg het volgende toe onder aan main.cf

$ vi /etc/postfix/main.cf

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

Maak de directory’s aan voor de trusted host en keys:

$ mkdir -p /etc/opendkim
$ mkdir -p /etc/opendkim/keys

Maak de trusted hosts file aan

$ vi /etc/opendkim/TrustedHosts
127.0.0.1
localhost
*.example.com
#*.example.net
#*.example.org

Maak de key file aan:

$ vi /etc/opendkim/KeyTable
mail._domainkey.example.com example.com:mail:/etc/opendkim/keys/example.com/mail.private
mail._domainkey.example.com example.com:mail:/etc/opendkim/keys/example.com/mail.private

#mail._domainkey.example.net example.net:mail:/etc/opendkim/keys/example.net/mail.private
#mail._domainkey.example.org example.org:mail:/etc/opendkim/keys/example.org/mail.private

Maak de SigningTable file aan:

$ vi /etc/opendkim/SigningTable
*@example.com mail._domainkey.example.com
*@cloud.example.com mail._domainkey.example.com

#*@example.net mail._domainkey.example.net #*@example.org mail._domainkey.example.org

Maak de public en private keys aan:

$ cd /etc/opendkim/keys

Doe dit voor elk domein:

$ mkdir example.com
$ cd example.com
$ opendkim-genkey -s mail -d example.com

Wijzig de owner en group van de private key

$ chown opendkim:opendkim mail.private

DNS aanpassen

Om de domainkeys voor het DNS op te halen, open de mail.txt file: $ vi /etc/opendkim/keys/example.com/mail.txt

Vul de in het DNS van het bijbehorende domein het de public key in:

_mail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDD1805BbsoS+r3SEvLIRv1vwZFgHmJwF3xzwpzt4ioRj3k2LMAZlPJcV/FAA479T6UPozkeSNIlBhKGkzXheT2Qr7NpF3q/pWuWIrWDzGBsSxiH99gP/kwoytsG6gZDnx7DOtLO5p3pbQ7B5hAo++2PVyADSi5tASdeu6n+X3HpwIDAQAB" ; ----- DKIM key mail for example.com_

De domain key zonder de “-haakjes invullen

Let op! Nu moet een tijdje gewacht worden, voordat Postfix en OpenDKIM herstart mag worden. Eerst moeten alle DNS servers de domainkeys gesynchroniseerd hebben. Google adviseert 48 uur, eerder herstarten is op eigen risico. Later dus als volgt Postfix and OpenDKIM herstarten:

$ service postfix restart; service opendkim restart

Testen van DKIM key in DNS

$ dig mail._domainkey.example.com TXT

Of via de volgende website: www.protodave.com/tools/dkim-key-checker/

Testen van DKIM ondertekening in je email

Verstuur een email naar autorespond+dkim@dk.elandsys.com of check-auth2@verifier.port25.com

$ echo Hello | mail -s "DKIM test" autorespond+dkim@dk.elandsys.com

Of een uitgebreidere test:

$ echo Hello | mail -s "DKIM test" check-auth2@verifier.port25.com

Of:

$ echo Hello | mail -s "DKIM test" test@allaboutspam.com

Bronnen:

DKIM Policy record

Binnen een domein moet ook aangegeven worden welke policy er geldt voor DKIM.

Deze wordt als volgt in het DNS gezet:

_domainkey.example.com TXT "t=y; o=~; r=postmaster@example.com"

Bron:  www.xpertdns.com/billing/knowledgebase/1/DomainKeys-or-DKIM.html

De gids “VPS opzetten” bestaat uit de volgende artikelen: