使用单个域密钥(dk-filter)签署多个域

动机

私人购物网站GILT,从giltgroupe.bounce.ed10.net发送定期更新电子邮件,但所有的邮件都与giltgroupe.com的域名密钥签名。

邮寄giltgroupe.bounce.ed10.net

签署giltgroupe.com

我的故事

在Debian Lenny下用postfix,我无法用y.com的域密钥使用dk-filter来签名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的密钥和x.com的电子邮件x.com的密钥签署y.com的电子邮件没有任何问题,这表明没有configuration问题。

您是否有任何经验/build议可以通过特定选定的域名签署来自多个域名的电子邮件

我发现,与dkim这工作正常,因为你可以指定一个域来“签署”。 即。 电子邮件来自y.com,但在DKIM签名:d = x.com。 但是,使用dk-filter,每个签名域仍然是from:地址中的主机域。 即。 来自:[email protected] == DomainKeys-Signature:d = y.com,即使您使用的是来自x.com的KEY。

因此,即使您可以从x.com的密钥签署y.com的电子邮件,签名域将始终是y.com,因此您仍然需要为每个域创build单独的s._domainkey条目。

虽然已经有一段时间了,遇到这个问题,发现这个post,在这里find了一些其他的文档:

http://www.elandsys.com/resources/sendmail/dkim.html

-d域[,…]邮件应由此filter签名的域的逗号分隔列表。 来自其他域的邮件将被validation,而不是被签名。 在任何一种情况下,域名都可能包含特殊字符“*”,该字符被视为与域名中零个或多个字符匹配的通配符。

所以,我用了类似的东西

 -d *.ro,*.eu 

用于签署所有的.ro和.eu域名。 精美的作品,签名匹配发送域名。 当然,您仍然需要在每个域的DNS区域中插入公钥,但是如果您对所有域使用相同的密钥,那么这很容易。

使用Ubuntu 10.04,后缀2.7.0,dk-filter 1.0.0

您需要创build一个每行一个域的txt文件(例如/etc/dk-domains.conf),并将其添加到d-filterconfiguration文件(debian&derivates中的/ 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在线inputnetworking经理