我可以为 opendkim 使用多个选择器吗?

Mar*_*yra 5 email-server postfix opendkim

我在一台服务器上托管了 4 个域。我应该使用 4 个单独的 dkim 密钥还是一个用于所有密钥?

另外,就选择器而言,我是否需要使用 opendkim.conf 中指定的选择器,或者我可以/应该使用新密钥为每个域创建一个新的选择器吗?

HBr*_*ijn 6

我在一台服务器上托管了 4 个域。我应该使用 4 个单独的 DKIM 密钥还是一个用于所有密钥?

从技术上讲,您可以使用相同的密钥对为同一邮件服务器上托管的所有域生成 DKIM 签名。当您托管(许多)不同的域时,这可能更可取。

  • 在您的主域的 DNS 区域中发布一次 DKIM 记录,即
    dkim.example.net. 86400 IN TXT "k=rsa\; p=MIGfMA0GCSq...DAQAB\;"

  • 对于您的所有域,您需要使用相同的selector-nameDNS 记录并设置域密钥 DNS 记录,例如:
    selector-name._domainkey IN CNAME dkim.example.net.

然后设置 /etc/opendkim.conf

KeyTable        /etc/opendkim/KeyTable
SigningTable    refile:/etc/opendkim/SigningTable
Run Code Online (Sandbox Code Playgroud)

/etc/opendkim/KeyTable

selector-name  example.com:selector-name:/etc/opendkim/selector-name.key
Run Code Online (Sandbox Code Playgroud)

并将/etc/opendkim/SigningTable每个域映射到该单个键:

* selector-name
Run Code Online (Sandbox Code Playgroud)

对于有限数量的域,我通常opendkim-genkey --domain=example.com --selector=20180717 --verbose为每个域生成唯一的密钥对 ( ) 并维护 opendkimKeyTableSigningTable映射。

/etc/opendkim/KeyTable

selector-name._domainkey.example.com  example.com:selector-name:/etc/opendkim/selector-name._domainkey.example.com.key
selector-name._domainkey.example.org  example.org:selector-name:/etc/opendkim/selector-name._domainkey.example.org.key
Run Code Online (Sandbox Code Playgroud)

并将/etc/opendkim/SigningTable每个域映射到它自己的密钥:

example.com selector-name._domainkey.example.com
example.org selector-name._domainkey.example.org
Run Code Online (Sandbox Code Playgroud)