DKIM ist eine Technologie um die Authentizität einer E-Mail zu überprüfen. Der sendende Mailserver signiert jede ausgehende E-Mail mit seinem privaten DKIM Schlüssel, ein empfangender Mailserver kann die Herkunft der E-Mail dann mit dem öffentlichen DKIM Schlüssel, welcher im DNS hinterlegt ist überprüfen.
Sollte eine E-Mail nicht oder falsch signiert sein, besteht die Möglichkeit diese E-Mail zu verwerfen.
Software installieren:
Damit Postfix die Möglichkeit hat, die DKIM Schlüssel zu überprüfen muss folgendes Paket installiert werden:
apt-get install dkim-filter
DKIM-Filter konfigurieren
Der DKIM Filter ist jetzt schon in der Lage die DKIM-Signaturen zu überprüfen, allerdings sollte man noch folgende Konfiguration in /etc/dkim-filter.conf
einfügen:
X-Header yes
On-BadSignature reject
Die Variable X-Header sorgt für eine Ausgabe der DKIM-Überprüfungen in den Logfiles und die zweite Variable sorgt für eine Zurückweisung der E-Mails falls die Signatur falsch ist.
DKIM init-Script anpassen
Typischerweise läuft dkim-filter über Unix Sockets, da der Postfix MTA später die Daten an localhost auf Port 8891 weiterleitet muss dies im init-Script geändert werden.
Öffnen sie dazu die Datei /etc/init.d/dkim-filter
und ersetzen sie diese Zeile:
SOCKET=local:$RUNDIR/$NAME.sock
durch diese:
SOCKET="inet:8891@localhost"
Integration in Postfix
Damit der Postfix-MTA die Daten an den dkim-filter Prozess weiterreichen kann werden folgende Daten am Ende in die /etc/postfix/main.cf
eingefügt:
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Abschliessend werden beide Dienste einmal neu gestartet:
/etc/init.d/dkim-filter restart
/etc/init.d/postfix restart
Jetzt ist der eigene Postfix Server in der Lage die Authentizität von signierten E-Mails zu überprüfen, aufbauend auf diesem Setup ist es möglich die eigene Domain mit einer DKIM Signatur auszustatten.