Keine Übereinstimmung der Signaturtabelle in OpenDKIM

8

Ich habe OpenDKIM unter CentOS installiert. Ich verwende Postfix als MTA und Dovecot für IMAP / POP3.

Jetzt versuche ich, DKIM für meine Domain einzurichten. Die Mails werden von einer Subdomain mail.example.com gesendet. Das Problem ist, dass E-Mails nicht signiert werden und die /var/log/maillogSignaturtabelle für [email protected] nicht übereinstimmt. Könnte mir bitte jemand helfen, das zu lösen?

Dies ist der Inhalt der KeyTable-Datei

default._domainkey.mail.example.com  mail.example.com:default:/etc/opendkim/keys/mail.example.com/default.private

Dies ist die signingtabelle Inhaltsdatei

*@mail.example.com default._domainkey.mail.example.com

Dies ist die TrustedHosts-Inhaltsdatei

127.0.0.1
example.com
mail.example.com
Amal
quelle
1
Wie sieht die SigningTable-Zeile in Ihrer opendkim.conf aus? Das Formular "* @ domain" funktioniert beispielsweise nur für Dateien mit regulären Ausdrücken.
In der Konfiguration habe ich: SigningTable refile: / etc / opendkim / SigningTable
Amal
in der Konfiguration habe ich: SigningTable refile: / etc / opendkim / SigningTable
Amal

Antworten:

9

Vielen Dank an alle, die versucht haben zu helfen. Das Problem war ein Fehler beim Refile in opendkim, wenn die Signingtable-Datei ein CR-Zeichen enthält. Also habe ich die Datei im Nicht-DOS-Format gespeichert, um das CR-Zeichen zu entfernen, und es hat perfekt funktioniert ...

Amal
quelle
Die gute Antwort muss die Lösung enthalten ... Ich suche viel, bevor ich finde, dass Sie Recht haben. Um CR und andere zu löschen, verwenden Sie dos2unix => unix.stackexchange.com/questions/79702/…
Matrix
6

Die Einstellung für vertrauenswürdige Hosts lautet IP-Adressen oder Netzwerke. Meines Wissens wird das Einfügen von Hostnamen nichts für Sie tun. Sie geben die IP-Adressen aller Hosts an, die E-Mails an Ihren Server senden, für den Sie eine Signatur wünschen. Die Einträge in der Schlüssel- / Signiertabelle bestimmen, ob die Absenderdomäne dies rechtfertigt.

Das Format Ihrer Signaturtabelle sieht korrekt aus, und das Format Ihrer Schlüsseltabelle sieht korrekt aus. Ich vermute, dass Ihr Problem behoben ist, sobald Sie Ihre Liste der vertrauenswürdigen Hosts repariert haben.

Hinzugefügter Inhalt 27. Januar:

Wie Sie die Signaturtabelle in Ihrer opendkim.conf angeben, steuert, wie die Datei verarbeitet wird. Da Sie "*@example.com" in Ihrer Signaturtabelle verwenden, müssen Sie opendkim mitteilen, dass Platzhalterzeichen erwartet und verarbeitet werden sollen. Die Möglichkeit, dies in opendkim zu tun, besteht darin, der Konfigurationsanweisung "refile:" voranzustellen. Ohne diesen Abschnitt "refile:" wird eine genaue Übereinstimmung mit der E-Mail-Adresse erwartet. Stellen Sie sicher, dass es so aussieht:

SigningTable  refile:/etc/opendkim/signing_table

Hinzugefügter Inhalt 31. Januar:

Stellen Sie außerdem sicher, dass Ihr Modus auf "sv" (zum Signieren und Überprüfen) und nicht nur auf "v" (nur Überprüfen, Standardeinstellung) eingestellt ist.

Todd Lyons
quelle
Vielen Dank für die Antwort ... Aber ich habe die IP zu vertrauenswürdigen Hosts hinzugefügt und sie ist immer noch dieselbe ... Dies ist der Fehler, den ich bekomme ... 26. Januar 10:42:03 Server opendkim [16897]: 9B0DF1F80173: Keine Signiertabelle Übereinstimmung für '[email protected]' 26. Januar 10:42:04 Server opendkim [16897]: 9B0DF1F80173: keine Signaturdaten
Amal
In der Konfiguration habe ich: SigningTable refile: / etc / opendkim / SigningTable
Amal
Es ist möglich, dass opendkim nicht die Konfigurationsdatei verwendet, von der Sie glauben, dass sie es ist. Suchen Sie alle opendkim.conf-Dateien und stellen Sie sicher, dass Sie die richtige bearbeiten.
Todd Lyons
Ich habe erneut überprüft und die geladene Konfigurationsdatei ist korrekt ... Ich habe einen opendkim-testkey -vvv -d mail.domain.com -s E-Mail -k /etc/opendkim/keys/mail.domain.com/default.private erstellt Ergebnisse in Schlüssel okay ... Ich habe auch den DNS-TXT-Datensatz überprüft und es ist auch in Ordnung (ich denke, Opendkim-Testkey überprüft DNS auch) .... Aber wenn ich eine Mail sende und das / var / log / maillog überprüfe, ist es Keine Signaturtabelle!
Amal
Wenn also keine Übereinstimmung der Signiertabelle für '[email protected]' vorliegt, wird die in der Warteschlange befindliche E-Mail nicht gesendet?
Sysadmin
0

Wir können dos2unix (verwenden Sie: apt-get install dos2unix, falls nicht installiert) als Filter verwenden, um CR und andere Sonderzeichen zu entfernen:

dos2unix < /etc/opendkim/signing_table
Matrix
quelle