我有一台运行多年的个人电子邮件服务器;发送邮件很少出现问题,所以我从来没有真正了解过像 SPF、DMARC 和 DKIM 这样的东西。最近,在升级系统时,我决定这样做。
SPF 非常简单,因为我使用一个固定的 IP 地址。
DMARC 几乎一样简单;我最初使用“无”的策略来接收报告并将其放置一两个星期,然后将其切换为拒绝。
我现在已经为邮件服务器实现了一个 DKIM 签名过滤器(Courier MTA,没有为此做好准备)。对于我使用的复杂位dkimpy。这也有一个简单的验证工具,它适用于整个消息,它是否有自己的查找等,这意味着它是虚拟证明,因为只有一种使用它的方法(而签名可以通过各种方式配置并且可能离开留给我把它搞砸的空间)。这传递了我认为应该传递的消息,而传递了我认为不应该传递的消息,所以我对它的工作原理感到相当满意;我已经在从服务器收到的消息上运行它。目前,为了尽量减少问题,我只签署了正文和 From 标头。
但是,我的邮件都没有通过我的测试帐户——一个是 gmail,另一个来自我的 ISP。更重要的是,虽然我现在在 DMARC 记录中同时拥有 rua 和 ruf 地址,但我没有收到任何关于它们的报告。以前,他们都像发条一样。
如果我所做的只是关闭过滤器(所以没有 DKIM sig),一切都会再次运行。我已经检查过服务器实际上在所有情况下都在尝试;失败的 DKIM 似乎会超时并关闭连接,从而导致无休止的延迟——这似乎有点奇怪,因为这意味着“被拒绝”的邮件甚至没有被检查,但删除签名就可以了让它再次被接受。我将把它归结为 Courier 日志记录中的模棱两可。
我知道这里没有人受任何法律的约束,但这是正常的政策吗?假设 DKIM 签名错误,接收服务器不应该向我发送 DMARC 报告吗?
所以我现在在一条小溪上。尽管像 MXToolbox 这样的东西给了我很好的色彩,但我还没有找到一个免费的服务来通过接收邮件来主动测试 DKIM 签名,除了一个似乎已经完成了其他服务器所做的事情——从不接受它应该测试的邮件(不知道这是否是一个潜在的线索)。
以下是来自的相关 DNS 记录dig
:
防晒指数:
cognitivedissonance.ca. 3600 IN TXT "v=spf1 ip4:138.197.150.177 -all"
大金:
aporia._domainkey.cognitivedissonance.ca. 3600 IN TXT "v=DKIM1; k=rsa; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAosptGk+J2mdjjc7RWmcnQ3yBqx1JT/lA0bw4GJCzZ+esa0f8rjHhPiW6NnUr64Kf5h0fPEthQhYGTjjw3jAd/3EE28hGA30+jODxEK7A0+5aeI82fWa/ZZk9FvyIhf+UkkX1B0klYhCRW5r91smJ+rwYrr2B6jOrw0DReHTAZ51NACSWI7ov2mA" "UIh2l8blA8hFFBOBwxlzC+smRsYlZCKZfsSMkyS/XIm2m58QNfw/aCHp5VufSrf/hh7f6AGKTgxHfgs+8RBbYdHEM2LAMT+WYsITC3R0OYfgplzWna6PRB9lx+FFzTtT/8XClYfUJ6rwWwM4koeX0yt9gDr/03QIDAQAB"
请注意,邮件服务器的 FQDN 是
aporia.cognitivedissonance.ca
,所以我aporia
出于缺乏想象力将其用作 DKIM 选择器。电子邮件域只是cognitivedissonance.ca
. 我应该改用 FQDN(即。aporia._domainkey.aporia.cognitivedissonance.ca
)吗?DMARC:
_dmarc.cognitivedissonance.ca. 3600 IN TXT "v=DMARC1;p=reject;pct=100;rua=mailto:[email protected],mailto:[email protected];ruf=mailto:[email protected],mailto:[email protected]; "
我注册的 dmarc 验证服务有一些额外的 mailto。不幸的是,他们不直接测试 DKIM 签名。
最后,一个签名的例子:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=cognitivedissonance.ca; [email protected]; q=dns/txt;
s=aporia; t=1650468130; h=from;
bh=3N81YR+AxHZqpkdMAh4Jti6JpRmUrlzO5bUjUoWdGeg=;
b=kNzUid2LG8TfHoegur3JzlcktiJT+5A1E2en+IlV/GgDMZWL0Ft/4kE02LGFzb2kTMkav
c9jLUqd2+NCrLDzVRBxgwif++vDwoljCI1X0wvbcCqhfA3uElcCuhCAtBkl/ZNqLR0H1Gjq
XXA801KqyVrvottuv0+PmEOvqQ8skTpBvl4Da8JjQ73Zscm3/5Mfk0dGTLlggNgapszsP9z
nt/1Oi6gzLasX933wIdLZWVex8QNfKr8+MTx6bmpVodaeklR+281u8k1zhCBu5pWrzlavUh
CbWjUm4j3YbeztpG98r9MZOVKbJZyHaiHWcRa1vEq3Cz8AEnRyRkQhd5WtvA==