opendkim-testkey:密钥不安全

71G*_*1GA 9 dkim dnssec opendkim

我在我的机器上设置了 Opendkim milter 来与 postfix 一起使用。现在电子邮件已正确签名和验证,即电子邮件源代码显示DKIM-Signature标题。

\n

TXT权威 dns 上的记录设置如下:

\n
\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\xe2\x94\x82 # \xe2\x94\x82 root > server > ~\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x98\n  \xe2\x94\x94\xe2\x94\x80> delv -t txt dkim-domain._domainkey.domain.eu\n...\n...\ndkim-domain._domainkey.domain.eu. 1780 IN TXT   "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8drA4hH8gJaVpLaHhtQonhpOeanMo/oPmrAVehP3lBYAjsoxifCIclLqJo7kk0maelqu9SIN9ttQ0boCzEiQBMO1" "c1P+Sj/PxphZB71c8VNhqMJ32VG6Ky3ZD4Tds39Vye/wsWdi+842MUT3Z2dJnxS2AAG4pSkjaytFPCs0J94OUQC0tDErbnsMZh+gg+7IsYgND8FR/cRDzpXjD0qFJk4Cnc1q27WorPAGAiRsRfLt9u" "gkYgQRwapnofmKJ3hk/L8096YR7gan60L4+RGojsx5ppTdIEhYasyK9MokefmVeNyGwVXTJchqG8vhcg9uGjGy9mPiPg4B2TQgEBPwyQIDAQAB"\n...\n...\n
Run Code Online (Sandbox Code Playgroud)\n

因此,乍一看一切正常,但当我在机器上运行诊断程序时,它会显示以下内容:

\n
\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\xe2\x94\x82 # \xe2\x94\x82 root > server > ~\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x98\n  \xe2\x94\x94\xe2\x94\x80> opendkim-testkey -d domain.eu -s dkim-domain -vvv\n\nopendkim-testkey: using default configfile /etc/opendkim.conf\nopendkim-testkey: checking key \'dkim-pistam._domainkey.pistam.eu\'\nopendkim-testkey: key not secure\nopendkim-testkey: key OK\n
Run Code Online (Sandbox Code Playgroud)\n

注意key not secure答案。我从这个答案中读到存在警告,因为未启用 DNSSEC。但我的域的 DNSSECdomain.eu已启用。根据DNSViz

\n
\n

添加:

\n

我之前链接的主题可能有误导性,因为我后来在这里读到了一个答案读到了一个答案,表明警告是由于对密钥对的权限过于宽松造成的!我对密钥对及其文件夹设置用户权限,如下所示:

\n
\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\xe2\x94\x82 # \xe2\x94\x82 root > server > ~\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x98\n  \xe2\x94\x94\xe2\x94\x80> ls -l /etc/opendkim/keys/\ntotal 8\n-rw------- 1 opendkim opendkim 1675 Dec 30 08:45 dkim-rsa-private.key\n-rw------- 1 opendkim opendkim  451 Dec 30 08:46 dkim-rsa-public.key\n\n\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\xe2\x94\x82 # \xe2\x94\x82 root > server > ~\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x98\n  \xe2\x94\x94\xe2\x94\x80> ls -ld /etc/opendkim/keys/\ndrwx------ 2 opendkim opendkim 4096 Jan  1 07:18 /etc/opendkim/keys/\n
Run Code Online (Sandbox Code Playgroud)\n

所以它应该是安全的......但事实并非如此。

\n

glt*_*lts 8

正如我的其他答案中所解释的,key not secure在这种情况下表明 OpenDKIM 无法使用 DNSSEC 验证密钥。

您必须确保 OpenDKIM 可以使用 DNSSEC。例如,在 Debian 和 Ubuntu 上,默认的 /etc/opendkim.conf 文件包含以下设置,该设置启用 DNSSEC 功能:

TrustAnchorFile /usr/share/dns/root.key
Run Code Online (Sandbox Code Playgroud)