0x00 邮件安全防御的四道防线
1、防垃圾邮件、防钓鱼邮件等基础防护
2、邮件协议及加固
3、安全建模主动监测发现
4、朝阳群众上报
0x01 防钓鱼邮件协议
1.1 SPF
SPF(Sender Policy Framework, RFC 7208)
用途:IP
地址验证,验证发送者IP
。
方法:通过DNS TXT
获取有效发送IP清单,邮件的发送IP
与有效IP
清单进行匹配。
作用:保护邮件安全,防止被仿冒、欺骗以及网络钓鱼。
[root@hostname ~]# nslookup -q=TXT example.com
;; Truncated, retrying in TCP mode.
Server: 100.100.2.136
Address: 100.100.2.136#53
Non-authoritative answer:
example.com text = "v=spf1 ip4:1.2.3.0/24 -all"
example.com text = "apple-domain-verification=XYafIBcvSuDV2PLX"
example.com text = "google-site-verification=wX8N7i1JTNTkezJ49swvWW48f8_9xveREV4oB-0Hf5o"
1.2 DKIM
DKIM(Domain Keys Identified Mail, RFC 6376)
用途:数据签名验证。
方法:通过DNS TXT
获取公钥,跟邮件头中插入的私钥进行匹配。
作用:防止邮件被篡改,防止网络垃圾邮件攻击。
邮件头中的DKIM
私钥等信息
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s= selector1; d=example.com;
h=From:Date:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:To:Message-ID; [email protected]; bh=bPSvy46eesUDGJ45hyBTH30JfN4=; b=eXHFQ+7rCiSQs3DPjR2eUSZSv4i/Kp+sipURfVH7BGf+SxcwOkX7X8R1RVObMQsFcbIxnrq7Ba2QCf0YZlL9i qJf32V+baDI8IykuDztuoNUF2Kk0pawZkbSPNHYRtLxV2CTOtc+x4eIeSeYptaiu7g7GupekLZ2DE1ODHhuV68=
DNS TXT
记录中的DKIM
公钥等信息
selector1._domainkey.postmarkapp.com. 3599 IN TXT "k=rsa; p=TYNfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCSGLvJw6sZ5YEeFe5tl6D7h6IiE1J5kmMH6TEpG99BI HDuXg3vz/qRblKa0WcbI4SLDwsMkq17VheGt7ZZANqrCjcieHkKC8u52h5mezNFHRcKiOpr06o8PfkbqQsCX58 ZpALcH0S1aQb6zkpebYsA111l1pGv5qlKvsbJ9t+9jwIDAOWR"
1.3 DMARC
DMARC(Domain Message Authentication, Reporting and Conformance, RFC 7489)
用途:From
地址验证。
方法:通过DNS TXT
获取DMARC
记录,通常与SPF
或DKIM
结合使用,告知收件方服务器当未通过SPF
或 DKIM
检测时该如何处理。并验证From
地址域名与Mail From/Helo
域名的一致性。
作用:提高邮件安全性,防止欺诈以及网络钓鱼邮件,提升海外邮件的可达性。
DNS TXT
记录中的DMARC
等信息
_dmarc.example.com TXT v=DMARC1; p=reject; pct=100; rua=mailto:[email protected];
a) p = none:对DMARC验证失败的电子邮件不采取任何具体措施。
b) p =quarantine:要求接收方将邮件放入垃圾邮件文件夹并将其标记为可疑。
c) p =reject:要求接收方拒绝无法通过DMARC检测的所有邮件。
0x02 识别邮件服务器的弱点
An email spoofing testing tool that aims to bypass SPF/DKIM/DMARC and forge DKIM signatures。
https://github.com/chenjj/espoofer
0x03 智能检测钓鱼邮件
钓鱼邮件途径非常多,比如:
-
附件 -
文本 -
URL -
短链接 -
图片
篇幅限制,这里先简单说下含URL的钓鱼邮件自动化检测思路。
模型提取基础特征
OCR识别钓鱼页面隐藏内容思路
0x04 总结
对于邮件伪造引起的安全问题,SPF(IP地址验证)
、DKIM(数据签名验证)
、DMARC(From地址验证)
三大策略如果都配置正确,基本可以完全杜绝伪造发件人,其中尤其需要注意的是SPF
的配置过程中~all(软拒绝)
和-all(硬拒绝)
的区别。通常默认是软拒绝,这样不能完全保证安全。
同时,查询SPF
记录的过程中同样会暴露服务器的真实IP
,也需要对这些资产做安全性排查。如果有兴趣,后续再聊下邮件安全纵深防御体系及运营,以及如何快速处置和溯源反制。
原文始发于微信公众号(小宝的安全学习笔记):企业安全建设之邮件安全
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论