我正在尝试在 Debian 伸展上设置 opendkim,但我无法更改套接字。我想将套接字更改为/var/spool/postfix/opendkim/opendkim.sock以便我可以将它与 postfix 一起使用。
我已经添加Socket local:/var/spool/postfix/opendkim/opendkim.sock到/etc/opendkim.conf
并尝试添加SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock到/etc/default/opendkim(我必须创建)。
无论我更改什么或重新启动 opendkim 的频率如何,它始终/var/run/opendkim/opendkim.sock用作其套接字。
? ~ netstat -a | fgrep LISTEN | grep open
unix 2 [ ACC ] STREAM LISTENING 5534128 /var/run/opendkim/opendkim.sock
? ~ sudo systemctl status opendkim.service
? opendkim.service - OpenDKIM DomainKeys Identified Mail (DKIM) Milter
Loaded: loaded (/lib/systemd/system/opendkim.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2017-04-30 12:41:54 CEST; 5min ago
Docs: man:opendkim(8)
man:opendkim.conf(5)
man:opendkim-genkey(8)
man:opendkim-genzone(8)
man:opendkim-testadsp(8) …Run Code Online (Sandbox Code Playgroud) 我们在主机的 Web 界面上为 DKIM 密钥创建长 TXT 记录时遇到问题。
每行只能接受 256 个字符。
我们尝试了多行,然后按照一些建议尝试("在第一行和")最后一行添加。两者都不起作用。
然后我们尝试在另一个主机上创建一个记录的 cname,我们可以在那里创建 DKIM TXT 记录。
但现在网络界面抱怨CNAME记录中的非法名称。
mail._domainkey.example.com TXT还行
mail._domainkey.example.com CNAME不行不行
mail.domainkey.example.com CNAME不行,但不是我们想要的。
网络界面是决定让我们发疯,还是下划线真的“非法” CNAME?
我在 CentOS 上安装了 OpenDKIM。我使用 postfix 作为 MTA 和 dovecot 用于 IMAP/POP3。
现在的问题是我正在尝试为我的域设置 DKIM。邮件是从子域 mail.example.com 发送的。问题是邮件没有被签名,/var/log/maillog并且没有与 test@mail.example.com 匹配的签名表。有人可以帮我解决这个问题吗?
这是 KeyTable 文件的内容
default._domainkey.mail.example.com mail.example.com:default:/etc/opendkim/keys/mail.example.com/default.private
Run Code Online (Sandbox Code Playgroud)
这是可签名的内容文件
*@mail.example.com default._domainkey.mail.example.com
Run Code Online (Sandbox Code Playgroud)
这是 TrustedHosts 内容文件
127.0.0.1
example.com
mail.example.com
Run Code Online (Sandbox Code Playgroud) 所以我在让 OpenDKIM 对我的消息进行签名时遇到了麻烦,但我对可能导致它的原因感到困惑:
在 Debian Jessie 上,使用 Postfix 和 OpenDKIM。
我的/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
Run Code Online (Sandbox Code Playgroud)
我的/etc/opendkim/KeyTable:
default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default.private
Run Code Online (Sandbox Code Playgroud)
我的/etc/opendkim/SigningTable:
example.com default._domainkey.example.com
Run Code Online (Sandbox Code Playgroud)
在 SigningTable 上尝试了以下变体,但禁用了我的 SMTP:
*@example.com default._domainkey.example.com
Run Code Online (Sandbox Code Playgroud)
在 my 中取消注释以下行/etc/default/opendkim:
SOCKET="inet:12345@localhost
Run Code Online (Sandbox Code Playgroud)
在我的中有以下内容/etc/postfix/main/cf:
# DKIM
milter_default_action = …Run Code Online (Sandbox Code Playgroud) 我在我的机器上设置了 Opendkim milter 来与 postfix 一起使用。现在电子邮件已正确签名和验证,即电子邮件源代码显示DKIM-Signature标题。
TXT权威 dns 上的记录设置如下:
\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...\nRun 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\nRun Code Online (Sandbox Code Playgroud)\n注意key not secure答案。我从这个答案中读到存在警告,因为未启用 DNSSEC。但我的域的 DNSSECdomain.eu已启用。根据DNSViz。
我正在尝试在运行 Debian 和 Postfix 的邮件服务器上设置 OpenDKIM。这是我做的配置:
密钥表:
mail._domainkey.domain1.com domain1.com:mail:/etc/opendkim/keys/domain1.com/mail.private
mail._domainkey.domain2.com domain2.com:mail:/etc/opendkim/keys/domain2.com/mail.private
Run Code Online (Sandbox Code Playgroud)
签名表:
*.domain1.com mail._domainkey.domain1.com
*.domain2.com mail._domainkey.domain2.com
Run Code Online (Sandbox Code Playgroud)
可信主机:
127.0.0.1
::1
localhost
Run Code Online (Sandbox Code Playgroud)
我的opendkim.conf读物:
# This is a basic configuration that can easily be adapted to suit a standard
# installation. For more advanced options, see opendkim.conf(5) and/or
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.
# Log to syslog
Syslog yes
# Required to use local socket with MTAs that access the socket as a non-
# …Run Code Online (Sandbox Code Playgroud) 我安装了 postfix、dovecot、opendkim 和 postsrsd。我试图将邮件从 alias@example.com 转发到 myemail@gmail.com,并让他们用 DKIM 签名。
我使用postrsd以便 SPF 记录通过转发的电子邮件。
但是,当我从 icloud 帐户向 alias@example.com 发送电子邮件时,该邮件会发送到我的 gmail 收件箱,但并未由 DKIM 签名。
这是我的日志的输出:
postfix/smtpd: connect from st11p01im-asmtp001.me.com[17.172.204.151]
postfix/smtpd: BC23640B53: client=st11p01im-asmtp001.me.com[17.172.204.151]
postsrsd: srs_forward: <myicloudemail@icloud.com> rewritten as <SRS0=zgyz=HT=icloud.com=myicloudemail@hostname.myemailserver.com>
postfix/cleanup: BC23640B53: message-id=<6fd8e885-4be1-4a37-983f-3d6f18f3b73a@me.com>
opendkim: BC23640B53: st11p01im-asmtp001.me.com [17.172.204.151] not internal
opendkim: BC23640B53: not authenticated
opendkim: BC23640B53: no signature data
Run Code Online (Sandbox Code Playgroud)
我查看了http://seasonofcode.com/posts/setting-up-dkim-and-srs-in-postfix.html并且我所有的配置文件似乎都是正确的。
从我在网上看到的情况来看,“非内部,未经过身份验证”消息意味着该域不存在于 中/etc/opendkim/TrustedHosts,但日志中列出的域 ( st11p01im-asmtp001.me.com ) 不是我的域。我相信me.com属于 Apple。
DKIM 是否无法使用 SRS 使用别名地址进行签名?
更新:
在 /etc/postfix/main.cf 中禁用了 postrsd,问题仍然存在。因此,问题不在于 postrsd,而在于 opendkim …
我刚刚将 postfix 邮件服务器移到了另一个盒子,但我在让 postfix 通过 unix 套接字与 opendkim 交谈时遇到了麻烦。opendkim 套接字位于/var/run/opendkim/opendkim.sock:
srwxrwxr-x 1 opendkim opendkim 0 Aug 14 15:11 /var/run/opendkim/opendkim.sock=
Run Code Online (Sandbox Code Playgroud)
....但后缀看不到它。这是来自/var/log/mail.log:
Aug 14 15:13:04 new postfix/smtpd[23954]: warning: connect to Milter service unix:/var/run/opendkim/opendkim.sock: No such file or directory
Run Code Online (Sandbox Code Playgroud)
这是我的/etc/postfix/main.cf:
smtpd_milters = inet:127.0.0.1:11444 unix:/var/run/opendkim/opendkim.sock
Run Code Online (Sandbox Code Playgroud)
有没有人对导致问题的原因有任何想法?我已经用谷歌搜索了一下,但找不到任何有效的解决方案。
更新:我正在使用 Postfix 3.1.0-3。这是我的uname -a:
Linux starbeamrainbowlabs.com 3.14.32-xxxx-grs-ipv6-64 #7 SMP Wed Jan 27 18:05:09 CET 2016 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置 opendkim,但得到以下结果:
# opendkim-testkey -vvvv -d my.example.com -s 201702
opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key '201702._domainkey.my.example.com'
opendkim-testkey: key not secure
opendkim-testkey: key OK
Run Code Online (Sandbox Code Playgroud)
这应该意味着 DNSSEC 不起作用。
但根据https://dnssec-debugger.verisignlabs.com/example.com dnssec 很好。
我应该担心吗?
我有运行 Ubuntu 14.04 的完全可管理的 VPS,它为多个域托管网站。最近我尝试添加 DKIM 签名以避免垃圾邮件过滤器。我遵循了ubuntu-postfix-dkim 教程,使用 KeyTable 和 SigningTable,如写得很好的帖子askubuntu.com 中所述。每个域都有自己的公钥和私钥以及 txt DNS 区域记录。
通过 check-auth@verifier.port25.com、sa-test@sendmail.net 或什至通过http://dkimvalidator.com/进行测试后,响应完全相同:
DKIM:失败(签名不验证)
邮件已签名且签名看起来正常,但未通过验证测试。我唯一想到的是消息在计算签名哈希后以某种方式被修改。我的问题是:
是否可以调试发送过程?检查 DKIM 签名的计算内容和时间会很棒。我在配置文件中尝试过OmitHeaders To,to,TO但奇怪的是To: value 仍然出现在h= param 中。
我用谷歌搜索了很多,但仍然没有运气。提前致谢。
dkimvalidator.com 的输出:
DKIM Signature
Message contains this DKIM Signature:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inhillz.com; s=mail;
t=1429184641; bh=g3zLYH4xKxcPrHOD18z9YfpQcnk/GaJedfustWU5uGs=;
h=Date:From:To:Subject;
b=fccxI1j/+InWdupEY1/hAYCUeSAlTHo3tr/594sOqETs6kEzRlyXWZDLib1b1WqV0
xN/wr0Io+OGTJOTChp+cJ/H/KrODt1mzGgDA/O/AKWUPEGKODgk9iO03/o6DpLB4bM
t5GVSKdBQna7sYkQJM2mGtCNgswydgsgytb0J9QA=
Signature Information:
v= Version: 1
a= Algorithm: rsa-sha256
c= Method: relaxed/relaxed
d= Domain: inhillz.com
s= Selector: mail
q= Protocol: …Run Code Online (Sandbox Code Playgroud)