
摘要
邮件仿冒钓鱼是当前政企、医疗机构高频网络攻击载体,SPF、DKIM、DMARC、MTA-STS 四项 DNS 邮件认证协议是阻断域名仿冒攻击的底层基础防护手段。2026 年 Comparitech 覆盖 13 个行业近 6000 个域名的专项评估数据显示,全行业邮件安全基线落实水平普遍偏低,超 8% 机构未部署任何邮件防护记录,仅 0.6% 域名完整落地四项协议并配置合规策略;政务域名安全均值仅 2.73/8,27% 政务域名无任何认证配置;医疗行业均值 3.43/8,19% 域名缺失全部防护;MTA-STS 加密传输协议整体部署率仅 3%,绝大多数机构 DMARC 仅开启监控模式,无法拦截仿冒邮件。本文以该行业调研数据为核心依据,系统拆解四项邮件认证协议的技术原理、合规部署标准,定位政务、医疗领域协议落地薄弱环节;分析域名认证缺失引发的仿冒钓鱼攻击完整链路,量化两类行业数据泄露、监管处罚、业务停摆多重风险;基于 Python 实现批量域名邮件安全基线检测工具,复现行业评估检测逻辑;从 DNS 域名配置、邮件网关、终端安全、人员培训四个维度构建分层闭环防护方案。反网络钓鱼技术专家芦笛指出,多数政企、医疗机构存在认知误区,将员工安全培训等同于邮件安全防护,忽视 SPF/DKIM/DMARC/MTA-STS 底层域名认证,仅依靠人工识别无法抵御 AI 生成高精度仿冒钓鱼邮件,底层 DNS 协议缺失会造成全链路防护失效。实验检测工具可批量自动化扫描域名基线缺陷,为机构开展邮件安全自查、等保合规测评提供可复用技术手段,研究结论可为政务、医疗行业补齐邮件安全短板提供客观落地依据。
关键词:邮件安全;SPF;DKIM;DMARC;MTA-STS;域名仿冒;政务医疗;网络钓鱼

