还记得小编前段时间在推文中介绍的邮件安全三大协议吗?今天就和大家来聊聊为什么有了 SPF,还要设置 DMARC?这要从邮件发件人地址说起,每一封邮件都有两个发件人地址栏位,一个是 header-from,即显示发件人,用户客户端直观看到的发件人地址,另一个是 envelope-from,即实际发件人,服务器之间传输的发件人地址,标识在邮件标头中。
在漫天飞舞的外部邮件中,往往实际发件人和显示发件人常常会有不一致的情况,如系统发送的邮件,订阅类、广告类邮件,从某种角度上来说,可能邮件并未存在真实的发件人,因为这两个地址都可以伪造。
为什么有了 SPF,还要设置 DMARC?
发件方不是内部用户,收件方无法验证发件方是否通过账户密码验证,只能做匿名接收,所以邮件发件人地址都可能是不可靠的。根据最新报告显示,虚假电子邮件的日发送量已经高达 64 亿封。这一总数还仅仅包含了精确域(exact-domain)发件人欺诈,在这种形式中,发件人会在 “From”(邮件来源)一栏中放入虚假的电子邮件地址。这是最难检测且极具破坏性的虚假电子邮件类型之一。
SPF 的判断仅针对实际发件人生效,也就是显示发件人依然可以被伪造利用。而 DMARC 恰恰弥补了 SPF 的不足,针对显示发件人也可以分析。DMARC的目标是建立在发件方和收件方协作的系统之上,以改进发送方的邮件身份验证实践,并使接收方能够拒绝未经身份验证的消息。由于记录是发件方设置,收件方检查,所以设置 DMARC,加固自身,对于提高发件方自身信誉,防止被伪造有一定帮助。而有邮件往来的公司都进行 DMARC 设置,则对双方安全加固均有帮助。
· DMARC是怎么运作的?
DMARC 从发送方策略框架 (SPF) 开始。该框架详细列出了哪些服务器有权从特定域名发出电子邮件消息。SPF 记录存储在某公司或机构的 DNS 服务器上,邮件到达公司电子邮件网关时,其原始服务器信息会比照 SPF 记录进行核对。如果是经过授权的服务器,该条消息就能继续发送,如果不是,做丢弃处理。
然后就是域名认证密钥识别邮件 (DKIM) 登场的时候了。DKIM 会使用存储在公司 DNS 服务器上的数字签名来验证电子邮件消息关联的域名。电子邮件消息随附的签名与存储的密钥作比对,如果不匹配,说明该电子邮件消息来自未授权服务器,做丢弃处理。