什么是 DMARC?
DMARC 是 “Domain-based Message Authentication, Reporting & Conformance”
的缩写,用来检查邮件是否来自声称的来源。它构建在广泛部署的 SPF 和 DKIM
协议之上,并添加了域名对齐检查和报告发送功能,来改善和监测域名的反冒名攻击保护。
这里是一个 DMARC 的示意图 dmarc.org:
为什么 DMARC 如此重要?
下面的说明来自 dmarc.org:
随着社交网络和电子商务的兴起,垃圾邮件发送者和钓鱼攻击者出于经济的动机会入侵用户帐户,并盗窃密码,银行帐户,信用卡,等等。冒名发送电子邮件很容易,攻击者发现冒名发送邮件能够利用用户对知名品牌的信任。简单地在邮件里面显示一个知名品牌的标志就可以获取用户信任。
邮件用户无法分辨真实的邮件和假冒的邮件,邮箱服务提供商也很难作出决定。邮件发送者对邮件验证的状态并不知晓,因为没有让他们指定接收反馈报告的机制。SPF
和 DKIM 的部署进展缓慢,因为缺少反馈,从而意味者没有好办法来监测进程和排查问题。DMARC 能够解决这些问题,帮助邮件发送者和接收者协作来保证邮件安全,从而保护用户和品牌不受代价高昂的滥用。
什么是 DMARC 记录?
DMARC 记录是发布在 DNS 中的 TXT 资源记录,它指定邮箱服务应该如何处理 DMARC 验证失败的邮件。
下面考察一个发布在 “sender.exampledomain.com” 上面的 DMARC 记录:
v=DMARC1;p=reject;pct=100;rua=mailto:postmaster@exampledomain.com
在这个例子里,发送者要求邮箱服务拒绝所有验证失败的邮件,并且发送聚合格式的报告到指定的地址。如果发送者正在测试电子邮件配置的话,他们可以把 “reject”
换成 “quarantine”,这样就要求邮箱服务隔离验证失败的邮件,而不是完全拒绝。DMARC 记录采用了灵活的 “标签-值” 的语法,和 DKIM
记录类似。
什么是 DMARC 记录标签?
一个典型的 DMARC 记录如下所示:
v=DMARC1; p=none; ri=3600; rua=mailto:5b06a240321f1@ag.dmarcly.com; ruf=mailto:5b06a240321f1@fo.dmarcly.com; sp=none; adkim=s; aspf=s; fo=0:1:d:s;
它包含多个标签,来指定邮箱服务应该如何发送 DMARC 报告。下面我们逐个讨论。
v 是 DMARC 协议版本。缺省是 DMARC1。
p 是策略。DMARC 将该策略应用到验证失败的邮件。可选值为 ‘none’, ‘quarantine’, 或者 ‘reject’。‘none’
用来接收 DMARC 报告并由此获得邮件验证状态。‘quarantine’ 用来隔离验证失败的邮件。‘reject’ 用来拒收验证失败的邮件。
ri 报告发送间隔,以秒计算。它定义接收 aggregate 报告的频率。
rua 指定接收 aggregate 报告的 URI 列表。注意:这个不是电邮地址列表。DMARC 要求一系列的
URI,形式是:‘mailto:test@example.com’。
ruf 指定接收 forensic 报告的 URI 列表。注意:这个不是电邮地址列表。DMARC 要求一系列的
URI,形式是:‘mailto:test@example.com’。
sp 是子域名策略。DMARC 将该策略应用到来自子域名的验证失败的邮件。域名管理者可以使用该标签来为所有子域名发布一个通配的策略。
adkim 指定 DKIM 中的 ‘对齐模式’,可以是 ‘r’ (放松) 或者 ‘s’ (严格)。在放松模式下,验证过的 DKIM 签名域名
(d=) 的组织域名如果和邮件的 From 域名一致,那么 DMARC 检查将会通过。在严格模式下,DKIM 签名域名必须和邮件的 From 域名严格匹配。
aspf 指定 SPF 中的 ‘对齐模式’,可以是 ‘r’ (放松) 或者 ‘s’ (严格)。在放松模式下,验证过的 SPF 域名 (d=)
的组织域名如果和邮件的 From 域名一致,那么 DMARC 检查将会通过。在严格模式下,SPF 域名必须和邮件的 From 域名严格匹配。
fo 是 forensic 选项。可选值:‘0’ 如果 DKIM 和 SPF 都失败,那么发送报告;‘1’ 如果 DKIM 或者 SPF
失败,那么发送报告;‘d’ 如果 DKIM 失败,那么发送报告;‘s’ 如果 SPF 失败,那么发送报告。
rf 指定 forensic 报告格式。
pct 是百分比标签,它指定将 DMARC 策略应用到验证失败邮件的百分比。‘pct = 50’ 意味着 50% 的失败的邮件会执行 DMARC
策略。注意:这对 ‘none’ 策略不起作用,仅对 ‘quarantine’ 或者 ‘reject’ 策略起作用。
什么是 DMARC 策略?
DMARC 策略是 DMARC 记录中的 p 标签 。它指定邮箱服务应该如何处理验证失败的邮件。
DMARC 策略可以取值以下之一: none (监控模式), quarantine 和 reject 。
– none : DMARC 不对验证失败的邮件做任何处理。这也被称为监控模式。通过分析 DMARC
报告,可以知道邮件的发送源主机。一旦对邮件验证状态有充分的了解,就可以迁移到 quarantine。
– quarantine : 失败的邮件将会被隔离。
– reject : 失败的邮件将会被拒收。这些邮件不会出现在接收者的收件箱中。这个策略会阻止所有冒名发送的邮件。
http://dmarcly.com/blog/getting-started-with-dmarc
发布 DMARC 记录
在发布之前,需要先创建一个 DMARC 记录。要创建一个 DMARC 记录,登录到 DMARCLY
控制台。
登录了以后,点击左边的 DNS 记录/发布 DMARC 记录,像这样:
已经创建的 DMARC 记录出现在高亮的区域。
接下来,需要把它作为 TXT 记录发布在 DNS 中,在目标域名上 (比如 yourdomain.com)。遵循以下步骤:
-
登录到 DNS 管理后台;
-
选择目标域名;
-
用下面的设置创建一个 TXT 记录:
Type: TXT
Host: _dmarc
TXT Value: (上面创建的 DMARC 记录)
TTL: 1 hour
比如,下面是发布后的在 GoDaddy DNS 管理后台的例子:
其他的 DNS 服务的界面也类似。
保存更改。 现在 DMARC 记录已经发布在 yourdomain.com 上。
DMARC Wiki
要了解更多关于 DMARC 信息,下面是一些 DMARC 链接:
也可以参阅 DMARC RFC7489。
还有 [DMARC, DKIM, 和 SPF 实施终极指南](http://dmarcly.com/blog/zh-CN/how-to-implement-
dmarc-dkim-spf-to-stop-email-spoofing-phishing-the-definitive-guide)。
本文翻译自 http://dmarcly.com/blog/getting-started-with-dmarc,转载请保留完整。
c-dkim-spf-to-stop-email-spoofing-phishing-the-definitive-guide)。
本文翻译自 http://dmarcly.com/blog/getting-started-with-dmarc,转载请保留完整。
接下来我将给各位同学划分一张学习计划表!
学习计划
那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:
阶段一:初级网络安全工程师
接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。
综合薪资区间6k~15k
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?
阶段二:中级or高级网络安全工程师(看自己能力)
综合薪资区间15k~30k
7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。
零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完
用Python编写漏洞的exp,然后写一个简单的网络爬虫
PHP基本语法学习并书写一个简单的博客系统
熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)
了解Bootstrap的布局或者CSS。
阶段三:顶级网络安全工程师
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
学习资料分享
当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。
![](https://i-blog.csdnimg.cn/blog_migrate/08c3b846393bdaea6409358cbf194580.jpeg)