DKIM
Inleiding
Om minder snel als spammer te worden aangemerkt kan de mail "ge-signed" worden. Hiervoor moet OpenDKIM geinstalleerd worden en een kleine aanpassing aan de postfix configuratie gemaakt worden.
Installatie
Gebruik zoals altijd apt-get of aptitude om een package te instaleren.
apt-get install opendkim opendkim-tools
Configuratie
De configuratie van OpenDKIM staat in /etc/opendkim.conf en dient er als volgt ui te zien:
# This is a basic configuration that can easily be adapted to suit a standard # installation. For more advanced options, see opendkim.conf(5) and/or # /usr/share/doc/opendkim/examples/opendkim.conf.sample. # #Domain example.com #KeyFile /etc/opendkim/201205.private #Selector 201205 # # Commonly-used options Canonicalization relaxed/simple Mode sv SubDomains yes # Log to syslog Syslog yes LogWhy yes # Required to use local socket with MTAs that access the socket as a non- # privileged user (e.g. Postfix) UMask 022 UserID opendkim:opendkim # KeyTable /etc/opendkim/KeyTable SigningTable /etc/opendkim/SigningTable ExternalIgnoreList /etc/opendkim/TrustedHosts InternalHosts /etc/opendkim/TrustedHosts # Socket inet:8891@localhost #EOF
Voor uitleg over de diverse parameters, kijk bijvoorbeeld op deze site.
Directory structuur
Er moet een directory structuur gemaakt worden om trusted hosts, key tables, signing tables en crypto keys op te slaan. Maak daartoe /etc/opendkim aan met daarin de volgende files en directory:
root@mail-lb1:/etc/opendkim# ls -l total 16 -rw-r--r-- 1 root root 90 May 25 14:23 KeyTable -rw-r--r-- 1 root root 38 May 25 14:24 SigningTable -rw-r--r-- 1 root root 151 May 28 22:42 TrustedHosts drwxr-xr-x 3 root root 4096 May 25 14:26 keys
In de directory komen de keys van de domeinen te staan. Een key voor hobby.nl genereer je met:
opendkim-genkey -r -d hobby.nl --bits=4096
Verander vervolgens de owner en group van default.private naar opendkim. Plaats de inhoud van default in de zone file van het domein en update de zone In de file KeyTable neem je op:
default._domainkey.hobby.nl hobby.nl:default:/etc/opendkim/keys/hobby.nl/default.private <pre> Dit vertelt welke key voor welk domein er gebruikt moet worden voor het signen. In de file SigningTable neem je op : <pre> hobby.nl default._domainkey.hobby.nl
Daarmee koppel je de public key aan het domein. Voeg daarna het domein nog toe aan de file met de naam TrustedHosts. Deze ziet er als volgt uit
127.0.0.1 ::1 localhost mail-lb1.hobby.nl mail-lb2.hobby.nl 212.72.224.72 212.72.224.73 2a02:968:1:2:212:72:224:72 2a02:968:1:2:212:72:224:73 hobby.nl
Herstart opendkim.
De Postfix kant
Tevens moet in /etc/default/opendkim alles uitgecommentarieerd worden en deze regel toegevoegd worden:
SOCKET="inet:8891@localhost"
Dit socket dient aan Postfix bekend te worden gemaakt. Voeg de volgende regels aan /etc/postfix/main.cf toe:
#milter tbv dkim milter_default_action = accept milter_protocol = 6 smtpd_milters = inet:localhost:8891 non_smtpd_milters = inet:localhost:8891
Hierdoor controleert en zet Postfix nu ook dkim handtekeningen. Vergeet niet Postfix te herstarten.
Testen
De configuratie kan worden getest door een lege mail te sturen naar check-auth@verifier.port25.com. Als alle werkt zal in de reply DKIM check: pass staan onder Summary of Results.
========================================================== Summary of Results ========================================================== SPF check: pass DomainKeys check: neutral DKIM check: pass Sender-ID check: pass SpamAssassin check: ham