这篇文章上次修改于 789 天前,可能其部分内容已经发生变化,如有疑问可询问作者。 通常我们为了防止自己域名邮箱被伪造,会通过配置SPF记录来限制域名邮箱可以外发的IP网段。 SPF相关配置说明可以参考:https://support.google.com/a/answer/33786?hl=zh-Hans ``` renothing@desktop:~[master]$ dig txt 37hi.com ; <<>> DiG 9.10.3-P4-Ubuntu <<>> txt 37hi.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21325 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;37hi.com. IN TXT ;; ANSWER SECTION: 37hi.com. 600 IN TXT "v=spf1 include:spf.mail.qq.com ~all" ``` SPF记录相对来说只是限制了外发邮件的IP段,但是当你的邮箱被人伪造后自己实际并不知道(虽然绝大部分邮件服务器都会把SPF检查不通过的邮件放入垃圾箱)。DMARC记录相对来说是SPF记录的一种加强,相关的说明见 https://dmarc.org/overview/ https://support.google.com/a/answer/2466563?hl=en ``` v:版本(纯文本;必要的)值为“DMARC1”,必须作为第一个标签。 p:要求的邮件接收者策略(纯文本;必要的)表明接收者根据域名所有者的要求制定的策略。 none:域名所有者要求不采取特定措施 quarantine:域名所有者希望邮件接收者将DMARC验证失败的邮件标记为可疑的。 reject:域名所有者希望邮件接收者将DMARC验证失败的邮件拒绝。 rua:发送综合反馈的邮件地址(逗号分隔的DMARC URI纯文本列表;可选的) ruf:发送消息详细故障信息的邮件地址(逗号分隔的DMARC URI纯文本列表;可选的) sp:要求邮件接收者对所有子域使用的策略(纯文本;可选的),若缺省,则“p”指定的策略将应用到该域名和子域中。 adkim:(纯文本;可选的;默认为“r”)表明域名所有者要求使用严格的或者宽松的DKIM身份校验模式,有效值如下: r: relaxed mode s: strict mode aspf:(纯文本;可选的;默认为“r”)表明域名所有者要求使用严格的或者宽松的SPF身份校验模式,有效值如下: r: relaxed mode s: strict mode fo:故障报告选项(纯文本;可选的;默认为0),以冒号分隔的列表,如果没有指定“ruf”,那么该标签的内容将被忽略。 0:如果所有身份验证机制都不能产生“pass”结果,那么生成一份DMARC故障报告; 1:如果任一身份验证机制产生“pass”以外的结果,那么生成一份DMARC故障报告; d:如果消息的签名验证失败,那么生成一份DKIM故障报告; s:如果消息的SPF验证失败,那么生成一份SPF故障报告。 那么我这个dmarc的作用就是,告诉收件服务器将dmarc检查失败的邮件标记为可疑,并将综合反馈邮件和详细的信息都发送到我的个人邮箱。 ``` 当配置了dmarc记录后,各邮件服务器会加强对邮件源的检查 ![dmarc_log.png](/usr/uploads/2018/11/3241075215.png)
没有评论