V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
edis0n0
V2EX  ›  信息安全

DKIM 是怎么工作的,为什么设置 prefix 收件服务器还能找到 DKIM 记录?

  •  
  •   edis0n0 · 2023-01-23 12:17:09 +08:00 · 1780 次点击
    这是一个创建于 704 天前的主题,其中的信息可能已经有所发展或是发生改变。

    例如 google workspace 的默认 prefix 是 google (可以自定义),即添加的 TXT 记录主机名是 google._domainkey.yourdomain.com 添加了 prefix 后收件服务器为什么还能发现这条记录? DNS 肯定是不支持列出全部记录列表的。按预设的列表遍历吗?那各种小一点的厂商用的例如 tuta._domainkey.yourdomain.com titan._domainkey.yourdomain.com zoho._domainkey.yourdomain.com(很久没用小厂了,大概长这样,当时就比较好奇)是不是加了和没加一样?

    不知道的不要回答,最近 V 站不懂装懂的好多

    5 条回复    2023-01-23 13:45:27 +08:00
    dndx
        1
    dndx  
       2023-01-23 12:30:53 +08:00   ❤️ 2
    发出去的邮件头部包含了 selector 信息呀,看一下原始邮件就看到了:

    ```
    DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkedin.com; s=d2048-201806-01; t=1674433540;
    ```

    这里的 `s` 即为 selector ,收件服务器按照这个去找对应的记录。
    xiri
        2
    xiri  
       2023-01-23 12:32:57 +08:00 via Android
    先收到邮件,再去查 dns 检查,然后邮件头里的 dkim 签名指定了 selector
    lanternxx
        3
    lanternxx  
       2023-01-23 12:56:12 +08:00
    看了一下,和一楼说的一样。
    fastmail 要求添加了 fm1|fm2|fm3._domainkey.example.com 的 TXT DKIM 记录,收到的邮件头的 DKIM-Signature 字段里存在 s=fm1 的信息。
    HaydenDeep
        4
    HaydenDeep  
       2023-01-23 12:57:06 +08:00 via iPhone
    opendkim+spf+opendmarc 已经使用 5 年左右,大致介绍经验如下:
    1.一般开源版本支持生成 domainkey 密钥(软件名称 opendkim )可以在本地检测是否添加签名密钥、添加是否成功的校验等,有日志按照邮件 ID 进行逐一记录;默认发出邮件需要经过 owpndkim 的处理才能签名(默认 opendkim 端口,8891 )配置文件提示签名的域名和密钥配置;
    2.生成 dkim 的时候指定子域名,同时给予提示文本,添加公网 dns 记录的内容( select._domainkey.yourdomain.com ,使用目标则器发送的邮件,收件方仅验证这个选择器);
    3.协同软件 opendmarc (返回报告,未经过验证的同域名邮件定时报告)默认工作端口 8893 ;
    4.dmarc 查询标准:opendkim 符合公钥签名,spf 记录满足,否则发出邮件报告;
    5.由于邮件报告由众多接收方服务器发出(需要配置报告发送,未配置则不发送)默认免费公共邮箱都支持发送,比如谷歌、微软、雅虎、网易等,腾讯未收到
    6.验证链路:邮件发出经过 opendkim ,检测域名符合签名,收件方接收邮件,验证 dkim ,和 dns 查询签名字段 select+默认域名字段 txt 记录,进行对比,符合条件验证通过,未验证通过的通过 opendmarc 配置进行处理(接收报告,或者拒绝)
    ryd994
        5
    ryd994  
       2023-01-23 13:45:27 +08:00 via Android   ❤️ 14
    Wikipedia 写的不能再清楚:
    https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail
    dkim header 里包含了域名和 selector 等各种信息。即使转发,收件服务器也可以通过这些信息识别邮件是否来自其自称的“原发件人”


    请不要再说最后那句话。人家帮你解决问题,就算有说错的也可以探讨,再怎么说也比你一个不看 wiki 的伸手党要好得多。
    请教于人就是有求于人,提问要虚心求教,而不是让别人回答前掂量一下自己。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   970 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:37 · PVG 06:37 · LAX 14:37 · JFK 17:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.