Diskussion zur DKIM Implementierung

  • Vorab möchte ich Daniel Bradler sagen dass ich für die DKIM Implementierung wirklich sehr dankbar bin. Das ist in meiner Wahrnehmung ein riesiger Schritt, der Potential hat den Alltag von uns und unseren Anwendern massiv besser zu machen. Tolle Arbeit!


    Was mir bis jetzt aufgefallen ist:


    1) Rein interne Mails (also alice@domain.com mailt direkt an bob@domain.com) werden anscheinend nicht DKIM signiert. Soweit ich beobachten kann auch dann nicht, wenn es verschiedene Domains sind die sich auf dem selben Host befinden (Server hostet domain1.com und domain2.com und die beiden mailen untereinander -> keine DKIM Signatur). Ich denke mal dass dieser Punkt zu vernachlässigen ist, fallen jemand Szenarien ein in denen das von Nachteil sein könnte? Wobei: Nett wär es irgendwie schon.


    2) Ich konnte noch nicht Testen, ob scriptgenerierte Mails signiert werden. Also wenn eine Webpräsenz zum Beispiel via PHP ein Mail absetzt (sendmail Kommando oder PHP mail() Funktion). Hat das schon jemand beobachtet? Das wär nämlich der Oberhammer, meine Hoffnung wäre dass sich die Zustellungsrate von Webshop-Bestätigungen, Registrierungsmails etc. damit massiv verbessert.


    3) Einige meiner Anwender verwenden Scripte bzw. Suites, die bereits ihrerseits eine DKIM Signatur an generierten Mails anbringen. "Superwebmailer" zum Beispiel kann das. Hier wird bei entsprechender Konfiguration vor dem Absetzen des Mails bereits softwareseitig eine DKIM Signatur angebracht. Ich frage mich nun, ob es hier nun zu einer "Doppelsignierung" kommen könnte. Und falls ja, ob das ein problem wäre. Weil dann müsste ich die Leute informieren, dass sie das DKIM signieren auf deren Seite wieder raus nehmen.


    4) Ich verwende das Thunderbird Plugin "DKIM Verifier". Hier finde ich interessant, dass dieses die DKIM Signaturen von pd-admin Systemen NICHT erkennt. Also es beurteilt sie auch nicht als invalid, es verhält sich einfach so als wäre das Mail nicht DKIM signiert. Würde ich mich interessieren warum. Das aber nur am Rande, hier werde ich vielleicht den Entwickler des Plugins mal befragen.


    5) Absolute Kleinigkeit: Nett wäre, wenn man den Namen des Eintrages (derzeit stets "default" selbst wählen könnte. Ist aber aus meiner Sicht wirklich nur "nice-to-have".

  • zu 1)


    Die hängt vermutlich mit der Zustellung zusammen und an welchem Punkt die Signierung stattfindet. Ich nehme an, die Signierung findet beim Verlassen des Servers statt. Wozu sollten auch interne Mails signiert werden? Da ist man ja selbst Absender. IIRC greift bei interner Zustellung z.b. auch kein Spamassassin.


    zu 2) und 3)


    Die DKIM Signierung wurde nur in qmail implementiert. Zumindest wurden entsprechende Pakete in die SE eingepflegt. Mails, welche über qmail versandt werden, werden somit signiert. Alle anderen Mails werden nicht signiert.

    Eine Doppelsignierung erfolgt nur wenn das Skript / die Anwendung Mails signiert und dann über eine Mailbox versendet. Ob dies jedoch problematisch ist, weiß ich nicht.


    zu 4)


    Ich meine Gmail prüft auch auf DKIM und dort wurde mir meine Signatur als valide angezeigt... Müsste ich nur noch Mal nach schauen. Hatte es einmal getestet, wurde als valide angezeigt und damit hatte sich das Thema für mich erledigt :-P

  • Zu meinem Punkt 2)

    Habe es inzwischen getestet. Mails mit einer DKIM-aktivierten Domain als Absenderadresse werden auch dann DKIM signiert, wenn sie via simplen php mail() (somit via /usr/sbin/sendmail) generiert werden. Find ich klasse!

  • Ist /usr/sbin/sendmail ein symlink auf /var/qmail/bin/sendmail ?

    Aber das hatte ich nicht bedacht :rolleyes: Wenn php natürlich sendmail von qmail verwendet, gehen Mails auch darüber raus. Entsprechend sollten diese dann auch signiert werden.

  • Code
    locate -0 php.ini |xargs -0 grep -h sendmail_path |sort -u
    ;sendmail_path =
    # bzw. wer locate nicht installiert bzw. am laufen hat (die Suche dauert dann nur etwas länger …)
    find /home /usr/local/pd-admin2 /service/FPM-* -type f -name php.ini -print0 |xargs -0 grep -h sendmail_path |sort -u
    ;sendmail_path =

    also bei mir ist überall sendmail_path nicht gesetzt; der Server wurde dieses Jahr neu aufgesetzt

  • Ich bin jetzt etwas schlauer warum manche DKIM Verifier auf die Signaturen von DKIM Servern nicht reagieren. Wir haben das t=y Flag drin im Record den pd-admin standardmäßig (Button "DNS") anbietet.


    Zitat

    Warnung : We have detected the DKIM record is used only for testing (t=y part). This means email receivers will not use the DKIM signature to for actual validation purposes.


  • Ich hab jetzt mal das t=y rausgenommen. Nun zeigt auch mein Thunderbird Verifier Plugin an, dass die DKIM Signatur in Ordnung ist (wenn auch mit dem Hinweis "schwacher Algorithmus").


    Soweit ich mich da jetzt eingearbeitet habe, gehört dieses t=y für den Produktivbetrieb raus aus dem DNS Eintrag. Hier wäre vielleicht ein Hinweis in pd-admin gut an der Stelle wo der DNS Eintrag angezeigt wird.

  • Bei mir erscheint "Unsicherer Signaturalgorithmus"

    Ja sorry, ist bei mir auch so. Hatte ich aus dem Gedächtnis heraus falsch geschrieben. Fairerweise muss ich aber sagen dass ich diese Warnung vom Verifier Plugin bei sehr vielen anderen Absendern auch habe. Sogar bei outlook365 Usern zum Beispiel. Also ist wohl eher zu vernachlässigen.


    Die Sache mit dem t=y im vorgeschlagenen DNS Eintrag braucht meiner Meinung nach eher etwas Zuwendung. Jemand der den DNS Eintrag einfach so übernimmt, übernimmt den Testmodus und hat bei vielen Empfängern dann gar nichts davon, weil diese die DKIM-Signatur im Testmodus ignorieren.