![使用单个域名密钥对多个域名进行签名(dk-filter)](https://linux22.com/image/516453/%E4%BD%BF%E7%94%A8%E5%8D%95%E4%B8%AA%E5%9F%9F%E5%90%8D%E5%AF%86%E9%92%A5%E5%AF%B9%E5%A4%9A%E4%B8%AA%E5%9F%9F%E5%90%8D%E8%BF%9B%E8%A1%8C%E7%AD%BE%E5%90%8D%EF%BC%88dk-filter%EF%BC%89.png)
动机
私人购物网站 GILT 从 giltgroupe.bounce.ed10.net 发送定期更新电子邮件,但所有邮件都使用 giltgroupe.com 的域密钥签名。
邮寄者:giltgroupe.bounce.ed10.net
由 giltgroupe.com 签名
我的故事
我无法在带有 postfix 的 Debian Lenny 下使用 dk-filter 使用 y.com 的域密钥对 x.com 进行签名。
如果我尝试使用以下参数初始化 dk-filter 服务:
DAEMON_OPTS="$DAEMON_OPTS -d x.com,y.com -c nofws -k -i /var/dk-filter/internal_hosts -s /etc/dk-keys.conf"
dk-filter 服务与域 x.com 签名 (d=x.com)
如果我将守护进程 arg.s 更改如下:
DAEMON_OPTS="$DAEMON_OPTS -d x.com -c nofws -k -i /var/dk-filter/internal_hosts -s /etc/dk-keys.conf"
那么从 y.com 发送的电子邮件未经签名。
dk-keys.conf文件如下:
*:/var/dk-filter/y.com/mail
我设法用 DKIM 做了同样的事情,效果很好。但是 DK 似乎不起作用。我用 y.com 的密钥对 y.com 的电子邮件进行签名没有任何问题,用 x.com 的密钥对 x.com 的电子邮件进行签名没有任何问题,这表明没有配置问题。
你有什么经验/建议可以实现通过特定选定的域名对来自多个域名的电子邮件进行签名?
答案1
我发现使用 dkim 可以很好地完成此操作,因为您可以指定要“签名”的域。例如,电子邮件来自 y.com,但在 DKIM 签名中:d=x.com。但是,使用 dk-filter,每个签名域仍是发件人:地址中的主机域。即发件人:[电子邮件保护]==DomainKeys-Signature:d=y.com,即使您使用的是来自 x.com 的密钥。
因此,即使您可以使用 x.com 的密钥签署 y.com 的电子邮件,签名域始终是 y.com,因此您仍然需要为每个域创建单独的 s._domainkey 条目。
答案2
虽然已经有一段时间了,但还是遇到了这个问题,找到了这篇文章,并在这里找到了一些其他文档:
http://www.elandsys.com/resources/sendmail/dkim.html
-d 域 [,...] 以逗号分隔的域列表,这些域的邮件应由此过滤器签名。来自其他域的邮件将被验证,而不是签名。[...] 无论哪种情况,域名都可能包含特殊字符“*”,该字符被视为与域名中的零个或多个字符匹配的通配符。
所以我用了类似的东西
-d *.ro,*.eu
用于签署所有 .ro 和 .eu 域名。效果很好,签名与发送域匹配。当然,您仍然必须在每个域的 DNS 区域中插入公钥,但如果您对所有域使用相同的密钥,那么这很容易。
使用 Ubuntu 10.04、postfix 2.7.0、dk-filter 1.0.0
答案3
您需要创建一个 txt 文件(例如 /etc/dk-domains.conf),每行一个域,并将其添加到 d-filter 配置文件(debian 和衍生产品中的 /etc/default/dk-filter)。
不要忘记将此文件的所有者更改为“df-filter”
我的 /etc/default/dk-filter 文件如下所示:
DAEMON_OPTS="-l -i /etc/mail/dkim/trusted_hosts -k -s /etc/dk-keys.conf -d /etc/dk-domains.conf"
SOCKET="inet:12345@localhost
祝你好运。
Jefferson Pugliese Enter On Line 网络经理