DKIM Signaturen mit Postfix und dkim-filter auswerten

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.