DMARC邮件认证如何配置拒绝

wen 网络安全 2

本文目录导读:

DMARC邮件认证如何配置拒绝

  1. 核心DNS配置
  2. 重要前提:必须同时配置SPF和DKIM
  3. 分阶段部署策略(强烈建议)
  4. 示例:完整配置记录
  5. 关键警告

配置DMARC(基于域的消息认证、报告和符合性)以拒绝(Reject)未经授权的邮件,是最高等级的防护策略,以下是标准配置步骤和关键注意事项。

核心DNS配置

您需要在域名的DNS管理后台中添加或修改一条TXT记录,关键参数如下:

记录类型 主机名(Name) 值(Value / TXT Data)
TXT _dmarc v=DMARC1; p=reject; rua=mailto:[您的报告邮箱]; ruf=mailto:[您的取证报告邮箱]; sp=reject; pct=100

参数详解:

  • v=DMARC1: 固定版本标识。
  • p=reject核心策略,指示接收方服务器:如果邮件未通过SPF(发送方策略框架)和DKIM(域名密钥识别邮件)验证,直接拒绝(丢弃)该邮件,切勿将其放入垃圾邮件或收件箱。
  • rua=mailto:[邮箱]: 接收聚合报告(XML格式),这是监控攻击和误报的关键,但会带来邮件量,建议使用专门的邮箱或第三方服务。
  • ruf=mailto:[邮箱]: 接收取证报告(更详细的失败详情)。强烈建议仅用于测试阶段,因为它可能泄露敏感信息,且会大幅增加邮件量。
  • sp=reject子域名策略,为所有未单独设置DMARC的子域名应用p=reject策略。这是很多攻击利用的漏洞,建议添加。
  • pct=100: 策略应用于多少百分比的邮件,建议从pct=1pct=10开始测试,确认无误后再改为100直接设为100有风险

重要前提:必须同时配置SPF和DKIM

p=reject本身不会导致任何邮件被拒,它依赖于SPF和DKIM验证,如果这两个前置条件失效,您的正常邮件也会被拒绝。

  1. SPF配置

    • 在DNS中添加一条TXT记录(主机名通常是 或留空)。
    • 明确列出所有允许发送该域名邮件的IP地址或服务器。
    • 规则末尾必须包含 -all(硬失败),而不是 ~all(软失败)。
      • v=spf1 ip4:192.0.2.0/24 include:_spf.google.com -all
  2. DKIM配置

    • 在DNS中添加一条TXT记录,主机名是您邮件服务商提供的选择器(通常是 selector1._domainkeydefault._domainkey 等)。
    • 值是一个公钥字符串,由您的邮件服务商提供。
    • 必须启用DKIM签名(在您的邮件服务器或邮件服务商控制面板中开启)。

分阶段部署策略(强烈建议)

直接设置p=reject可能导致正常邮件被拒收(例如第三方服务未配置正确SPF/DKIM),建议按以下步骤进行:

  1. 阶段1:仅监控(p=none)

    • 设置 p=none,同时开启 ruaruf
    • 观察1-2周,分析聚合报告,找出所有合法的发件源(第三方邮件服务、公司内部系统等)。
    • 确保这些源都已正确配置SPF和DKIM
  2. 阶段2:隔离可疑邮件(p=quarantine)

    • 将策略改为 p=quarantine,测试效果。
    • 这会将未通过验证的邮件放入垃圾邮件文件夹,而非直接拒绝,这提供了一个缓冲期。
  3. 阶段3:全面拒绝(p=reject)

    • 确认所有合法发件源都已覆盖,且监控报告中无系统性误报后,改为 p=reject

示例:完整配置记录

假设您的域名是 example.com,您的接收报告邮箱是 dmarc-reports@example.com

您的DNS提供商处,您需要添加/修改一条记录

类型 名称
TXT _dmarc v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-reports@example.com; sp=reject; pct=100

同时必须已存在的另外两条记录(缺一不可):

类型 名称
TXT v=spf1 include:_spf.google.com -all
TXT google._domainkey v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC...

关键警告

  1. 不要一开始就设为p=reject,这可能会导致您的客服、财务等自动化系统发送的邮件被大型邮箱(如Gmail、Outlook)拒绝,且无任何提示。
  2. 子域名攻击:务必包含 sp=reject,许多攻击者会利用未配置DMARC的子域名(如 abuse.example.com)发送钓鱼邮件,如果没有该策略,这些邮件仍可能被判定为通过。
  3. 报告邮箱:用于接收报告的邮箱必须能处理大量XML附件,同时也建议为该邮箱本身配置SPF、DKIM和DMARC,以防报告邮件被当作垃圾邮件处理。
  4. DNS传播延迟:修改DNS记录后,全球生效可能需要几分钟到48小时,在此期间,部分邮件服务器可能仍按旧策略处理。

配置“拒绝”的本质是 p=reject,但成功的关键在于前置的SPF(-all)和DKIM配置正确且全覆盖,以及分阶段部署,直接上线风险很高。

抱歉,评论功能暂时关闭!