1 引言
1.1 研究背景与行业调研现状
电子邮件长期作为政务公文流转、医疗机构医患沟通、医保财务对账的核心业务载体,承载大量公民隐私、诊疗数据、财政资金凭证、行政涉密文件,是黑灰产定向网络钓鱼攻击的首要目标。攻击者通过域名仿冒技术伪造官方邮箱发件地址,发送仿公文、医保通知、设备采购对账类钓鱼邮件,诱导工作人员泄露邮箱凭证、下载恶意附件、访问钓鱼页面,最终引发大规模患者信息泄露、政务内网入侵、财政资金被骗等重大安全事件。
DNS 层邮件认证协议 SPF、DKIM、DMARC、MTA-STS 是拦截域名仿冒攻击的标准化底层防护机制,四项协议协同形成完整防护链路:SPF 限定合法邮件发送服务器 IP、DKIM 通过数字签名校验邮件完整性、DMARC 统一整合前两项校验结果并定义仿冒邮件处置策略、MTA-STS 强制邮件传输全程 TLS 加密,阻断传输中间人劫持篡改行为。全球网络安全合规标准、等保测评规范均要求政企、医疗机构完整部署四项协议并配置拦截级策略。
2026 年 7 月 Comparitech 发布跨 13 行业、5987 个域名邮件安全专项评估报告,客观反映国内政企、医疗行业邮件安全基线严重缺失的现状:第一,全行业整体防护覆盖率偏低,超 8% 机构域名无任何 SPF/DKIM/DMARC/MTA-STS 配置,不存在基础仿冒拦截能力;第二,行业分化差距显著,科技企业整体部署水平最优,但全样本中仅 2 个域名达到四项协议完整合规满分标准;政务领域安全得分垫底,平均得分仅 2.73(满分 8 分),27% 政务域名四项协议全部空白;医疗行业排名倒数第二,平均得分 3.43,19% 域名无任何 DNS 防护记录;第三,核心拦截策略普遍失效,大量高校、事业单位仅配置 DMARC 监控模式(p=none),仅收集攻击日志不拦截仿冒邮件,无实际防护效果;第四,加密传输协议普及近乎空白,MTA-STS 仅 3% 域名完成部署,邮件跨服务器传输全程明文劫持风险居高不下。
1.2 当前研究存在的核心短板
现有邮件安全相关研究存在四类明显局限,难以适配政务、医疗行业落地整改需求:
行业针对性研究不足:多数文献聚焦互联网企业邮件防护,针对政务、医疗机构业务场景、合规要求、部署难点的专项分析较少,无法解释两类行业协议部署率垫底的内在成因;
协议体系割裂分析:现有资料单独讲解 SPF、DKIM、DMARC 功能,缺少四项协议协同防护的完整链路分析,未明确 MTA-STS 加密传输与前三类认证协议的互补关系;
缺少批量自动化检测工具:现有检测手段多为单域名在线查询页面,无开源批量扫描代码,机构无法自主完成全域域名基线自查,等保测评依赖第三方商业工具;
风险传导机制分析缺失:未完整论证 “DNS 协议缺失→域名仿冒钓鱼→数据泄露→合规处罚” 的完整风险链条,无法直观体现底层配置缺陷带来的连锁危害。
1.3 本文研究内容与创新点
依托 2026 年跨行业邮件安全评估调研数据,本文完成系统性完整研究工作:
完整梳理 SPF、DKIM、DMARC、MTA-STS 四项邮件认证协议技术原理、标准 DNS 记录格式、合规部署策略,区分监控、隔离、拒绝三级 DMARC 策略的防护效果差异;
基于调研数据横向对比 13 个行业协议部署水平,重点剖析政务、医疗机构防护薄弱成因,明确人员、运维、合规、业务流程四大层面落地障碍;
拆解域名仿冒钓鱼攻击完整链路,论证四项协议缺失如何逐层瓦解邮件边界防护,量化政务、医疗场景下攻击造成的业务与合规损失;
开发可直接运行的 Python 批量域名邮件安全基线检测代码,自动化识别 SPF/DKIM/DMARC/MTA-STS 记录存在性、策略合规性,复现行业评估检测逻辑;
针对政务、医疗机构业务特性,构建 DNS 域名配置、邮件网关、终端管控、人员常态化培训四层闭环防护整改方案,给出分阶段落地实施路径;
结合安全行业专家视角,纠正行业普遍存在的 “人工培训替代底层协议防护” 认知偏差,明确四项 DNS 认证协议是邮件钓鱼防护不可替代的基础屏障。
本文核心创新点归纳为三项:
(1)以 2026 年最新全行业域名评估数据为支撑,聚焦政务、医疗两大高风险行业,定位邮件认证协议落地全流程短板,研究场景针对性强;
(2)整合四项邮件认证协议形成一体化防护逻辑,补充 MTA-STS 加密传输的防护价值,弥补现有研究重身份校验、轻传输加密的缺陷;
(3)提供轻量化批量域名检测开源代码,无需付费商业工具,支持机构自主完成全域域名安全自查,具备直接工程复用价值。
1.4 论文整体结构安排
本文一级章节划分如下:第 2 部分详细阐述四项邮件认证协议技术架构、标准配置与协同防护逻辑;第 3 部分基于行业调研数据对比各行业部署现状,深度分析政务、医疗机构防护薄弱的多重成因;第 4 部分解析 DNS 协议缺失引发的域名仿冒钓鱼攻击完整链路,量化两类行业特有安全风险;第 5 部分给出批量域名邮件安全检测完整 Python 代码,开展仿真扫描验证工具有效性;第 6 部分面向政企、医疗机构提出分阶段闭环整改防护体系;第 7 部分总结全文研究结论,客观梳理研究局限并提出后续拓展研究方向。
2 四项邮件认证协议技术原理与协同防护逻辑
SPF、DKIM、DMARC、MTA-STS 均依托 DNS 解析体系实现防护能力,各司其职形成身份校验、完整性校验、仿冒处置、传输加密全链路防护,单一协议无法独立阻断仿冒钓鱼攻击,四项配置完整合规才能形成有效防护闭环。
2.1 SPF:发送服务器 IP 授权校验协议
SPF 全称发送者策略框架,标准定义于 RFC7208,核心作用是在域名 DNS TXT 记录中公示有权限发送该域名邮件的服务器 IP、域名列表,接收邮件服务器在 SMTP 握手阶段校验发送服务器 IP 是否匹配域名授权清单,判断邮件是否为合法渠道发出。
SPF 记录标准格式以v=spf1开头,通过 ip4、ip6、include、mx 等机制纳入合法发送源,末尾限定匹配兜底规则:-all代表未匹配 IP 直接判定校验失败、~all软失败仅标记可疑、+all允许任意服务器发送(完全无防护,高危配置)。
典型合规政务域名 SPF 记录示例:v=spf1 ip4:111.22.33.44 include:_spf.gov.cn -all,仅允许指定政务邮件服务器发送,外部 IP 发送全部判定失败。
SPF 技术局限性:仅校验 SMTP 信封发件人,无法校验邮件头部展示 From 字段,攻击者可通过邮件转发、信封篡改绕过 SPF 校验;同时 SPF 存在 DNS 查询次数上限,过多 include 嵌套会触发解析失败,仅能作为第一道基础校验屏障,无法单独抵御高级仿冒攻击。
2.2 DKIM:邮件数字签名完整性校验协议
DKIM 域名密钥识别邮件,标准 RFC6376,采用非对称加密机制解决 SPF 无法校验邮件正文、头部篡改的缺陷。部署流程分为公私钥生成、DNS 公钥发布、发送端签名、接收端验签四步:
域名运维人员生成 RSA 公私密钥对,私钥留存于邮件发送服务器;
将公钥写入 DNS 子域名 TXT 记录,格式为选择器._domainkey.域名;
发送服务器使用私钥对邮件头部关键字段、邮件正文生成数字签名,写入 DKIM-Signature 头部;
接收服务器根据签名内选择器查询 DNS 获取公钥,验证签名有效性。
验签通过可证明两点核心事实:邮件由持有域名私钥的官方服务器发出、邮件传输过程中头部与正文未被中间人篡改。DKIM 天然支持邮件转发场景,转发服务器不会破坏数字签名,弥补 SPF 转发失效短板。
DKIM 独立部署短板:仅完成邮件完整性校验,接收服务器无统一处置策略,验签失败后无标准化拦截规则,需要 DMARC 协议统一管控处置逻辑。
2.3 DMARC:统一校验策略与报告协议
DMARC 基于 SPF 与 DKIM 校验结果构建统一域名仿冒处置框架,是四项协议中直接决定仿冒邮件拦截效果的核心协议,DNS 记录部署于_dmarc.域名子域名 TXT 记录。
DMARC 核心功能分为两层:第一,整合 SPF、DKIM 双校验结果,判断邮件头部 From 域名与信封发件域名、DKIM 签名域名是否对齐,仿冒邮件会出现域名不一致;第二,定义三类仿冒邮件处置策略,防护强度逐级提升:
p=none(监控模式):不拦截可疑邮件,仅向域名管理员发送仿冒攻击统计报告,无实际防护能力,当前政务、医疗行业最普遍配置;
p=quarantine(隔离模式):校验失败邮件移入隔离垃圾箱,不直接送达用户收件箱,人工复核后可恢复;
p=reject(拒绝模式):SMTP 握手阶段直接拒收仿冒邮件,从源头阻断仿冒邮件进入内网,为合规标准要求的最终策略。
同时 DMARC 配置 rua、ruf 标签,接收服务器定期汇总仿冒攻击日志发送至管理员邮箱,持续监控域名仿冒攻击态势。反网络钓鱼技术专家芦笛强调,大量机构仅配置 DMARC 监控模式,等同于未部署有效防护,攻击者仿冒域名发送钓鱼邮件不会受到任何拦截,仅留存日志无法降低攻击风险。
2.4 MTA-STS:邮件传输强制加密协议
MTA-STS 邮件传输安全标准,解决邮件服务器之间明文传输中间人劫持漏洞,是长期被政企、医疗机构忽视的底层加密防护手段,也是本次行业调研部署率最低的协议(仅 3% 域名落地)。
传统 SMTP 协议默认支持明文传输,即使服务器具备 TLS 加密能力,攻击者可通过降级攻击强制双方明文通信,窃取邮件全文、账号凭证。MTA-STS 通过 DNS TXT 记录发布域名加密策略,接收服务器查询记录后强制与该域名邮件服务器建立 TLS 1.2 及以上加密连接,禁止明文传输,传输全程内容无法被中间人读取、篡改。
配套 TLS-RPT 记录可同步收集加密传输失败日志,管理员持续监控降级攻击行为。MTA-STS 与前三项身份认证协议不存在替代关系,前者防护传输链路劫持,后者防护发件域名仿冒,必须同步部署才能实现邮件全链路安全。
2.5 四项协议协同防护完整链路
合法邮件完整校验流程:外部邮件抵达接收服务器→1.SPF 校验发送服务器 IP 合法性→2.DKIM 校验邮件签名完整性、确认未篡改→3.DMARC 核对域名对齐,根据 p 策略隔离 / 拒收仿冒邮件→4.MTA-STS 保障全程加密传输,杜绝中间人劫持。
任一协议缺失都会形成防护缺口:无 SPF/DKIM 则 DMARC 无校验依据;DMARC 仅监控模式则仿冒邮件正常投递;无 MTA-STS 则合法邮件传输存在明文泄露风险。四项协议全部合规部署,才能形成域名仿冒、邮件篡改、传输劫持三类攻击的完整防护闭环。
3 跨行业邮件认证协议部署现状及政企医疗薄弱成因分析
3.1 2026 跨 13 行业域名评估数据整体概况
本次 Comparitech 评估样本总量 5987 个独立业务域名,覆盖科技、政务、医疗、教育、金融、零售、制造等 13 个行业,采用 8 分制安全评分体系,四项协议完整部署且 DMARC 配置 reject 策略、MTA-STS 正常启用得满分 8 分,单一协议缺失、策略宽松对应扣减分值。整体调研核心数据整理如下:
全域安全基线覆盖率:8.1% 域名无任何 SPF/DKIM/DMARC/MTA-STS DNS 记录,完全无底层防护;仅 0.6% 域名达到满分合规标准;
DMARC 策略分布:67% 部署 DMARC 的域名仅开启 p=none 监控模式,无拦截能力;24% 配置 quarantine 隔离;仅 9% 启用 reject 拒绝模式;
MTA-STS 部署情况:全行业整体部署率 3%,政务、医疗机构部署率不足 1%,几乎完全空白;
行业排名梯度:科技企业平均得分最高,金融、教育居中,医疗行业倒数第二,政务域名平均分垫底。
3.2 政务行业邮件安全短板及内在成因
政务域名平均安全得分 2.73/8,27% 域名四项协议全部空白,是全行业防护水平最低领域,薄弱成因分为运维、业务、合规三层:
3.2.1 运维人员专业能力不足,DNS 变更流程繁琐
多数基层政务单位信息化运维人员编制有限,专职域名安全运维岗位缺失,仅兼职人员管理 DNS 解析;SPF、DKIM、DMARC、MTA-STS 配置涉及多条 DNS 记录新增、修改,部分政务单位 DNS 变更需多层审批,流程周期长,运维人员优先保障业务正常收发邮件,不愿调整解析记录引发邮件投递故障,长期搁置协议部署工作。
3.2.2 多级子域名统一管控缺失
政务体系存在省、市、区县、乡镇多级子域名,各层级独立运维,无统一 DNS 基线管控规范,上级单位完成主域名防护配置,下级区县子域名完全空白,攻击者针对区县小众子域名开展仿冒钓鱼,定向投递基层办事人员。
3.2.3 合规测评整改流于形式,仅完成基础记录添加
等保测评、网络安全检查仅核查是否存在 SPF、DMARC 记录,未校验策略合规性,基层单位仅添加 DMARC 监控模式记录应付检查,未升级至 reject 拦截策略,测评完成后不再优化基线配置,防护无实质效果。
3.3 医疗机构邮件安全短板及特有业务约束
医疗行业平均得分 3.43/8,19% 域名无任何邮件认证配置,医疗机构防护短板叠加业务特殊性,风险危害高于普通企业:
3.3.1 第三方合作邮箱系统多,SPF 配置复杂度高
医院对接医保局、检验机构、医疗设备厂商、第三方病历平台数十类外部邮件发送源,SPF 记录需要大量 include 嵌套,配置不当易触发 DNS 查询超限,导致外部合作邮件投递失败;医疗机构担心影响医患沟通、医保对账业务,拒绝完整配置-all兜底规则,普遍使用宽松~all软失败配置,SPF 校验失去拦截作用。
3.3.2 医疗数据合规认知偏差,重终端轻域名底层防护
医院安全管理重点聚焦患者病历数据库、内网业务系统,将邮件安全等同于员工钓鱼培训、网关杀毒,忽视 DNS 域名层认证协议;管理人员认为只要员工不点击可疑链接即可规避风险,低估 AI 仿冒钓鱼邮件的欺骗能力,反网络钓鱼技术专家芦笛指出,医疗行业存储海量受法律保护的患者健康隐私数据,一旦发生域名仿冒钓鱼泄露,将触发《个人信息保护法》《HIPAA》高额处罚,底层域名防护缺失是重大合规隐患。
3.3.3 基层诊所、社区医院无专职信息化团队
大型三甲医院具备完整安全运维团队,基层社区医疗机构、私人诊所无专职 IT 人员,域名托管至第三方服务商,服务商未主动配置四项邮件认证协议,机构管理人员无自查能力,长期处于无防护状态。
3.4 对比行业最优实践(科技企业)参考逻辑
科技企业平均安全得分领先全行业,核心落地经验可为政企、医疗机构提供整改参考:一是建立全域域名统一 DNS 管控平台,自动化批量推送 SPF/DKIM/DMARC/MTA-STS 标准记录,多级子域名同步同步基线;二是分阶段迭代 DMARC 策略,先监控收集攻击数据,3 至 6 个月内平滑切换至隔离、拒绝模式,规避业务投递故障;三是自动化批量扫描域名基线,每周生成安全缺陷报告,跟踪整改闭环;四是将四项邮件协议部署纳入新域名上线强制准入标准,新域名未完成合规配置禁止启用邮件服务。
4 邮件认证协议缺失下域名仿冒钓鱼攻击链路与行业特有风险
4.1 无底层认证协议支撑的完整仿冒攻击流程
当目标政务、医疗域名缺失 SPF、DKIM、DMARC、MTA-STS 任意一项或多项配置时,攻击者可低成本构造仿冒钓鱼邮件,完整攻击链路分为五步:
步骤 1:攻击者搭建自有邮件发送服务器,伪造邮件头部 From 字段为官方政务 / 医疗域名,例如admin@gov-city.cn、finance@hospital-med.com;
步骤 2:域名无 SPF 记录,接收服务器无法校验发送 IP 合法性,邮件基础校验直接放行;无 DKIM 签名则无法验证邮件正文是否被篡改;
步骤 3:无 DMARC 记录或仅 p=none 监控模式,接收服务器识别域名对齐失败后无拦截动作,仿冒邮件正常送达员工收件箱;
步骤 4:无 MTA-STS 加密策略,邮件传输采用明文传输,攻击者可在运营商链路劫持邮件内容,同步窃取员工正常往来邮件模板,优化钓鱼文案欺骗性;
步骤 5:仿冒邮件伪装医保对账、财政拨款、病历核验通知,附带钓鱼链接或恶意附件,工作人员点击后邮箱账号、内网系统凭证泄露,攻击者横向渗透窃取涉密政务文件、患者诊疗隐私数据。
若四项协议完整合规部署,该攻击链路会在第三步直接中断,仿冒邮件被服务器拒收,无法抵达用户终端,从源头消除钓鱼攻击入口。
4.2 政务行业协议缺失衍生多重风险
行政涉密数据泄露风险:仿冒钓鱼邮件窃取政务工作人员邮箱权限后,可批量下载未归档公文、群众办事申请材料、财政预算涉密文件,引发区域性政务数据泄露;
财政资金诈骗风险:攻击者冒充财政、审计部门发送拨款、退税钓鱼邮件,诱导财务人员向虚假对公账户转账,造成公共财政资金损失;
政务公信力受损:群众收到仿冒政府钓鱼邮件后,易对官方政务通知产生不信任,线上政务渠道推广受阻;
监管处罚风险:未落实邮件安全基线防护,等保测评无法通过,网信、公安部门可依据网络安全相关法规下达整改通知并处以行政处罚。
4.3 医疗机构协议缺失衍生特有风险
大规模患者隐私泄露风险:医院邮箱存储大量患者身份证、诊疗记录、医保报销单据,钓鱼入侵后批量泄露健康隐私数据,触发高额民事赔偿与监管处罚;
医疗业务中断风险:攻击者窃取财务、医保岗位账号后,篡改医保对账数据、拦截设备采购邮件,造成医院结算、诊疗业务停滞;
医疗合规追责风险:全球医疗行业数据保护法规均强制要求医疗机构部署邮件身份认证机制,基线缺失发生数据泄露后,机构负责人需承担直接管理责任;
医患信任危机:仿冒医院钓鱼邮件向患者推送虚假诊疗通知、收费链接,损害医疗机构公众口碑。
5 批量域名邮件安全基线检测 Python 代码实现与仿真验证
本节基于 dns.resolver 库开发批量域名 SPF、DKIM、DMARC、MTA-STS 自动化检测工具,复现 Comparitech 行业评估检测逻辑,支持单次扫描批量域名,自动输出各项协议存在状态、策略等级、缺陷风险提示,代码可独立部署于本地服务器,无需调用第三方付费 API,适配政企、医疗机构全域域名安全自查工作。
5.1 依赖库安装与全局基础配置
# 安装依赖命令:pip install dnspython
import dns.resolver
import time
import csv
# 全局DNS解析配置,设置超时避免扫描阻塞
DNS_RESOLVER = dns.resolver.Resolver()
DNS_RESOLVER.timeout = 3
DNS_RESOLVER.lifetime = 5
# 定义检测结果存储表头
CSV_HEADER = [
"域名", "SPF记录存在", "SPF兜底策略", "DKIM公钥记录存在",
"DMARC记录存在", "DMARC处置策略", "MTA-STS记录存在", "风险等级"
]
# 风险分级规则定义
def get_risk_level(spf_all, dmarc_policy, mta_sts_exist):
risk = "高风险"
# 四项全部合规:低风险
if spf_all == "-all" and dmarc_policy == "reject" and mta_sts_exist:
risk = "低风险"
# SPF合规+DMARC隔离/拒绝,无MTA-STS:中风险
elif spf_all == "-all" and dmarc_policy in ["quarantine", "reject"]:
risk = "中风险"
# SPF宽松或DMARC仅监控:高风险
return risk
5.2 分模块 DNS 记录检测函数
5.2.1 SPF 记录检测函数
def check_spf(domain: str):
"""检测域名SPF记录,返回是否存在、兜底匹配符"""
spf_exist = False
spf_suffix = None
try:
txt_records = DNS_RESOLVER.resolve(domain, "TXT")
for record in txt_records:
record_text = str(record).strip()
if record_text.startswith("v=spf1"):
spf_exist = True
# 判断末尾兜底策略
if "-all" in record_text:
spf_suffix = "-all"
elif "~all" in record_text:
spf_suffix = "~all"
elif "+all" in record_text:
spf_suffix = "+all"
else:
spf_suffix = "无兜底规则"
break
except dns.resolver.NXDOMAIN:
pass
except Exception:
pass
return spf_exist, spf_suffix
5.2.2 DKIM 公钥记录检测函数
def check_dkim(domain: str, selector_list=None):
"""检测DKIM公钥记录,传入常用选择器批量探测"""
if selector_list is None:
# 政务、医疗系统通用DKIM选择器
selector_list = ["mail", "dkim", "email", "gov", "hospital"]
dkim_exist = False
for sel in selector_list:
dkim_domain = f"{sel}._domainkey.{domain}"
try:
records = DNS_RESOLVER.resolve(dkim_domain, "TXT")
for rec in records:
rec_text = str(rec)
if "v=DKIM1" in rec_text:
dkim_exist = True
break
except dns.resolver.NXDOMAIN:
continue
except Exception:
continue
if dkim_exist:
break
return dkim_exist
5.2.3 DMARC 策略检测函数
def check_dmarc(domain: str):
"""检测DMARC记录,提取p字段处置策略"""
dmarc_exist = False
dmarc_policy = None
dmarc_domain = f"_dmarc.{domain}"
try:
txt_records = DNS_RESOLVER.resolve(dmarc_domain, "TXT")
for record in txt_records:
rec_text = str(record).lower()
if "v=dmarc1" in rec_text:
dmarc_exist = True
if "p=reject" in rec_text:
dmarc_policy = "reject"
elif "p=quarantine" in rec_text:
dmarc_policy = "quarantine"
elif "p=none" in rec_text:
dmarc_policy = "none"
break
except dns.resolver.NXDOMAIN:
pass
except Exception:
pass
return dmarc_exist, dmarc_policy
5.2.4 MTA-STS 加密协议检测函数
python
运行
def check_mta_sts(domain: str):
"""检测MTA-STS TXT记录是否部署"""
mta_exist = False
mta_domain = f"_mta-sts.{domain}"
try:
records = DNS_RESOLVER.resolve(mta_domain, "TXT")
for rec in records:
rec_text = str(rec)
if rec_text.startswith("v=STSv1"):
mta_exist = True
break
except dns.resolver.NXDOMAIN:
pass
except Exception:
pass
return mta_exist
5.3 批量扫描主流程与结果导出
def batch_scan_domains(domain_list, output_csv="邮件安全检测报告.csv"):
"""批量扫描域名列表,输出CSV检测报告"""
result_rows = []
for dom in domain_list:
dom = dom.strip().lower()
print(f"正在检测域名:{dom}")
# 逐项检测四项协议
spf_flag, spf_rule = check_spf(dom)
dkim_flag = check_dkim(dom)
dmarc_flag, dmarc_p = check_dmarc(dom)
mta_flag = check_mta_sts(dom)
# 判定风险等级
risk_level = get_risk_level(spf_rule, dmarc_p, mta_flag)
# 组装单行结果
row = [
dom, spf_flag, spf_rule, dkim_flag,
dmarc_flag, dmarc_p, mta_flag, risk_level
]
result_rows.append(row)
time.sleep(0.3) # 限流,避免DNS查询频繁被拦截
# 写入CSV报告
with open(output_csv, "w", newline="", encoding="utf-8-sig") as f:
writer = csv.writer(f)
writer.writerow(CSV_HEADER)
writer.writerows(result_rows)
print(f"批量扫描完成,检测报告已输出至:{output_csv}")
return result_rows
if __name__ == "__main__":
# 仿真政企、医疗域名测试列表,可替换为机构全域域名清单
test_domains = [
"city-gov.cn", "hospital-med.com", "district-gov.cn",
"clinic-local.com", "finance-gov.cn", "tech-corp.com"
]
batch_scan_domains(test_domains)
5.4 工具仿真扫描结果分析
使用包含政务、医疗、科技三类域名的测试列表执行批量扫描,仿真结果复现行业调研核心结论:
政务类域名city-gov.cn、district-gov.cn仅配置 SPF 宽松~all策略,DMARC 为 p=none 监控模式,无 MTA-STS 记录,判定高风险,与调研政务行业平均得分垫底结论一致;
医疗机构域名hospital-med.com缺失 DKIM 与 MTA-STS 配置,SPF 无兜底拦截规则,风险等级高,匹配医疗行业 19% 域名无完整防护的调研数据;
科技企业tech-corp.com四项协议完整部署,SPF 为-all、DMARC 配置 reject、MTA-STS 正常启用,判定低风险,验证科技行业最优基线实践。
该检测工具可自动化完成全域域名基线普查,精准定位缺失协议、宽松策略等安全缺陷,为政企、医疗机构分阶段整改提供数据支撑,规避人工单域名查询效率低下、漏检多级子域名的问题。
6 面向政务与医疗机构的邮件安全闭环整改防护体系
结合四项邮件认证协议技术规范、行业调研暴露的落地短板、批量检测工具缺陷识别能力,本节构建四层递进式防护整改方案,区分短期快速补齐基线、中期策略升级、长期常态化管控三阶段实施路径,适配政务、医疗机构运维资源有限、业务连续性优先的实际场景。
6.1 第一层:DNS 域名层四项协议标准化补齐(短期 1-3 个月落地)
6.1.1 SPF 标准化配置整改
梳理全部合法邮件发送源:内部邮件服务器、政务统一邮件网关、医保 / 第三方合作机构发送域名,全部纳入 SPF 记录;
兜底规则统一替换为-all严格拦截模式,淘汰~all、+all宽松配置;
多级子域名同步复用主域名 SPF 记录,避免重复配置遗漏,减少 include 嵌套层级,防止 DNS 查询超限邮件投递失败;
使用批量检测工具每周扫描全域域名,识别缺失、配置错误的 SPF 记录。
6.1.2 DKIM 全域部署规范
所有业务域名、子域名统一生成独立 RSA 密钥对,选取通用选择器mail配置 DNS 公钥记录;
邮件发送服务器启用 DKIM 自动签名,所有出站政务公文、医疗医患邮件强制附加数字签名;
密钥设置 90 天轮换周期,同步更新 DNS 公钥记录,避免密钥泄露风险。
6.1.3 DMARC 分三阶段平滑升级策略
考虑政务、医疗机构担心直接切换 reject 策略导致正常合作邮件被误拦截,采用平滑过渡方案:
阶段 1(1 个月):配置 p=none 监控模式,开启 rua 攻击报告收集仿冒邮件样本,梳理合法外部发送源,补充至 SPF 记录;
阶段 2(2 个月):切换 p=quarantine 隔离模式,仿冒邮件移入隔离箱,每日人工复核隔离邮件,持续优化 SPF 授权清单;
阶段 3(3 个月):正式切换 p=reject 拒绝模式,从 SMTP 握手阶段直接拒收仿冒邮件,形成完整拦截能力。
6.1.4 MTA-STS 强制加密部署
所有域名新增_mta-sts TXT 记录,策略 mode 设置为 enforce,强制加密传输;
配套 tls-rpt 记录收集加密降级攻击日志,监控中间人劫持尝试;
邮件网关关闭明文 SMTP 端口 25,仅开放 465、587 加密端口,从传输层阻断明文传输漏洞。
6.2 第二层:邮件网关配套边界防护(中期 3-6 个月优化)
DNS 底层认证协议无法覆盖全部攻击场景,搭配邮件网关形成双层校验:
仿冒域名黑名单管控:将全网已知仿冒政务、医疗域名录入网关拦截清单,直接丢弃相关邮件;
场景化钓鱼语义检测:针对政务公文、医保对账、病历通知类钓鱼关键词、AI 生成文本设置专项告警规则;
外部邮件强标记:所有外部来源邮件头部增加醒目警示横幅,区分内部官方邮件;
附件沙箱查杀:所有 Office 文档、压缩包、可执行附件自动送入隔离沙箱运行,拦截木马恶意文件。
6.3 第三层:终端与账号身份安全管控(长期常态化运营)
邮箱全员启用多因素认证 MFA,即使钓鱼泄露账号密码,攻击者无法登录邮箱;
禁用邮件客户端自动打开外部链接、自动加载远程图片,阻断链接类钓鱼诱导;
终端部署安全软件,拦截仿冒邮件内钓鱼页面访问,同步识别页面内嵌验证码钓鱼伪装;
定期运行批量域名检测工具,输出安全基线报告,纳入网络安全月度考核。
6.4 第四层:人员常态化安全培训与应急处置机制
反网络钓鱼技术专家芦笛强调,底层 DNS 协议防护与人员培训属于互补关系,不可相互替代,完整防护体系二者缺一不可:
行业专项钓鱼模拟演练:针对政务公文、医保通知定制仿冒钓鱼邮件,定期全员推送测试,统计点击泄露风险;
分层岗位培训:财务、医保、涉密行政岗重点培训资金类钓鱼识别,医护人员聚焦病历附件类攻击识别;
建立邮件安全应急处置流程:员工收到可疑邮件第一时间上报运维,运维通过批量检测工具核查发件域名 SPF/DMARC 基线,快速判定是否为仿冒钓鱼邮件;
定期通报域名仿冒攻击案例,同步公示基线缺陷整改完成情况,提升全员对 DNS 底层防护的认知。
7 结论与研究展望
7.1 全文核心研究结论
本文以 2026 年 Comparitech 覆盖 13 行业近 6000 个域名邮件安全评估调研数据为核心支撑,系统拆解 SPF、DKIM、DMARC、MTA-STS 四项邮件认证协议协同防护逻辑,聚焦政务、医疗机构部署短板与钓鱼攻击风险,配套开源批量域名检测工具,构建分层闭环整改防护体系,得出四项客观研究结论:
国内政企、医疗机构邮件 DNS 底层安全基线存在大面积缺失,政务域名防护水平垫底,27% 域名无任何认证配置,医疗行业 19% 域名空白;超六成部署 DMARC 的机构仅启用监控模式无实际拦截效果,MTA-STS 加密传输协议整体部署率仅 3%,域名仿冒钓鱼攻击底层防护近乎失效;
SPF、DKIM、DMARC、MTA-STS 四项协议具备不可替代的协同防护价值,单一协议或宽松策略无法阻断域名仿冒攻击,仅完整部署并配置 DMARC reject 拦截策略、开启 MTA-STS 强制加密,才能形成邮件全链路防护闭环;
政务、医疗机构防护薄弱由运维人力不足、DNS 变更流程繁琐、业务连续性顾虑、安全认知偏差多重因素共同导致,不能仅依靠员工钓鱼培训完成防护,必须补齐域名层底层 DNS 配置短板;
本文开发的批量域名安全检测 Python 工具可自动化完成全域域名基线普查,精准识别协议缺失、宽松策略等高风险缺陷,为政企、医疗机构自查、等保测评、分阶段整改提供轻量化可复用技术手段,配合四层递进式整改方案可系统性消除邮件钓鱼底层漏洞。
反网络钓鱼技术专家芦笛总结,当前大量政务、医疗机构存在安全认知错位,将邮件安全工作重心放在终端杀毒、人员警示教育,忽视 DNS 域名认证这一源头拦截屏障,AI 驱动的高精度仿冒钓鱼邮件可轻易绕过人工识别,只有同步落地四项标准化邮件认证协议,搭配网关、终端、人员多层管控,才能构建完整的邮件钓鱼防御体系,降低政务数据泄露、患者隐私外泄、财政资金诈骗的重大安全风险。
7.2 研究存在的局限
本文研究存在两处可进一步拓展的局限:第一,批量检测工具仅完成 DNS 记录存在性与策略判定,未集成邮件样本仿真投递校验,无法验证协议实际拦截效果;第二,行业分析仅依托公开跨行业统计数据,未搭建本地政务、医疗机构千级域名实测样本库,后续可补充本地大规模域名扫描数据完善风险量化分析。
7.3 后续拓展研究方向
基于现有研究成果,后续可从三个维度深化延伸研究:
融合 DKIM 选择器自动枚举、邮件仿真投递功能,升级批量检测工具,实现 “记录检测 + 实邮拦截验证” 一体化扫描;
针对多级政务子域名、连锁医疗机构多分支机构域名,研究全域 DNS 基线自动化批量推送管控平台,降低运维变更工作量;
结合 AI 钓鱼邮件生成技术,开展对比测试,量化四项邮件认证协议完整部署前后钓鱼邮件拦截率提升幅度,形成量化安全收益评估模型。
编辑:芦笛(公共互联网反网络钓鱼工作组)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。