新型电子邮件协议
【Jobeen】
    DMARC协议
    近来有统计数据(http://www.marketingtechblog.com/dmarc-infographic/)显示,全球范围内每天仍有约1亿的钓鱼邮件在投递着,每年因phishing/fraud spam而泄漏的个人密码,银行卡/信用卡信息等资料更是不计其数,对受害人和社会造成的影响实在太大,太恶劣,同时各家电子邮件服务运行商(Email Sevice Provider,如AOL,Gmail,Hotmail等)也苦不堪言,想尽办法希望能解决这类问题。
    后来相继出现了[SENDERID],[SPF],[DKIM]等电邮安全协议,试图辅助[SMTP]加强其安全性,解决伪造邮件的问题。这些安全协议在一定程度上发挥了功效,拦截掉一部分钓鱼邮件或诈骗邮件。无奈道高一尺魔高一丈,狡猾的spammer们的造假手段极其丰富和专业,他们很快发现并利用这些安全协议的不足之处,继续制造和发送钓鱼/诈骗邮件,其数量仍旧不菲!!无辜的邮箱用户们仍亟需帮助!
    DAMRC诞生
    2012年1月30号,由Paypal,Google,微软,雅虎,ReturnPath等15家行业巨头(主要包括 金融机构,Email服务提供商,数据分析机构等)联手宣布成立了新的互联网联盟dmarc.org,致力于提交并推广一款[DMARC]新电子邮件安全协议。随着该联盟的日渐发展,继而有网易等其他行业先行者也加入到其中。
    "DMARC"是Domain-based Message Authentication, Reporting and Conformance的英文首字母缩写,其官网为 http://www.dmarc.org 。和其他电邮安全协议的美好初衷一样,[DMARC]协议的主要目的是识别并拦截钓鱼邮件,使钓鱼邮件不再进入用户邮箱中(收件箱or垃圾箱),减少邮箱用户打开/阅读到钓鱼邮件的可能性,从而保护用户的帐号密码等个人信息安全。
    DAMRC原理
    [DMARC]协议基于现有的[DKIM]和[SPF]两大主流电子邮件安全协议,由Mail Sender方(域名拥有者Domain Owner)在[DNS]里声明自己采用该协议。当Mail Receiver方(其MTA需支持DMARC协议)收到该域发送过来的邮件时,则进行DMARC校验,若校验失败还需发送一封report到指定[URI](常是一个邮箱地址)。
    DMARC与现有DKIM/SPF对比
    1.DKIM/SPF/DMARC都是由Mail Sender/Domain Owner声明在DNS里,但DKIM/SPF策略单一,而DMARC策略更灵活(多种组合策略,支持百分比等)。
    2.DKIM/SPF 的Mail Sender和Mail Receiver双方无任何信息交流(协议本身已无这方面的考虑和设计),而DMARC协议本身就支持report的功能(Domain Owner除可以声明策略,还可以声明自己用于接收report的[URI])。
    3.DKIM/SPF 可以严格限制某个域名的来源合法性,但无法限制该域名的子域名,相当于子域名无法得到保护(无法穷举每一个子域名并为它们逐一添加SPF记录)。
    4.当一个站点的邮件服务器数量多或IP更换频繁时,这个域通常不设置SPF或仅设置为软失败。
    5.有些允许合法使用多个域名的邮箱服务器(譬如企业邮箱提供商),所有在同一家服务商上注册企业邮服务的域名(如a.com和b.com),它们的SPF记录都指向相同的IP列表,这种情况下仅仅靠SPF是阻止不了a.com发送一封谎称发自b.com的伪造邮件的!
    6.当Mail Receiver方在MX机器上依据DKIM/SPF发现一封验证失败但仅仅只能定性为可疑(如ADSP不是discardable 或 SPF结果不是hard-fail)时,这时Mail Receiver方会很困惑(这封邮件到底是不是伪造的?!),无法确定下来到底要不要拒收(因为Mail Receiver方不知道Domain Owner方对这类可疑邮件的处理态度,到底你们是希望我拒收呢还是漏进来呢?漏进来是放收件箱还是垃圾箱呢?)。。。而当这封spam逃过其他反垃圾手段(黑名单,邮件特征过滤,邮件内容过滤等)的检查之后,它就能漏进到收件人的邮箱了。而如果Domain Owner方采用DMARC协议(可以在DNS记录里明确地声明对这类可疑邮件的处理策略,reject或进垃圾箱,相当于授权给Mail Receiver方),那Mail Receiver方就可以非常果断地(因为是依据Domain Owner的授权和策略),不带一丝犹豫(担心误判)地处理这类邮件了。
    由于DMARC有诸多先天优势,故其发起者(DMARC联盟)称DMARC协议的目的之一就是替换掉[ADSP]。