dynaperl

100% porentief rein

Archiv für die Kategorie ‘mailserver’

Probleme mit DomainKeys

Montag, 19. März 2012

DomainKeys ist ähnlich wie das neuere DKIM eine Möglichkeit ausgehende Mails kryptographisch zu signieren. Der Empfänger kann dann über einen im DNS abgelegten öffentlichen Schlüssen prüfen ob die Mail verändert wurde und damit auch sicherstellen das der Absender Mailserver wirklich berechtigt ist Mails für die Absender Domain zu verschicken.

DomainKeys ist mal von Yahoo erdacht worden. Das wurde dann später noch mal etwas verändert und heißt jetzt DKIM. Eigentlich ist daher DomainKeys ein Auslaufmodel. Es gibt aber weiterhin noch Anbieter die nur DomainKeys einsetzen. Wenn man also Wert darauf legt das die Mails ankommen (und nicht als Spam markiert werden) sollte DKIM und DomainsKeys und vielleicht auch SPF einsetzen.

Es gibt eine DomainsKeys Implementation für Debian in Debian Sid die allerdings einen dokumentierten Bug hat (siehe /usr/share/doc/dk-filter/KNOWNBUGS).

There is a known problem with signing messages that have a header field which
repeats (e.g. a message with multiple „Received:“ header fields).

Die Fehlermeldung ist dann sowas wie:

fail (bad signature)

Bevor ich die so nahe liegen Lösung in dem Knownbugs-File gefunden hatte mußt ich natürlich erstmal das ganze Internet nach dem Fehler durchsuchen. Hier finden sich einige Foren Beiträge von Usern die einen Ähnlichen Fehler beschreiben. Hier tritt das Problem in Verbindung mit Plesk auf. Und zwar immer nur dann wenn man ein externes E-Mail Programm verwenden. Nicht wenn man den eingebauten Webmailer verwendet. Grund könnte auch hier die in dem Fall doppelte Received Zeile sein.

Lösung des Problems ist die Option -o Received in der Variable DAEMON_OPTS in der Konfigurationsdatei /etc/default/dk-filter.  Die Option ignoriert die Received Header und damit stimmt die Signatur dann wieder.

Testen kann man das in dem man eine E-Mail an check-auth@verifier.port25.com schickt. Oder an ein Yahoo Postfach und sich dann den Header einblenden läßt.