一封小小邮件背后的防范策略

本文介绍了DKIM和SPF两种防止电子邮件欺诈的技术,DKIM通过公钥、私钥验证邮件来源的完整性,SPF则通过DNS记录确认邮件发送服务器的合法性。了解这些机制能帮助防止钓鱼邮件,确保邮件通讯的安全。
摘要由CSDN通过智能技术生成

019d3f8eb0bff71fd722e44f5f34a1cb.png

邮件这种通讯方式在国内不是很常用,一般情况下我们都在找工作时用来收 offer。但邮件在国外却是一种很重要的通讯方式,许多外国人习惯于使用邮件进行工作沟通。对于做跨境电商的公司来说,邮件营销更是一个非常重要的营销方式。

相信做过邮件发送相关功能的朋友都知道,我们可以使用 Java 程序发送邮件,并且可以任意填写收件人的名称,例如我可以把发件人写成 service@qq.com 以此来假冒企鹅公司的客服,从而发送一些诈骗信息。

但实际上通过这种方式发出去的邮箱,很可能到不了用户的邮箱中,为什么呢?因为现今的邮件服务商都采用了 DKIM 和 SPF 验证来保护自己的邮件域名,避免别人假冒自己的域名发送钓鱼邮件。

什么是 DKIM ?

DKIM 全称是 DomainKeys Identified Mail,即域名密钥识别邮件标准,其存在的意义是用于防止电子邮件欺诈,即防止别人冒用你的域名给别人发邮件。一般来说,发送方会在电子邮件中插入签名,而接收方则通过域名 DNS 解析拿到公钥进行对签名进行验证。

提示:这里会涉及到关于公钥、私钥的知识,如果你不太清楚,可以先百度了解一下再阅读。

简单地说,我们通过生成两把钥匙,一把叫私钥,一把叫私钥。私钥是存在发件服务器的,在发送邮件的时候对发送内容进行签名,之后将签名信息存入邮件里,随着邮件发送携带给收件箱服务器。公钥则是通过 DNS 解析,存放在域名的 DNS TXT 记录中,任何人可以获取到这把公钥。

当收件人服务器收到这封邮件时,其会通过发件人的域名获取到公钥。之后用公钥对邮件的签名进行验证,如果验证正确,那么表明这封邮件确实是由该域名所有者发出的,而不是其他人伪造的。

这里暗含一个知识点:能被公钥验证正确的数据,必然是用对应私钥加密的数据。先记住就好,想弄清楚原理,可以百度一下。

只有通过公钥验证的邮件,才会被正确投递到用户的收件箱中,否则会被附件服务器拒收。整个过程如下图所示。

bb365dc2263d3fac8ea2844471e5da9d.png

那么如何设置 DKIM 呢?

一般情况下,我们都是通过邮件服务商发送邮件的。这时候直接到邮件服务商的管理后台,获取相关配置信息,然后为对应的发件域名配置一个 DNS 记录即可。

什么是 SPF ?

SPF,全称为 Sender Policy Framework,即发件人策略框架。其实用来验证哪些服务器或者 IP 可以发送哪些域名的邮件的。例如:我的网站为 shuyi.tech,那么我当然不允许其他人冒充 me@shuyi.tech 的邮箱给别人发邮件。

而 SPF 记录就是在 DNS 上配置一条记录,这条记录显示了哪些域名或者 IP 可以使用这个邮件域名。我们只要把自己发邮件的服务器的域名或者 IP 记录上去,那么其他人就冒充不了我们了。SPF 记录的出现,就是为了防止随意伪造发件人。

SPF 记录实际上是服务器的一个 DNS 记录,原理其实很简单:假设邮件服务器收到了一封邮件,来自主机的 IP 是 143.174.12.123,并且声称发件人为 email@example.com。为了确认发件人不是伪造的,邮件服务器会去查询 example.com 的 SPF 记录。如果该域的 SPF 记录设置允许 IP 为 173.194.72.103 的主机发送邮件,则服务器就认为这封邮件是合法的。如果不允许,则通常会退信,或将其标记为垃圾或仿冒邮件。

因为不怀好心的人虽然可以「声称」他的邮件来自 example.com,但是他却无权操作 example.com 的 DNS 记录;同时他也无法伪造自己的 IP 地址。因此 SPF 是很有效的,当前基本上所有的邮件服务提供商(例如 Gmail、QQ 邮箱等)都会验证它。

与 DKIM 类似,一般情况下,我们都可以通过邮件服务商配置对应的 SPF 记录值。之后在我们的域名服务商上,为对应的域名配置好对应的 SPF 记录值即可。

DKIM 与 SPF 的异同?

DKIM 与 SPF 都是用来防止伪造发件人的,但它们的侧重点不同。

DKIM 侧重于对邮件的完整性进行校验,如果有别人修改了邮件内容,那么通过 DKIM 就可以识别出来,从而避免被伪造。而 SPF 则是通过校验哪些 IP 或域名有权限发送邮件,其维护了一个权限列表,但是不具有校验邮件完整性的能力。

从实现原理来看,DKIM 使用了公钥、私钥的加密方式,相对更加复杂。而 SPF 则是简单的进行信息的比对,相对来说更加简单一些。

参考资料

  • DKIM_百度百科

  • SPF 记录:原理、语法及配置方法简介 - Blog - Renfei Song


好了,这就是今天分享的全部内容了。

如果你喜欢今天这篇文章,欢迎一键三连,你们的支持就是我最大的动力!


推荐阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值