你的位置:首页 > 学习笔记

Winmail 和 DKIM

2年前 (2017-05-31) 浏览:(442) 学习笔记 评论(0)

什么是 DKIM

     DKIM 全称 域名密钥识别邮件标准, 是 DomainKeys Identified Mail 的缩写,目的是防止电子邮件欺诈, 发送方会在电子邮件的标头插入 DKIM-Signature 及电子签名资讯,而接收方则透过 DNS 查询得到公钥后进行验证, 这是一种反垃圾邮件的功能,另外系统设置了 DKIM 外发数字签名,可以让接收服务器更信任外发的邮件,可以提高外发邮件的到达率。 目前腾讯、gmail 等都支持 DKIM。 


DKIM 的工作原理 

     DKIM 的基本工作原理基于传统的密钥认证方式,先生成两组密钥,公钥(public key)和私钥(private key),公钥将会存放在 DNS 中, 而私钥会存放在发信服务器中。数字签名会自动产生,并依附在邮件头中,发送到收件人的邮件服务器里。公钥则放在DNS服务器上,供自动获得。收件人的服务器, 将会收到夹带在邮件头中的签名和在DNS上获取对应域名的公钥,然后进行比对,比较发件人的域名是否合法,如果不合法,则判定为垃圾邮件。 由于数字签名是无法仿造的,因此这项技术对于伪造域名的垃圾邮件制造者将是致命的打击。


Winmail 里 DKIM 的设置方法( Winmail 6.0 以上版本,以 abc.com 为例 )

1. 收件 DKIM 验证,在"反垃圾设置"/"SMTP设置"下, 选择"启用 DKIM (DomainKeys Identified Mail) 检查"。

 

2. Winmail 里设置域名发件使用 DKIM 数字签名
在要设置的域名 abc.com 属性的 DKIM 标签里点击"生成私钥"
 
"选择器"一定要有,默认是: mail,可以自己设置,完整拷贝上面的 "TXT 记录",例如:

      mail._domainkey.abc.com TXT k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQ... 

另外也可以自己使用 openssl 工具生成一对公钥和密钥,Windows 和 Linux 都可以操作,请自行搜索方法; 或者在 http://dkimcore.org/tools/ 网站在线生成。 把生成的私钥输入上面的栏位中,Winmail 会从私钥自动生成公钥进而生成 TXT 记录值,所以只输入私钥就可以了。 

3. 在域名服务商域名解析系统里增加一条 TXT 记录,例如:

    记录类型     主机记录                        记录值
      TXT      mail._domainkey     k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQ... 

增加 TXT 记录后,需要一段时间(10分钟-24小时)才能生效,可以使用命令行查询: 

        nslookup -q=txt mail._domainkey.abc.com

        如果已经生效,会显示:

                mail._domainkey.abc.com text = "k=rsa\; p=MIGfMA0GCSqGSIb3..." 

4. 如果 Winmail 里有多域名,DKIM 要生成不同的密钥分别设置,也可以有的设置有的不设置

5. 接收邮件测试,确认 DKIM 检查生效

    可以使用 qq 或者 gmail 邮箱发进来一封邮件,查看 Winmail 里的 smtp 日志,会有出现 DKIM verifying enabled 或 启用 DKIM 验证 字样。 

6. 发送邮件测试,确认每封邮件信头里存在 DKIM 数字签名字串

    发一封邮件到内部邮箱,发给自己也可以,查看 Winmail 里的 smtp 日志,会有出现 DKIM signing enabled启用 DKIM 签名 字样。 在 Webmail 里查看这封邮件,选择"更多"-"邮件源码",在邮件头里会出现一段如下文字:

  DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
     d=abc.com; s=mail; t=1458090487; h=Date:From:To:
     Reply-To:Subject:Message-ID:Content-Type:MIME-Version; bh=RBrzM2
     ccFCYSkSJUKwSj5FQ/IQj6UrOI1/+rZiw0+aI=; b=Esn3j84HzzVC+VbRgf/i7N
     ...
     SWtPgVyJx91CJKFGbVaFI=


    外发一封邮件到外网邮箱,查看 Winmail 里的 smtp 日志,会有出现 DKIM signing enabled启用 DKIM 签名 字样。 如果是发到 qq.com, 在 QQ Webmail 打开这封邮件,选择  - "显示邮件原文",在邮件头里会出现一段如下文字:

 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
     d=abc.com; s=mail; t=1458091059; h=Date:From:To:
     Reply-To:Subject:Message-ID:Content-Type:MIME-Version; bh=JtLpkA
     GBbI9j6KEs01UI/CKmX5rvvrJ6O9QcCgb5i1I=; b=J5xXBMdm8Q5Y66orv+Skoq
     ...
     cT/oVvXPMvEbi+mJwoqbM=

尊重共享,欢迎转载,请自觉添加本文链接,谢谢!本文链接:https://www.601849.com/post/220.html