阿里云授权服务商:网路通科技 | 阿里企业邮箱注册-申请-升级-购买-续费-开通-报价等服务。买1年送1年,全国服务热线:400-889-0304
行业动态 更新日志 热门问题

奎屯三个邮件安全协议,邮件安全协议有什么用

2022-10-29 109032

1.2.1 SPF

SPF 是 Sender Policy Framework 的缩写,中文译为发送方策略框架。

主要作用是防止伪造邮件地址。

由于发送电子邮件的传统规范 - 1982年制定的《简单邮件传输协议(SMTP)》对发件人的邮件地址根本不进行认证,导致垃圾邮件制造者可以随意编造寄件人地址来发送垃圾信,而接收者则毫无办法,因为你无法判断收到的邮件到底是谁寄来的。

在SPF体系中,每个需要发送电子邮件的企业在其对外发布的DNS域名记录中,列出自己域名下需要发送邮件的所有IP地址段;而接收到邮件的服务器则根据邮件中发件人所属的域名,查找该企业发布的合法IP地址段,再对照发送邮件的机器是否属于这些地址段,就可以判别邮件是否伪造的。

查询是否开启 SPF

#windows:

nslookup -type=txt qq.com

#linux:

dig -t txt qq.com

spf可以配置四种规则:

"+" Pass(通过)

"-" Fail(拒绝)

"~" Soft Fail(软拒绝)

"?" Neutral(中立)

记录中有spf1说明使用了 spf ,这个时候所谓伪造邮件的时候是发送不到qq邮箱的。

再看看spf.mail.qq.com,它也是引用了其它域名的SPF策略,继续查询,可以看到有很多的ip段,我们在使用qq邮箱发邮件时,收件方会查询到这些IP,如果发件人的源IP不在这些IP列表里,则说明是一封伪造的邮件。

但是一般甲方是没有设置此协议的。如果甲方没有开启spf的话,我们就可以进行伪造

一般情况下没有SPF可以直接用swaks伪造,通过swaks修改发件邮箱进行发送即可。

-t  –to 目标地址 -t   test@test.com

-f –from 来源地址 (发件人)  -f "text<text@text.com>"

–protocol 设定协议(未测试)

--body "http://www.baidu.com"    //引号中的内容即为邮件正文;

--header "Subject:hello"   //邮件头信息,subject为邮件标题

-ehlo 伪造邮件ehlo头

--data ./Desktop/email.txt    //将正常源邮件的内容保存成TXT文件,再作为正常邮件发送;

1.2.2 DKIM

DKIM是一种在邮件中嵌入数字签名的技术,DKIM签名会对邮件中的部分内容进行HASH计算,最后在邮件头中增加一个DKIM-Signature头用于记录签名后的HASH值,接收方接收到邮件后,通过DNS查询得到公开密钥后进行验证, 验证不通过,则认为是垃圾邮件。

DKIM 的基本工作原理同样是基于传统的密钥认证方式,他会产生两组钥匙,公钥(public key)和私钥(private key),公钥将会存放在 DNS 中,而私钥会存放在寄信服务器中。私钥会自动产生,并依附在邮件头中,发送到寄信者的服务器里。公钥则放在DNS服务器上,供自动获得。收信的服务器,将会收到夹带在邮件头中的私钥和在DNS上自己获取公钥,然后进行比对,比较寄信者的域名是否合法,如果不合法,则判定为垃圾邮件。

那么我们如何获取到发件方的DKIM的密钥呢?在DKIM中有一个选择器(selector)的概念,通过此功能可以为不同的用户提供不同的签名,想要找到发件方的DKIM服务器,首先需要找到selector,在邮件的DKIM头中,s字段的值即为DKIM的selector,获取到selector后,我们就可以在如下域名中找到密钥。

selector._domainkey.xxxxxxxx.com

以阿里云的邮件为例,查看邮件源文件,通过s字段可以得到selector的值为s1024,因此阿里云的DKIM服务器域名为s1024._domainkey.aliyun.com,同样通过dig或者nslookup即可获取解密密钥。

1.2.3 DMARC

DMARC是2012年1月30号由Paypal,Google,微软,雅虎等开发的。DMARC是基于SPF和DKIM协议的可扩展电子邮件认证协议,通常情况下,它与SPF或DKIM结合使用,并告知收件方服务器当未通过SPF或 DKIM检测时该如何处理。

DMARC由Mail Sender方(域名拥有者Domain Owner)在DNS里声明自己采用该协议。当Mail Receiver方(其MTA需支持DMARC协议)收到该域发送过来的邮件时,则进行DMARC校验,若校验失败还需发送一封report到指定[URI](常是一个邮箱地址)。

以阿里云为例,获取_dmarc.aliyun.com的txt记录即可获取DMARC策略。

v=DMARC1:版本

p=:接收者根据域名所有者的要求制定的策略,取值和含义如下:

quarantine : 邮件接收者将DMARC验证失败的邮件标记为可疑的。

reject : 域名所有者希望邮件接收者将DMARC验证失败的邮件拒绝

pct:域名所有者邮件流中应用DMARC策略的消息百分比。

rua:用于接收消息反馈的邮箱。

————————————————

版权声明:本文为CSDN博主「tomyyyyy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/tomyyyyyy/article/details/121760139