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:
- www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
- rtcamp.com/tutorials/mail/dkim-postfix-ubuntu/
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:
- Inleiding: De gids: een VPS opzetten van A tot Z
- Welke VPS provider te kiezen
- VPS opzetten bij RamNode
- DNS instellen voor de VPS
- Installeren van Postfix
- Installeren van DKIM icm Postfix
- Installeren van de webserver Nginx, PHP en MySQL
- SFTP server via SSH
- Toegangsbeveiliging met Fail2ban op de VPS
- Monitoren van de VPS server
- Nieuwe website aanmaken in Nginx