OpenDKIM tidak menandatangani surat

9

Jadi saya mengalami masalah dengan meminta OpenDKIM untuk menandatangani pesan saya, tapi saya membentur apa yang menyebabkannya:

Pada Debian Jessie, dengan Postfix dan OpenDKIM.

Saya /etc/opendkim.conf:

Syslog                  yes
SyslogSuccess           Yes
LogWhy yes
UMask                   002
Canonicalization        relaxed/simple
Mode                    sv
SubDomains              no
#ADSPAction             continue
AutoRestart             Yes
AutoRestartRate         10/1h
Background              yes
DNSTimeout              5
SignatureAlgorithm      rsa-sha256
UserID                  opendkim:opendkim
Socket                  inet:12301@localhost
KeyTable        refile:/etc/opendkim/KeyTable
SigningTable    refile:/etc/opendkim/SigningTable
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts   refile:/etc/opendkim/TrustedHosts

Saya /etc/opendkim/KeyTable:

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

Saya /etc/opendkim/SigningTable:

example.com default._domainkey.example.com

Mencoba variasi berikut di SigningTable, tetapi itu menonaktifkan SMTP saya:

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

Minta baris berikut dibatalkan komentar di /etc/default/opendkim:

SOCKET="inet:12345@localhost

Memiliki yang berikut di saya /etc/postfix/main/cf:

# DKIM
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:12345
non_smtpd_milters = inet:localhost:12345

Inilah yang opendkim-testkey -d example.com -s default -vvvmengembalikan:

opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key 'default._domainkey.example.com'
opendkim-testkey: key not secure
opendkim-testkey: key OK

Tampaknya tidak ada kesalahan dalam log saya yang berkaitan dengan opendkim, tetapi ketika saya mencoba memverifikasi penandatanganan, mail-tester.com melaporkan tidak ada tanda tangan DKIM, [email protected] mengembalikan cek DKIM: tidak ada.

Setiap bantuan dengan menunjukkan dengan tepat apa yang saya lewatkan akan sangat dihargai. Terima kasih.

anark10n
sumber

Jawaban:

7

Masalah yang saya lihat:

  • Penggunaan Anda dari refile
    Dari dokumentasi :

    Jika string dimulai dengan "refile:", maka sisa string dianggap untuk menentukan file yang berisi serangkaian pola, satu per baris, dan nilai terkait. Pola diambil sebagai awal dari baris ke spasi putih pertama, dan bagian setelah spasi putih diambil sebagai nilai yang akan digunakan ketika pola itu cocok. Pola adalah pola wildcard sederhana, cocok dengan semua teks kecuali bahwa karakter asterisk ("*") dianggap sebagai wildcard. Jika nilai berisi banyak entri, entri harus dipisahkan dengan titik dua.

    KeyTable tidak mengikuti pola itu, jadi tidak perlu refilekata kunci. Mungkin tidak sakit, saya tidak tahu. Saya tidak menggunakannya di konfigurasi saya di sana, dan itu berfungsi untuk saya.

    KeyTable        /etc/opendkim/KeyTable
    SigningTable    refile:/etc/opendkim/SigningTable
    
  • KeyTable Anda

    Baris seharusnya dimulai dengan domain, bukan dengan catatan domainkey:

    example.com example.com:default:/etc/opendkim/keys/example.com/default.private
    
  • SigningTable

    Tabel penandatanganan harus memetakan Alamat Email ke domain. Seharusnya terlihat seperti ini:

    *@example.com example.com
    

    Di sini refilekata kunci diperlukan.

Saya tidak tahu ExternalIgnoreListdan InternalHostssaya tidak menggunakannya. Konfigurasi lainnya terlihat bagus untuk saya.

Gerald Schneider
sumber
Saya kira komentar KeyTable / Signingtable Anda tidak benar; baris dimulai dengan nama kunci, yang dalam kasus Anda sekarang adalah example.com. Nama yang disebutkan default._domainkey.example.comsangat masuk akal. Kemudian SigningTable memetakan alamat email ke nama kunci, bukan ke domain.
TacoV