DKIM für Domain Keys Identified Mail
DKIM fügt den Mails eine eindeutige Signatur hinzu, die sich der Domain zuordnet und für alle Nachrichten benutzt wird die versendet werden. Dies hilft dem Internet Service Provider (ISP) bei der Kontrolle der Authentizität der E-Mails und garantiert für die Integrität der Nachrichten.
Ursprünglich sollte das Verfahren DomainKeys Identified Mail nur die Spam-Flut eindämmen. Doch da es gefälschte Absenderadressen entdeckt, hilft es besser gegen Phishing.
OpenDKIM ist die Open-Source Technologie unter Linux für digitale E-Mail-Signatur und Verifikation, die bereits von namhaften E-Mail-Anbieter unterstützt wird.
In diesem Artikel wird beschrieben wie OpenDKIM auf CentOS 5/6/7 integriert und konfiguriert wird.
Das EPEL-Repository wird zur Installation benötigt, falls dieses nicht schon auf dem System integriert ist, wird folgendes vorgehen ausgeführt.
CentOS 5.x Extras Repository
wget -P /tmp https://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
sudo rpm -Uvh /tmp/epel-release-5*.rpm
CentOS 6.x Extras Repository
wget -P /tmp https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
sudo rpm -Uvh /tmp/epel-release-6*.rpm
CentOS 7.x Extra Repository
yum -y install epel-release
Nun kann OpenDKIM auf dem Server installiert werden.
yum -y install opendkim
Nach dem OpenDKIM installiert ist, wird die Hauptkonfiguration erstellt. Dabei wird die original Datei opendkim.conf vor dem editieren erst kopiert.
cp /etc/opendkim.conf /etc/opendkim.conf.orig
vi /etc/opendkim.conf
AutoRestart Yes AutoRestartRate 10/1h LogWhy Yes Syslog Yes SyslogSuccess Yes Mode sv Canonicalization relaxed/simple ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts KeyTable refile:/etc/opendkim/KeyTable SigningTable refile:/etc/opendkim/SigningTable SignatureAlgorithm rsa-sha256 Socket inet:8899@localhost PidFile /var/run/opendkim/opendkim.pid UMask 022 UserID opendkim:opendkim TemporaryDirectory /var/tmp
Nun werden die Verzeichnisse und ein DomainKey für die Beispiel Domain maildomain.ch durch die folgenden vier Eingaben generiert.
mkdir /etc/opendkim/keys/maildomain.ch opendkim-genkey -D /etc/opendkim/keys/maildomain.ch/ -d maildomain.ch -s maildomain chown -R opendkim: /etc/opendkim/keys/maildomain.ch mv /etc/opendkim/keys/maildomain.ch/maildomain.private /etc/opendkim/keys/maildomain.ch/maildomain
Den DomainKey zur maildomain.ch hinzufügen.
vi /etc/opendkim/KeyTable
maildomain._domainkey.maildomain.ch maildomain.ch:maildomain:/etc/opendkim/keys/maildomain.ch/maildomain
DomainKey zur Unterzeichnung eintragen.
vi /etc/opendkim/SigningTable
*@maildomain.ch maildomain._domainkey.maildomain.ch
Welche Domains und Hosts sollen DKIM verwenden.
vi /etc/opendkim/TrustedHosts
127.0.0.1 maildomain.ch host.maildomain.ch # external host 1.2.3.4
Den DomainKey auf dem Nameserver als DNS TXT Record zur Zone maildomain.ch hinzufügen. Beispiel: maildomain.txt, zu beachten ist, das die Key Zeile auf einer Linie zu stehen kommt.
cat /etc/opendkim/keys/maildomain.ch/maildomain.txt mmaildomain._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=ECGfMA0GCSpGSIb3DQEBAQUBB436ADCBiQKBgQC8ixCqCQG4iMnHjWaZMt24l8dadmHzc9qIXLj5gUjP4kdWwpz569FGFjaPII9ec1G3AqvsBvWfLtGEvk20xBoOmAc2sOP0JdaBenYU-0JLuuBsS5JI+up0GQC5LacnQRegsBiYvLyRDqJoFiY6cWL8iuOzcTaIpYMKs2iSx8L9JwIZFJLE" ) ; ----- DKIM key maildomain for maildomain.ch
Und wenn wir schon dabei sind, kann auch gleich ein TXT Record für SPF, Sender Policy Framework hinzugefügt werden.
maildomain.ch. 14400 IN TXT "v=spf1 a mx ~all"
Mit dem domain information groper – dig lässt sich ein query des DomainKey mit folgender Eingabe ausgeben.
dig +short maildomain._domainkey.maildomain.ch TXT
Bei Postfix muss noch der milter integriert werden. Das Domain signing wird zum SMTP-Header hinzugefügt und über Port 8899 an Postfix zurückgegeben.
vi /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:8899 non_smtpd_milters = $smtpd_milters milter_default_action = accept milter_protocol = 2
Dann die Services starten.
service opendkim start chkconfig opendkim on service postfix restart
Mit einem Test Mail an check-auth@verifier.port25.com wird die DKIM Signatur überprüft und das Resultat gleich als Antwort zurück gesendet. Das Ergebnis sollte dann in etwa wie folgt aussehen.
========================================================== Summary of Results ========================================================== SPF check: pass DomainKeys check: neutral DKIM check: pass DKIM check: pass
Quellen Links:
DomainKeys Wiki
danke
Funktioniert alles, toller Beitrag, besten Dank.