详解电子邮件系统系列之四:SPF、DKIM、DMARC介绍

通过上一篇文章,我们的电子邮件服务器已经基本成型了,安全传输、转发策略控制都已经设置妥当,但如果此时我们进行测试,大概率发出去的邮件还是会被各大邮箱服务商拒收,或者当垃圾邮件处理。原因就在于我们还未设置电子邮件身份认证,本篇就来详解一下电子邮件的身份认证相关内容。

SPAM历史

系列一中我们介绍了,电子邮件是诞生于阿帕网中,而当时阿帕网的主要使用者是学校的师生和科研工作者。当时的互联网设计者还是秉承着一种“人人为我,我为人人”的理想主义精神(读书人嘛,总是认为人性本善),网络中的邮箱服务器都被设计为所谓的“开放中继”(open relay )。即这些服务器不会校验发件人身份,也不会校验收件人身份,你只要往我这里发,我就转发。在互联网的早期,当时网络环境不是很好,网速也非常慢(当时甚至TCP/IP协议都还没有成为标准,跨多个网域的数据传输非常困难)。open relay 在此时发挥了非常重要的作用,网络上产生了一批免费的中继服务器,用来帮助户用户转发邮件,且清单有专人维护、定期更新,这样发件人就可以根据自己的目标地址,选择相应的smtp服务器来发送自己的邮件。

随着互联网的高速发展,上网人员构成早已不是当初那么单纯,而毫不设防的开放中继服务器很快被那些别有用心的人盯上,成为了垃圾邮件滋生的温床。“SPAM”最初是一个罐装肉的牌子。对于这个牌子的名字来源有很多解释,官方版本说它是“Specially Processed Assorted Meat”,特殊加工过的混合肉。这种SPAM在二战后粮食短缺的欧美非常普及,已到了无处不在而令人厌恶的程度。1970年蒙提·派森中有个喜剧小品就叫Spam,剧中两位顾客试图点一份没有SPAM的早餐,但却无法如愿。在互联网流行后,Spam被用来称呼互联网上遍布的垃圾邮件,形容其无处不在又令人讨厌,而垃圾邮件的发送者被称为Spammer。

电子邮件评分

目前主流的电子邮件服务商都有部署了反垃圾邮件的技术,如果没有进行正确的设置,那么通过你自己搭建的电子邮件服务器发送的邮件,有大概率会被他们标记为垃圾邮件,从而拒收。这里推荐一个神奇的网站:https://www.mail-tester.com/。通过向其指定邮箱发送电子邮件,可以查看自身邮件的评分,从而确定自身需要在哪方面进行改进。

电子邮件评分

上图是一个自建的邮件系统的评分,一般超过8分基本就不会被拒收了。至于改进项里面也写得非常清楚,直接根据提示操作即可。下面简单介绍一下一般需要的常规设置,可以参考:https://support.google.com/a/topic/9061731

SPF

SPF(Sender Policy Framework) 是电子邮件系统中发送方策略框架的缩写,它的内容写在DNS的txt类型的记录里面,作用是防止别人伪造你的邮件地址进行发信,是一种非常简单高效的反垃圾邮件解决方案。原理是通过在txt记录里声明授权的ip地址列表,这样别人没法使用你的身份来进行发件(ip地址无法伪造),一般记录内容如下所示:

HOSTNAME TYPE ADDRESS / VALUE TTL
TXT v=spf1 a mx ip4:123.123.123.123 ip4:123.123.123.124 3600

上面这条意思是,授权dns记录中的A地址记录ip以及mx地址记录ip,此外再加上123.123.123.123、123.123.123.124这两个地址。spf记录有专门的语法,详细请参考:http://www.open-spf.org/SPF_Record_Syntax/

DKIM

//todo

DMARC

DMARC是 "基于域的消息认证、报告和一致性 "的缩写。DMARC是一个电子邮件认证协议,允许电子邮件域名所有者指定他们使用哪些机制来认证他们的电子邮件,以及接收来自他们域名的邮件服务器应如何处理认证失败。下面是一个配置的示例:

HOSTNAME TYPE ADDRESS / VALUE TTL
_dmarc TXT v=DMARC1; p=none; rua=mailto:dmarc@abc.mail; ruf=mailto:dmarc@abc.mail 3600

p:用于告知收件方,当检测到某邮件存在伪造发件人的情况,收件方要做出什么处理,reject为拒绝该邮件;none为不作任何处理;quarantine为将邮件标记为垃圾邮件。
ruf:用于当检测到伪造邮件,收件方须将检测结果发送到哪个邮箱地址。
建议:p值最优设置方式是第一次设置选择none,观察发信情况一个月,再改为quarantine,再观察一个月,最后再设为reject。

rDNS

反向DNS解析(rDNS)是查询域名系统(DNS)来确定IP地址关联的域名的技术,也就是根据ip反查域名。反向DNS查询的过程使用PTR记录。互联网的反向DNS数据库植根于 .arpa 顶级域名。因为一般垃圾邮件发送者都使用反向的动态域名,所以这项技术也被用于判断邮件发送方是否是垃圾邮件发送者,有些服务商也会根据你有没有反向域名解析来判断是否要拒收你的邮件。

这里要注意的是,rDNS不是在你的域名服务商那里设置,而是在你的vps服务商那里设置,一般主流的vps供应商目前都提供反向域名解析服务,去vps的管理页面设置即可。

收件方身份认证

上面介绍的是我们作为发件方,需要进行的相关身份验证设置,目的是为了让接收方相信我们MTA的身份。那么作为邮件接收方,自然也需要进行对方的身份认证,以防止收到不明来历的垃圾邮件,使用的策略也是spf、dkim、dmarc这些。下面我们来看下作为接收方如何做这些设置。
//todo

总结

通过这四篇系列文章,我们从原理开始了解,一步步搭建出了一个具有SMTP、IMAP传输安全的带合适的转发策略控制的可以和各大主流邮箱收发邮件的支持outlook、foxmail等主流邮件客户端连接的自有邮件系统。想想带自己域名后缀的邮箱地址,是不是很酷呢😄?

当然,这里仅仅为了演示电子邮件系统的工作原理,搭建的一个简易的邮箱系统。真正大型的邮箱系统,用户不可能使用操作系统的用户,一般都会建一个数据库,而邮件数据也不一定会使用mailbox,可能会使用自研的邮件文件格式。同时还需要考虑高可用、存储、备份、可扩展等各方面的问题,但万变不离其宗,不管内部如何修改,对外暴露的一定是标准的smtp和imap/pop3协议接口,从而保障全球邮件系统的互联互通。

参考资料

1、SPF 记录:原理、语法及配置方法简介
https://www.renfei.org/blog/introduction-to-spf.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容