*Grab noch mal aus*
Ich habe DKIM jetzt bei mir konfiguriert. Es ist erstaunlich wie einfach es ist, wenn man alle Informationen auf dem Tisch hat.
Voraussetzung:
Erstens... für die Leute, die keinen DNS-Eintrag für eine eigene Domain haben, ist es sowieso uninteressant. Zudem sollte der Domain-Anbieter einem erlauben einen TXT-Eintrag in der Zone zu machen, sonst wird das nichts.
Dann sollte man am besten das unheilige Sendmail abschaffen und Postfix nehmen. Wenn man was komplexeres als einen Smarthost-Eintrag machen will, gehört Sendmail in die Tonne, habe ich festgestellt.
Als Grundlage für DKIM habe ich
mail/opendkim genommen. Das schien am vernünftigsten zu funktionieren. Den milter startet man als einen Dienst, den man mit Schlüsseln versorgen muss.
Vorgehen:
Eigentlich steht alles
hier wie man es mit Postfix konfiguriert. Vergesst den Kram mit
./configure und
make oben, weil wir hier nicht die Höllenmenschen wie Linuxer sind und Ports haben.
Da gibt es allerdings einen Fehler in der Anleitung beim Einstellen des Milters in
main.cf. Hier wie es korrekt lauten sollte:
Code:
smtpd_milters = inet:localhost:8891
Besonderheiten bei mir:
Ich habe nur einen internen E-Mail-Server (Postfix) am Router laufen. Der übernimmt das Signieren, wenn der Relay zu meiner Domain angefordert wird. Lokale Zustellung brauche ich für Admin-Zwecke. Die muss natürlich nicht signiert werden.
Um zum externen SMTP zustellen zu können. Brauchte ich SMTP-Auth und einige Absicherungen, dass interne Absenderadressen nicht nach draußen entfleuchen. Das waren die Feinheiten, die etwas gedauert haben, weil solche Sachen offenbar nur wenige Leute brauchen.
Zustellung:
Hier war es interessant. Und ich kann die Sorgen der Leute bestätigen, die meinen, dass E-Mails manchmal bis zur Unkenntlichkeit verändert werden und DKIM dann einfach "Fälschung" dazu sagt.
Im Grunde kann das hier wie ein Filter DKIM prüfen:
Code:
opendkim -t - < mail-datei.eml
Aber... es gibt keinen Exit-Code zurück, was man gerne bei procmail und Co brauchen könnte. Also muss ein Wrapper-Skript her. Ich habe auch vorgefertigte Skripte untersucht, wie in
mail/p5-Mail-DKIM... das scheint irgendwie kaputt zu sein.
Warum DKIM:
Was macht man aber damit? Man kann es wirklich schlecht als Filter für Spams nehmen. Bitte merken! Es ist nur garantiert (beim richtigen Umgang), dass die E-Mail tatsächlich von der angegebenen Domain kommt. Ob es eine Spam ist? Das weiß doch keiner!
Außerdem kann man einfach unsignierte E-Mails nicht wegschmeißen. Das rächt sich spätestens wenn man (in meinem Szenario), den SMTP des Anbieters nimmt, anstatt den eigenen, der zu Hause steht und signiert. Das kann ja passieren, wenn man unterwegs ist.
Dann gibt es noch die Falle, dass Mailinglisten DKIM-Header einfach entfernen, weil die E-Mail durchgewirbelt wird. Dann ist zwar der Absender eine Domain, die immer signieren mag, aber die Signatur ist nicht da.
Manche freie E-Mail-Anbieter machen noch schlimmere Sachen. Sie kleben fein Werbung unter den Text und ändern/fügen Header hinzu. Dann ist natürlich DKIM im Eimer. Alleine ein Spam-Filter kann schon Unheil anrichten, wobei opendkim da schon einiges ahnt und besser reagiert als die Konkurrenz.
Dann gibt es Leute, die einen andere From-Header benutzen, damit die Antworten woanders ankommen und nicht zu ihrem E-Mail-Anbieter. Man hat dann das Problem, dass man DKIM zwar erwartet, aber da nichts ist. Das muss man die Envelope auf jeden Fall matchen.
Man erwartet DKIM zum Beispiel von: Yahoo, Gmail, Facebook, Youtube oder EBay. Jede Domain, die viele Fälschungen aufweist (Forging), sollte sich um DKIM kümmern. Das betrifft auch Domains von Banken etc. Auch bsdforen.de könnte für Benutzer-Notifikationen DKIM gebrauchen (für die Zukunft vorsorgen).
Warum ich DKIM eingehend untersucht habe, fragt ihr? Weil zur Zeit Facebook-Mails hier ankommen, die sehr gut gefälscht sind. Keine Links auf falsche Seiten, alles Böse vollzieht sich fein innerhalb von Facebook mit einigen Klicks auf URLs, die total harmlos aussehen. Der einzige Unterschied war, dass bei Facebook DKIM benutzt wird und bei den E-Mails nicht. Das hat mich etwas stutzig gemacht und ich habe viel dazu gelernt.
Glaubt's oder nicht, ich wusste gestern Mittag noch nicht was DKIM ist.
