SPF, DKIM und DMARC

  • Moin


    Ich nutze Weihnachten mal um meinen Mailserver auf die gängigen Standards zu bringen. Kann übrigens den Guide bei Linuxbabe ebenfalls sehr empfehlen.

    Nun zu meinem Problem. Meine Mails werden als nicht korrekt "signiert", obwohl - soweit ich das sehen kann - alles korrekt konfiguriert ist.


    Hier ein Auszug aus dem Header:

    Code
    dkim=neutral (invalid public key) 

    Lokaler Test ist auch negativ:

    Code
    # opendkim-testkey -d meinedomain -s 20211221 -k /etc/opendkim/keys/meinedomain/20211221.private -vvv
    opendkim-testkey: using default configfile /etc/opendkim.conf
    opendkim-testkey: key loaded from /etc/opendkim/keys/meinedomain/20211221.private
    opendkim-testkey: checking key '20211221._domainkey.meinedomain'
    opendkim-testkey: key secure
    opendkim-testkey: keys do not match

    Public keyfile:

    Code
    cat /etc/opendkim/keys/meinedomain/20211221.txt
    20211221._domainkey     IN      TXT     ( "v=DKIM1; k=rsa; "
              "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvplWAWiDiAzd2R4qPdmNrN0oi6k8mOceiravjEDxQ7jjqQLbuyb3hC51DqzZXJO/dFUe5/RcYp/iUzlwvGOi7v0vzju1NW7qcwri99Ez31vffAFFn2SW2e23joTB9cH0anaqrfAcq9jQNUL+zWvTdNF9rjxV6VlauBh/5/lKv4ITyDKqrqeLiMMw5rq2T++hAG3iKfpeHHsiGA"

    Und nun der strange Auszug aus dem netcup DNS per dig:

    Code
    20211221._domainkey.meinedomain. 28341 IN  TXT     "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvplWAWiDiAzd2R4qPdmNrN0oi6k8mOceiravjEDxQ7jjqQLbuyb3hC51DqzZXJO/dFUe5/RcYp/iUzlwvGOi7v0vzju1NW7qcwri99Ez31vffAFFn2SW2e23joTB9cH0anaqrfAcq9jQNUL+zWvTdNF9rjxV6VlauBh/5/lKv4ITyDKqrqeLiMMw5rq2T++hA" "G3iKfpeHHsiGA"


    Ich tippe, dass das Webinterface irgendwas beim Setzen der Gänsefüße vermurkst (?). Hat jemand eine Idee?

  • Also, der Auszug aus dem Netcup-DNS sieht weniger komisch aus als die Ausgabe des cat-Befehls der .txt-Datei, wo ich am Ende " ) ; ----- DKIM key 20211221 for meinedomain" vermisse (die abschließende Klammer fehlt auf alle Fälle, ggf. erzeugt opendkim in einer neueren Version keinen Kommentar mehr dahinter – das ist hier aber irrelevant, da der Wert i. d. R. ja via Copy&Paste in das CCP-Formular kopiert wird).

    Lange Werte für DNS-Einträge müssen in mehrere Teileinträge aufgesplittet werden, und genau das zeigt dig hier mit den einzelnen "…"-Sequenzen, das ist völlig in Ordnung. Genau so wird es ja auch in der .txt-Datei gehandhabt, nur erfolgt die Trennung in mehrere Teilsequenzen hier an einer anderen Stelle; bei längeren Schlüsseln sieht man das noch besser.


    Bitte einmal die folgende Ausgabe mit dem öffentlichen Schlüssel (Zeichenkette hinter "p=") in der .txt-Datei vergleichen – wenn sie abweicht, passt der private nicht zum öffentlichen Schlüssel:

    Code
    echo $(openssl rsa -in /etc/opendkim/keys/meinedomain/20211221.private -pubout -outform der 2>/dev/null | openssl base64) | sed -e 's| ||g'

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Also, der Auszug aus dem Netcup-DNS sieht weniger komisch aus als die Ausgabe des cat-Befehls der .txt-Datei, wo ich am Ende " ) ; ----- DKIM key 20211221 for meinedomain" vermisse (die abschließende Klammer fehlt auf alle Fälle, ggf. erzeugt opendkim in einer neueren Version keinen Kommentar mehr dahinter – das ist hier aber irrelevant, da der Wert i. d. R. ja via Copy&Paste in das CCP-Formular kopiert wird).

    Lange Werte für DNS-Einträge müssen in mehrere Teileinträge aufgesplittet werden, und genau das zeigt dig hier mit den einzelnen "…"-Sequenzen, das ist völlig in Ordnung. Genau so wird es ja auch in der .txt-Datei gehandhabt, nur erfolgt die Trennung in mehrere Teilsequenzen hier an einer anderen Stelle; bei längeren Schlüsseln sieht man das noch besser.


    Bitte einmal die folgende Ausgabe mit dem öffentlichen Schlüssel (Zeichenkette hinter "p=") in der .txt-Datei vergleichen – wenn sie abweicht, passt der private nicht zum öffentlichen Schlüssel:

    Code
    echo $(openssl rsa -in /etc/opendkim/keys/meinedomain/20211221.private -pubout -outform der 2>/dev/null | openssl base64) | sed -e 's| ||g'

    OMG, vielen Dank...vielleicht sollte ich solche Dinge nicht spät abends machen und dann morgens in Foren jammern. ;)

    Ich habe jetzt mal den Key vollständig in den DNS eingetragen und schaue morgen früh mal, obs geht (was es wohl sehr wahrscheinlich tun wird).


    P.S. Der Kommentar wird auch unter opendkim 2.11 (Rocky 8.5) korrekt ausgegeben, wenn man ihn denn wahrnimmt.