跳至主要内容

缓解 RADIUS 漏洞:安全加固指南

本指南为负责酒店、零售、活动和公共部门环境的企业 WiFi 基础设施的 IT 经理、网络架构师和 CTO 提供全面且具有可操作性的参考。它涵盖了 RADIUS 服务器部署的整个攻击面 - 从 MD5 碰撞漏洞和弱共享密钥到未加密的 UDP 传输以及错误配置的 EAP 方法 - 并提供了与 IEEE 802.1X、PCI DSS 和 GDPR 要求相一致的优先加固路线图。实施这些建议的组织将能切实减少其在基于凭据的网络攻击中的暴露,满足合规性义务,并为其访客和企业 WiFi 基础设施构建可防御的安全态势。

📖 12 分钟阅读📝 2,764 🔧 2 应用实例3 练习题📚 10 关键定义

收听本指南

查看播客转录
缓解 RADIUS 漏洞:安全加固指南 Purple WiFi 深度分析简报 [引言 — 约 1 分钟] 欢迎。我是今天简报的主持人。在接下来的十分钟里,我们将直奔主题,深入探讨一个让许多网络架构师和 IT 经理夜不能寐的问题:RADIUS 服务器安全。如果您在酒店、零售连锁店、体育场或公共部门建筑中运行企业 WiFi,您的 RADIUS 基础设施就是您安全态势中最关键、但也最容易被忽视的组件之一。让我们开始吧。 [背景 — 约 1 分钟] RADIUS(远程用户拨号认证服务)自上世纪 90 年代中期以来一直是网络准入控制的支柱。它是介于您的接入点和身份目录之间的协议,决定了谁可以接入网络,谁不能。支撑几乎所有企业 WiFi 和有线认证部署的 IEEE 802.1X,都依赖 RADIUS 才能运行。 问题在于,RADIUS 的设计时代与现在的威胁态势大相径庭。该协议使用 UDP,这是无连接的,因此更难保证安全。它的核心认证机制在历史上一直依赖 MD5 哈希 - 一种自 2004 年以来就被证明已遭破解的加密算法。而且,用于将您的接入点认证到 RADIUS 服务器的共享密钥(预共享密钥),通常是在设置一次后就再也没有轮换过。 2024 年,研究人员公布了一项针对 RADIUS 的实际攻击,称为 BlastRADIUS - 一种利用 MD5 漏洞伪造认证响应的中间人攻击。这并不是理论上的,而是一个真实的、已被记录的攻击向量,会影响运行未打补丁的 FreeRADIUS、Cisco ISE 和 Microsoft NPS 的部署。如果您自 2024 年中期以来没有打过补丁,那么您就已经暴露在风险之中。 这其中关系到的商业利益非常重大。RADIUS 服务器受损不仅意味着未授权的 WiFi 接入,还意味着攻击者可以伪装成您网络上的任何用户进行认证,绕过网络隔离,并可能访问支付系统、患者记录或运营技术。对于处理卡片支付的零售环境,这直接违反了 PCI-DSS 规定。对于医疗保健行业,这是一个 GDPR 和临床治理问题。对于酒店业,这会损害品牌形象并可能面临监管罚款。 [技术深挖 — 约 5 分钟] 让我们系统地梳理一下攻击面。 第一类漏洞是 MD5 碰撞风险。RADIUS 使用 MD5 来保护 User-Password 属性并生成 Response Authenticator 字段。MD5 会产生 128 位的哈希值,而碰撞攻击 - 即两个不同的输入产生相同的哈希值 - 自 2004 年以来就已可行。BlastRADIUS 攻击专门利用了 Access-Request 数据包缺乏完整性保护这一漏洞。位于您的 NAS 设备(即网络接入服务器,通常是您的接入点或交换机)与 RADIUS 服务器之间的攻击者可以在数据包中注入精心设计的属性,并强制服务器返回 Access-Accept,即使凭据无效也是如此。此处的修复方法是双重的:将您的 RADIUS 服务器修补到最新版本,并在所有 Access-Request 数据包上强制执行 Message-Authenticator。FreeRADIUS 3.2.5 及更高版本默认要求这样做。 第二类漏洞是弱共享密钥或静态共享密钥。共享密钥是 NAS 与 RADIUS 服务器之间的预共享密钥。如果它很短、易受字典攻击,或者多年未更换,那么它就是一个隐患。RADIUS 使用此密钥来加密 User-Password 属性并生成 Response Authenticator。弱共享密钥意味着,捕获 RADIUS 流量(这在他们已部分入侵的网络上轻而易举)的攻击者可以离线暴力破解密码。最佳做法是至少 32 个字符,随机生成,并至少每年更换一次。请自动执行此轮换;在大型资产中手动执行很容易出错。 第三类漏洞是未加密的传输。标准 RADIUS 在 UDP 端口 1812 上运行以进行身份验证,在端口 1813 上运行以进行计费。UDP 不提供传输层加密、完整性检查,也不提供 RADIUS 自身实现之外的重放保护 - 正如我们所确立的那样,这是不够的。RadSec(在 RFC 6614 中正式定义)将 RADIUS 封装在 TCP 端口 2083 上的 TLS 1.2 或 1.3 中。这通过证书提供了双向身份验证、RADIUS 负载的完整加密以及重放保护。如果您在任何不可信的网络段上运行 RADIUS - 包括远程场馆与中央 RADIUS 服务器之间的 WAN 链路 - RadSec 不是可选的。这是一项硬性要求。 第四种漏洞类型是 EAP 方法的选择。并非所有的 EAP 方法都是同等安全的。EAP-MD5 应该被视为已废弃 - 它不提供双向身份验证,也不对身份验证交换进行加密。PEAP 和 EAP-TTLS 对于大多数企业部署来说是可以接受的,因为它们在传输凭证之前会建立 TLS 隧道,并且支持通过服务器证书进行双向身份验证。EAP-TLS 是黄金标准:它要求服务器和客户端都提供证书,从而在身份验证交换中完全消除了密码。这使其免受凭据钓鱼和暴力破解攻击。部署 PKI 来颁发客户端证书的运营开销是切实存在的,但对于高安全性环境 - 医疗保健网络、支付处理区域、零售后台系统 - 它是正确的选择。 第五种漏洞类型是日志记录和监控不足。RADIUS 计费数据是威胁检测的金矿,而大多数组织并没有利用它。每次身份验证尝试,无论成功还是失败,都会生成一条计费记录。失败的身份验证模式、来自异常 MAC 地址的身份验证或在异常时间的身份验证都是受损的指标。将您的 RADIUS 计费流集成到您的 SIEM 中。设置针对 60 秒内来自单个 MAC 地址超过 5 次失败身份验证的告警。监控 Access-Reject 风暴,这可能表明正在发生凭据填充攻击。 [实施建议与陷阱 — 约 2 分钟] 让我为您提供一个加固项目的实际顺序。 首先从打补丁开始。这是不可商榷的,应在您的下一个变更窗口内完成。FreeRADIUS、Cisco ISE 和 Microsoft NPS 均已于 2024 年 7 月发布了针对 BlastRADIUS 的补丁。检查您的版本,应用补丁,并验证 Message-Authenticator 强制执行是否处于活动状态。 其次,审计您的共享密钥。拉取注册到您的 RADIUS 服务器的每个 NAS 设备的列表。对于每一个设备,检查共享密钥的长度和有效期。任何少于 20 个字符或超过两年的密钥都应立即轮换。使用密码管理器或密钥保险库(HashiCorp Vault 在此非常适用)来以编程方式存储和轮换这些密钥。 第三,评估您的 EAP 方法。如果您在任何地方运行 EAP-MD5,请立即停用并迁移。对于大多数企业环境而言,PEAP-MSCHAPv2 是一个合理的过渡方案。如果您拥有 PKI 基础设施,EAP-TLS 是最终的目标状态。 第四,对任何穿过不可信网络段的 RADIUS 流量实施 RadSec。这对于多站点部署尤为重要,因为在这种部署中,中央 RADIUS 服务器通过互联网或共享 WAN 为远程场馆提供服务。 第五,为对 RADIUS 服务器本身特权访问启用多因素身份验证。服务器的管理界面是一个高价值的目标。对所有管理员登录强制执行 MFA,并将管理访问限制在专用的带外管理网络中。 现在来看看一些坑。我看到的最常见错误是企业修补了 RADIUS 服务器,但将 NAS 设备留在不支持 Message-Authenticator 的旧固件上。只有当两端都强制执行时,补丁才会生效。作为同一项目的一部分,审计您的接入点和交换机固件。 第二个常见陷阱是证书过期。如果您运行的是 EAP-TLS 或 RadSec,就会涉及证书。悄无声息过期的 RADIUS 服务器证书将导致网络上的每一次身份验证同时失败。将证书过期监控构建到您的操作手册中。在过期前 90 天、30 天和 7 天设置警报。 第三个陷阱是过度依赖网络分段作为补偿控制。分段固然重要,但它无法防御已经通过受损 RADIUS 服务器进行身份验证的攻击者。深度防御意味着您既需要 RADIUS 加固,也需要分段。 [快速问答 - 约 1 分钟] 问:如果我的 RADIUS 服务器与我的接入点在同一个区域网(LAN)上,我还需要 RadSec 吗? 答:如果它们位于同一个受信任、已分段且没有不受信任设备的管理 VLAN 上,则 NAS 到服务器这一段使用基于 UDP 的标准 RADIUS 是可以接受的。但如果受损设备有可能横向移动到该 VLAN,RadSec 将以极低的成本提供有意义的保护。 问:我们正在运行 Microsoft NPS。我们受 BlastRADIUS 影响吗? 答:是的。微软在 2024 年 7 月发布了一个补丁。请应用它。同时在您的 NPS 服务器上强制执行 RequireMessageAuthenticator 注册表项。 问:如何处理访客 WiFi?访客没有证书。 答:访客 WiFi 通常使用 Captive Portal 模式,而不是 802.1X,因此 RADIUS 的使用方式不同 - 通常仅用于 MAC 身份验证绕过或计费。同样的补丁和共享密钥安全机制依然适用,但 EAP-TLS 与未授权的访客访问无关。重点是将访客 RADIUS 实例与您的企业 RADIUS 基础设施隔离开来。 问:全面迁移到 EAP-TLS 的投资回报率(ROI)情况如何? 答:根据您的泄露风险对其进行量化。一次 PCI-DSS 泄露造成的罚款、补救和声誉损失平均达 400 万英镑。而为拥有 500 台设备的资产部署 PKI,在工具和专业服务方面的成本大约为 15,000 到 30,000 英镑。这笔账很容易算清。 [总结和后续步骤 - 约 1 分钟] 让我为您留下本季度要做的一下五件事。 第一:针对 BlastRADIUS,修补您的 RADIUS 服务器和所有 NAS 设备。先做这件事。 第二:审计并轮换所有共享密钥。在未来实现轮换自动化。 第三:在所有 Access-Request 数据包上强制执行 Message-Authenticator。 第四:针对跨越非受信网络边界的任何 RADIUS 流量实施 RadSec。 第五:将 RADIUS 计费日志集成到您的 SIEM 中并设置异常告警。 RADIUS 安全虽然并不引人瞩目,但它是基石。做好这五件事,您就封闭了针对网络准入控制基础设施的最主要攻击途径。 感谢您的收听。欲了解更多关于企业级 WiFi 安全架构的信息,请访问 purple.ai。以上是本次 Purple WiFi 简报。

header_image.png

执行摘要

RADIUS (Remote Authentication Dial-In User Service) 仍然是企业 WiFi 部署中网络准入控制的主要协议,支持酒店、零售场所、体育场馆、会议中心和公共部门建筑的 802.1X 认证。然而,RADIUS 的架构可以追溯到 20 世纪 90 年代,其若干基础设计决策 - 依赖 MD5 哈希、无原生加密的 UDP 传输以及静态共享密钥 - 在当前威胁环境中已成为重大风险。

在 2024 年 7 月,BlastRADIUS 漏洞 (CVE-2024-3596) 表明,中间人攻击者可以通过利用 Access-Request 数据包中的 MD5 完整性漏洞,伪造 RADIUS Access-Accept 响应。该漏洞影响所有主要的 RADIUS 实现,包括 FreeRADIUS、Cisco ISE 和 Microsoft NPS。未打补丁的部署仍处于风险中。

本指南提供了一个优先的加固路线图,涵盖补丁管理、共享密钥卫生、EAP 方法选择、RadSec 部署、用于管理访问的多因素认证以及用于异常检测的 SIEM 集成。它是为需要在本季度(而非明年)做出可靠决策的 IT 专业人员编写的。

radius_architecture_overview.png

技术深度剖析

RADIUS 如何工作以及其薄弱环节

RADIUS 在网络接入服务器 (NAS) - 通常是 WiFi 接入点、交换机或 VPN 集中器 - 与 RADIUS 服务器之间作为客户端 - 服务器协议运行,RADIUS 服务器根据后端身份存储(如 Active Directory 或 LDAP)验证凭证。认证交换遵循 RFC 2865 中定义的请求 - 挑战 - 响应模型,计费则在 RFC 2866 下单独处理。

该协议通过 UDP 传输认证数据包,使用端口 1812 进行认证,端口 1813 进行计费。共享密钥 - 在 NAS 和 RADIUS 服务器上配置的预共享密钥 - 用于生成 Response Authenticator 字段,并通过基于 MD5 的 XOR 密码加密 User-Password 属性。这在任何现代意义上都不是加密;这完全取决于共享密钥的保密性和强度的混淆。

典型 RADIUS 部署中的五个主要漏洞类别如下。

MD5 碰撞和完整性漏洞。 BlastRADIUS 攻击 (CVE-2024-3596) 利用了 Access-Request 数据包缺乏完整性保护这一漏洞。由于许多配置默认不包含来自 NAS 的 Message-Authenticator 属性,处于中间人位置的攻击者可以在数据包到达 RADIUS 服务器之前注入精心构造的属性。利用 MD5 选择前缀碰撞技术,攻击者可以操纵数据包,使 RADIUS 服务器为修改后的数据包计算出有效的 Response Authenticator,从而对本应被拒绝的请求返回 Access-Accept。补救措施是在所有 Access-Request 数据包上强制执行 Message-Authenticator 属性,这可在整个数据包上提供 HMAC-MD5 完整性保护。这需要在 NAS 和 RADIUS 服务器上都进行配置更改,而不仅仅是服务器补丁。

弱或静态共享密钥。 共享密钥是 RADIUS 交换的加密锚点。如果密钥很短、可预测或从未轮换,捕获 RADIUS 流量的攻击者 (通过 ARP 欺骗或受损的网络设备即可实现) 就可以离线暴力破解 User-Password 属性。NIST SP 800-63B 关于记住的密钥指南在此处适用:密钥应至少为 20 个字符、随机生成,并存储在密钥管理系统中。对于拥有数十或数百万台 NAS 设备的大型网络,手动轮换在操作上是不可行的;通过 HashiCorp Vault 或类似的密钥管理器进行自动化才是正确的方法。

未加密的 UDP 传输。 基于 UDP 的标准 RADIUS 不提供传输层机密性。User-Password 属性被混淆但未加密。其他所有属性 - 包括用户名、NAS IP 和会话元数据 - 都以明文形式传输。RadSec (RADIUS over TLS) 在 RFC 6614 中定义并在 RFC 7360 中更新,它通过在 TCP 端口 2083 上的 TLS 隧道中包装 RADIUS 协议,建立 TLS 1.2 或 TLS 1.3 会话来解决此问题。RadSec 在 NAS 和 RADIUS 服务器之间提供双向证书认证、全载荷加密和防重放保护。它是任何跨越非受信网络边界的 RADIUS 流量的正确传输方式。

EAP 方法选择。 可扩展身份验证协议 (EAP) 定义了在 802.1X 框架内使用的内部身份验证方法。EAP-MD5 已弃用,应立即从所有部署中移除 - 它不提供双向认证,也不提供对凭据收集攻击的抵御能力。PEAP (Protected EAP) 和 EAP-TTLS 在传输凭据之前使用服务器证书建立 TLS 隧道,提供双向认证并保护内部方法免受窃听。EAP-TLS 完全消除了密码,要求在服务器和客户端上都使用 X.509 证书。它对网络钓鱼和暴力破解攻击具有免疫力,是高安全环境的推荐方法。 日志记录和监控不足。 RADIUS 计费记录了每一次认证事件 - 成功、失败、会话开始、会话结束。这些数据在运营上对于容量规划非常宝贵,在商业上对于 WiFi Analytics 也极具价值,同时它也是安全遥测的关键来源。失败认证风暴、来自未知 MAC 地址的认证以及非工作时间访问模式,都可以从 RADIUS 计费日志中检测出来。大多数组织并未将这些数据引入 SIEM,而引入了这些数据的组织也极少配置任何告警阈值。

eap_comparison_chart.png

BlastRADIUS 攻击细节

BlastRADIUS 于 2024 年 7 月由波士顿大学和加州大学圣地亚哥分校的研究人员披露。该攻击需要在 NAS 和 RADIUS 服务器之间处于中间人位置 - 可通过共享网络段上的 ARP 欺骗、受损的路由器或具有网络访问权限的恶意内部人员来实现。

攻击过程如下:攻击者拦截来自 NAS 的 Access-Request 数据包。由于该数据包缺少 Message-Authenticator 属性(许多配置中的默认设置),攻击者可以自由修改该数据包的属性列表。利用 MD5 选择前缀冲突,攻击者构建了一个修改后的数据包,RADIUS 服务器将为其计算与原始数据包相同的 Response Authenticator。因此,服务器针对包含攻击者控制的属性的请求返回 Access-Accept - 其中包括授权完全网络访问的 Administrative Service-Type。

该攻击对使用 MSCHAPv2 作为内部方法的 PEAP 和 EAP-TTLS 部署有效。它不影响 EAP-TLS 部署,因为基于证书的双向认证提供了 MD5 无法破坏的完整性保护。

对于同时运行 Guest WiFi 和企业级 802.1X 的组织,访客网络的 RADIUS 实例也必须进行补丁修复,即使它使用的是 MAC Authentication Bypass 而不是 EAP。共享密钥安全规范和 Message-Authenticator 要求同样适用。

实施指南

阶段 1:立即补救(第 1 - 2 周)

补丁修复是第一步。FreeRADIUS 3.2.5 和 3.0.27 包含了 BlastRADIUS 修复程序,并默认强制执行 Message-Authenticator。Cisco ISE 3.1 Patch 8、3.2 Patch 4 和 3.3 Patch 1 解决了该漏洞。Microsoft 于 2024 年 7 月发布了针对 Windows Server 2022 NPS 的 KB5040434。请验证您当前的版本,并在下一个计划的变更窗口内应用这些补丁。

同时,审计您的 NAS 设备固件。只有当 NAS 也发送该属性时,Message-Authenticator 强制执行才会生效。检查您的接入点和交换机供应商公告 - Aruba、Ruckus、Cisco 和 Juniper 均已针对 BlastRADIUS 发布了固件更新。如果您正在运行 Ruckus 硬件, wireless access point Ruckus guide 提供了相关的固件管理背景信息。

关于解决打补丁后可能出现的 troubleshooting Windows 11 802.1X authentication issues ,最常见的原因是 NPS 服务器拒绝不包含 Message-Authenticator 的客户端连接 - 这是正确的安全行为,可能需要对较旧的 Windows 客户端进行 supplicant 重新配置。

第 2 阶段:共享密钥卫生(第 2 - 4 周)

导出注册在 RADIUS 服务器上的完整 NAS 客户端列表。记录每个条目的共享密钥长度以及上次更改的日期。任何低于 20 个字符或超过 24 个月未更改的密钥都应立即轮换。

对于新密钥,请使用密码学随机生成器 - openssl rand -base64 32 可生成一个 44 字符的 base64 字符串,非常适合用作 RADIUS 共享密钥。将所有密钥存储在密钥管理系统中。实施轮换计划:低风险 NAS 设备每年轮换一次,处于 PCI DSS 范围内的 NAS 设备每六个月轮换一次。

第 3 阶段:EAP 方法合理化(第 1 - 2 个月)

审计您的 RADIUS 服务器允许的 EAP 方法。禁用 EAP-MD5。如果您正在运行 PEAP-MSCHAPv2,请验证所有 supplicant 是否都强制执行服务器证书验证 - 接受任何服务器证书的配置错误的 supplicant 容易受到流氓 RADIUS 服务器攻击。对于处于 PCI DSS 范围内的环境,推荐使用 EAP-TLS。如果您目前没有现成的证书基础设施,请开始 PKI 规划。

对于 securing guest WiFi networks ,请注意访客网络通常使用 Captive Portal 认证而非 802.1X,因此 EAP 方法加固主要适用于企业和员工 SSID。

第 4 阶段:RadSec 部署(第 2 - 3 个月)

识别跨越不信任网络边界的每个 RADIUS 流量路径。常见场景包括通过互联网为远程酒店提供服务的中央 RADIUS 服务器;连接到云 RADIUS 服务的本地 NAS 设备;以及流量穿过多个网络域的 RADIUS 代理链。

针对每个识别出的路径配置 RadSec。在 FreeRADIUS 上,这意味着启用端口 2083 上的 tls 监听器,并使用来自您 PKI 的证书配置双向 TLS。在 Cisco ISE 上,RadSec 在 Administration > Network Devices 下进行配置。确保至少使用 TLS 1.2;明确禁用 TLS 1.0 和 1.1。

第 5 阶段:管理访问的多因素身份验证(第 2 - 3 个月)

RADIUS 服务器的管理界面是一个高价值的目标。攻击者如果攻破 RADIUS 服务器,就可以修改身份验证策略、提取共享密钥并重定向身份验证流量。对所有 RADIUS 服务器及其底层操作系统的管理员登录强制执行 MFA。将管理访问限制在专用的带外管理 VLAN。实施基于角色的访问控制:网络工程师不应拥有与安全管理员相同的权限。

阶段 6:SIEM 集成与告警(第 3 - 4 个月)

配置您的 RADIUS 服务器,将计费日志实时转发到您的 SIEM。定义以下基线告警阈值:

告警 阈值 严重级别
单个 MAC 地址多次身份验证失败 60 秒内 >5 次
访问拒绝(Access-Reject)率激增 超过 7 天基线的 200%
企业 SSID 上来自新 MAC 地址的身份验证 首次出现
RADIUS 服务器证书即将过期 90 / 30 / 7 天 高 / 紧急 / 紧急
共享密钥不匹配错误 任何一次出现

最佳实践

以下建议综合了 IEEE 802.1X、NIST SP 800-63B、PCI-DSS v4.0 以及厂商安全公告的共识。

证书管理。 任何使用 EAP-TLS 或 RadSec 的部署在其身份验证路径中都有 X.509 证书。在企业 WiFi 部署中,证书过期是导致突然、完全身份验证失败的最常见单一原因。实施自动化的证书生命周期管理。在过期前 90、30 和 7 天设置监控告警。对于 RADIUS 服务器证书,请使用至少 2048 位 RSA 或 256 位 ECDSA 密钥,以及 SHA-256 或更强的签名算法。请勿使用 SHA-1。

网络分段。 RADIUS 服务器应位于专用的管理网段,与访客和常规企业网络隔离。应通过防火墙 ACL 将对 RADIUS 端口(RadSec 的 UDP 1812、1813 和 TCP 2083)的访问限制在已注册 NAS 设备的特定 IP 地址。不允许从互联网直接访问 RADIUS 端口。

冗余和高可用性。 单个 RADIUS 服务器是您整个网络访问控制基础设施的单点故障。以主备(active-passive)或双活(active-active)配置部署至少两个 RADIUS 服务器。对于有 24/7 访客连接需求的 酒店 部署,RADIUS 服务器停机将直接转化为访客 WiFi 停机 - 这是一种声誉和商业风险。WPA3 和 802.1X。 WPA3-Enterprise 采用 192 位安全模式,是政府和高安全性部署的必备要求,其强制使用 AES-256-GCMP 进行数据加密,并使用 HMAC-SHA-384 进行身份验证。对于大多数企业部署而言,WPA3-Enterprise 结合标准 128 位安全保护,相较于 WPA2-Enterprise 已经有了显著的提升,尤其是在与 EAP-TLS 结合使用时。处理卡片支付的 零售 环境应将采用 WPA3-Enterprise 视为一项降低 PCI-DSS 风险的措施。

厂商补丁节奏。 订阅来自您的 RADIUS 服务器厂商和 NAS 设备厂商的安全公告。FreeRADIUS、Cisco、Microsoft、Aruba 和 Ruckus 都会发布 CVE 通知。将这些信息输入到您的漏洞管理程序中,并定义明确的 SLA:严重漏洞 (CVSS ≥ 9.0) 在 72 小时内修复;高危漏洞 (CVSS 7.0 - 8.9) 在 14 天内修复。

故障排查与风险缓解

常见故障模式

打补丁后身份验证失败。 在应用 BlastRADIUS 补丁后,如果某些 NAS 设备的固件不支持 Message-Authenticator,可能会导致身份验证失败。症状:Access-Reject 响应突然增加,而用户凭据没有发生变化。诊断:启用 RADIUS 调试日志,并检查是否存在 "Message-Authenticator required but not present"(需要 Message-Authenticator 但不存在)的错误。解决方法:更新 NAS 固件,或作为临时措施,在计划固件更新期间,将 RADIUS 服务器配置为接受来自特定 NAS IP 且不带 Message-Authenticator 的请求。

EAP-TLS 中的证书验证失败。 症状:客户端收到 "authentication failed"(身份验证失败)提示,但 RADIUS 日志中没有相应的 Access-Reject。诊断:检查 RADIUS 服务器的证书链 - 颁发 CA 是否受客户端请求者信任?服务器证书是否在有效期内?解决方法:确保在 RADIUS 服务器上配置了完整的证书链(叶证书 + 中间证书 + 根证书)。通过 MDM 或组策略将根 CA 证书推送到客户端设备。

RadSec TLS 握手失败。 症状:配置更改后,NAS 设备无法建立 RadSec 连接。诊断:检查 TLS 版本兼容性 - 较旧的 NAS 固件可能不支持 TLS 1.2。检查双向证书验证 - 双方必须信任彼此的 CA。解决方法:在 NAS 固件发布说明中验证 TLS 版本支持情况;确保 NAS 设备证书由 RADIUS 服务器信任的同一 CA 颁发。

共享密钥不匹配。 症状:来自某一特定 NAS 的每次身份验证都失败,并出现 "invalid authenticator"(无效验证器)错误。诊断:NAS 配置与 RADIUS 服务器的客户端条目之间的共享密钥不匹配。解决方法:在两端重新输入共享密钥,检查是否存在尾随空格或字符编码问题。从您的密钥管理器中复制并粘贴,以避免誊录错误。

风险登记表

风险 可能性 影响 缓解控制措施
BlastRADIUS 漏洞利用 高(若未修补) 严重 修补程序 + 强制执行 Message-Authenticator
共享密钥暴力破解 32 位随机字符密钥,每年轮换
恶意 RADIUS 服务器 EAP-TLS 双向身份验证,证书绑定
RADIUS 服务器证书过期 严重 自动监控,提前 90 天告警
通过 802.1X 的凭据填充攻击 账户锁定策略,SIEM 告警
RADIUS 服务器入侵 严重 管理员访问 MFA,网络隔离

投资回报率(ROI)与业务影响

量化风险

在考量数据泄露成本时,RADIUS 加固的经济合理性最为清晰。2024 年英国数据泄露的平均成本为 358 万英镑,其中包括监管罚款、补救措施、法律费用和声誉损失。对于在 PCI-DSS 范围内的组织 - 实际上包括每一个通过 WiFi 接受刷卡支付的 RetailHospitality 运营商 - 暴露持卡人数据的网络访问控制泄露将引发强制性取证调查、潜在的卡计划罚款以及可能暂停刷卡处理权限。

对于 Healthcare 组织,通过受损的 RADIUS 服务器访问患者数据而导致违反 GDPR,根据第 83(5) 条规定,将面临最高达全球年营业额 4% 的罚款。ICO 的执法记录表明,网络安全漏洞被视为疏忽,而非技术上的不幸。

实施成本基准

以下成本估算基于拥有 500 台设备的网络:

加固活动 估算成本 时间线
修补程序(FreeRADIUS / NPS / ISE) 仅限内部人工 1 - 2 周
共享密钥审计和轮换 内部人工 + 密钥管理器许可证(约 2,000 英镑/年) 2 - 4 周
EAP-TLS PKI 部署 15,000 - 30,000 英镑(工具 + 专业服务) 2 - 3 个月
RadSec 实施 内部人工 + 证书成本(约 1,500 英镑) 4 - 6 周
SIEM 集成与告警 取决于现有 SIEM;0 - 10,000 英镑 4 - 8 周

中型企业的总加固投资约为 20,000 - 45,000 英镑。相比 358 万英镑的泄露成本基准,即使在保守的泄露概率假设下,经风险调整后的 ROI 仍然非常引人瞩目。

安全之外的运营效益

加固后的 RADIUS 基础设施还能带来运营红利。可靠、监控良好的身份验证可减少与 WiFi 连接相关的服务台工单。当 RADIUS 计费数据与 WiFi Analytics 集成时,可提供有关网络使用模式、停留时间和设备类型的会话级可视化 - 这些数据对于 HospitalityTransport 环境中的场所运营商具有直接的商业价值。

对于公共部门和 医疗保健 组织,一份记录在案的 RADIUS 加固计划为 Cyber Essentials Plus、ISO 27001 和 NHS DSPT 评估提供了技术控制证据 - 从而减少了审计工作量,并向监管机构展示了尽职调查。

关键定义

RADIUS (Remote Authentication Dial-In User Service)

A 客户端 - 服务器协议,定义在 RFC 2865 中,为网络访问提供集中式认证、授权和记账 (AAA)。RADIUS 服务器根据 Active Directory 或 LDAP 等后端身份源验证网络设备 (NAS) 提交的凭据。

IT 团队会遇到 RADIUS 作为 802.1X WiFi、有线端口认证、VPN 访问和网络设备管理的认证后端。它是决定谁可以进入网络的协议。

IEEE 802.1X

用于基于端口的网络访问控制的 IEEE 标准,定义了局域网上的 EAP (EAPOL) 封装。它为有线和无线网络提供认证框架,要求设备在获得网络访问权限之前进行认证。

802.1X 是使企业 WiFi 认证正常工作的标准。当员工连接到企业 SSID 并被提示输入凭据时,802.1X 是编排该交换的框架,并以 RADIUS 作为后端。

EAP-TLS (可扩展身份验证协议 - 传输层安全)

一种使用 X.509 证书在客户端与 RADIUS 服务器之间进行双向身份验证的 EAP 方法。双方都必须出示有效的证书,从而完全从身份验证交互中消除了密码。

EAP-TLS 是企业级 WiFi 身份验证的金标准。它对凭证钓鱼和暴力破解攻击具有免疫力。其运行要求是配备 PKI 基础设施以发布和管理客户端证书。

RadSec (基于 TLS 的 RADIUS)

RFC 6614 中定义的一种协议,它在 TCP 端口 2083 上的 TLS 会话中封装 RADIUS 数据包。它为 RADIUS 流量提供传输层加密、双向证书身份验证和重放保护。

任何跨越不可信网络边界(如 WAN 链路、互联网连接或共享网络基础设施)的 RADIUS 流量都需要 RadSec。它是多站点部署中替代基于 UDP 的标准 RADIUS 的正确选择。

BlastRADIUS (CVE-2024-3596)

2024 年 7 月披露的一种中间人攻击,它利用了 RADIUS Access-Request 数据包缺乏完整性保护的漏洞。通过使用 MD5 选择前缀冲突技术,攻击者可以伪造 Access-Accept 响应,从而向未经验证的用户授予网络访问权限。

BlastRADIUS 影响所有主流 RADIUS 实现,包括 FreeRADIUS、Cisco ISE 和 Microsoft NPS。未应用 2024 年 7 月发布的补丁的组织仍暴露在此攻击威胁下。

Message-Authenticator

一种 RADIUS 属性(属性 80),为整个 RADIUS 数据包提供 HMAC-MD5 完整性保护。当存在于 Access-Request 中时,它可以防止 BlastRADIUS 中使用的数据包篡改攻击。

在所有 Access-Request 数据包上强制执行 Message-Authenticator 是防御 BlastRADIUS 的主要补救措施。它必须同时在 RADIUS 服务器(要求该属性)和 NAS 设备(在请求中包含该属性)上进行配置。

NAS (网络接入服务器)

在 RADIUS 术语中,NAS 是网络设备(通常是 WiFi 接入点、交换机或 VPN 集中器),充当 RADIUS 客户端。它拦截来自终端设备的连接请求,并将身份验证请求转发给 RADIUS 服务器。

在部署中,NAS 设备是 RADIUS 客户端。共享密钥按每个 NAS 进行配置。BlastRADIUS 的修复需要更新 NAS 设备的固件以及在 RADIUS 服务器上打补丁。

PEAP (受保护的可扩展身份验证协议)

一种 EAP 方法,在传输内部身份验证方法(通常是 MSCHAPv2)之前,使用服务器端证书建立 TLS 隧道。它提供双向身份验证并保护凭证免受窃听。

PEAP-MSCHAPv2 是应用最广泛的企业 WiFi 身份验证方法。它符合 PCI DSS 要求,且在操作上比 EAP-TLS 更简单,因为它不需要客户端证书。然而,如果未强制执行客户端证书验证,它很容易受到流氓 RADIUS 服务器攻击。

共享密钥

在 RADIUS 服务器和每个 NAS 设备上配置的预共享密钥。它用于生成 Response Authenticator 字段并混淆 User-Password 属性。它不是终端用户的密码,而是服务器到服务器的身份验证凭证。

弱共享密钥或静态共享密钥是最常见的 RADIUS 漏洞之一。捕获 RADIUS 流量的攻击者可以对较弱的共享密钥进行离线暴力破解攻击。建议的最小长度为 32 个字符,且应随机生成。

PCI DSS (支付卡行业数据安全标准)

由主要卡组织(Visa、Mastercard、Amex)强制执行的一套安全标准,适用于处理、存储或传输持卡人数据的组织。自2024年3月起生效的4.0版本对网络访问控制和强身份验证提出了具体要求,从而实现 PCI-DSS 合规性。

拥有连接 WiFi 的 POS 终端的零售和酒店组织都在 PCI DSS 范围内。可能导致未经授权的网络访问持卡人数据环境的 RADIUS 服务器漏洞是直接的合规风险。

应用实例

一个拥有 12 家物业、350 间客房的酒店集团,使用其总部数据中心托管的集中式 RADIUS 服务器。每个物业通过共享的 MPLS WAN 进行连接。安全审计发现,跨 WAN 的 RADIUS 流量未加密,共享密钥是五年前初始部署期间设置的 8 字符字符串,且 RADIUS 服务器运行的是 FreeRADIUS 3.0.21。该集团通过其餐厅和水疗设施中连接 WiFi 的 POS 终端处理刷卡支付。其补救优先级和实施顺序是什么?

补救顺序应按风险严重程度和实施速度进行排列。步骤 1(立即,72 小时内):将 FreeRADIUS 补丁升级至 3.2.5 或 3.0.27。这可以解决 BlastRADIUS 并默认强制执行 Message-Authenticator。同时,检查所有 12 家物业的接入点固件版本,并为任何不支持 Message-Authenticator 的 NAS 设备安排固件更新。步骤 2(第 1 - 2 周):轮换所有共享密钥。使用 openssl rand -base64 32 为 12 家物业的每个 NAS 注册生成 32 位随机字符的密钥。将其存储在 HashiCorp Vault 或同等工具中。记录轮换日期。步骤 3(第 1 - 2 个月):在 WAN 路径上实施 RadSec。将 FreeRADIUS 服务器配置为在 TCP 2083 上接受 RadSec 连接。从内部 CA 向每个物业的 NAS 设备颁发 TLS 证书。更新防火墙规则,以允许从物业 NAS IP 范围到 RADIUS 服务器的 TCP 2083 流量。一旦确认 RadSec 正常运行,在面向 WAN 的接口上禁用 UDP 1812/1813。步骤 4(第 2 - 3 个月):对于 PCI DSS 范围内的 POS WiFi SSID,从 PEAP-MSCHAPv2 迁移到 EAP-TLS。部署内部 PKI(Microsoft ADCS 或 HashiCorp Vault PKI 引擎)。通过 MDM 向 POS 终端颁发客户端证书。更新 RADIUS 策略以对 POS SSID 要求使用 EAP-TLS。步骤 5(第 3 个月):将 RADIUS 记账日志集成到 SIEM 中。配置针对失败身份验证激增和证书过期的告警。

考官评语: 此场景代表了大多数多站点酒店部署。关键洞察在于,尽管 MPLS WAN 不是公共互联网,但它是一个共享网络,不能被视为完全受信任 - 特别是在 WAN 可能由第三方提供商管理的酒店集团中。因此,RadSec 是必选项。PCI DSS 角度至关重要:WiFi 上的 POS 终端属于 PCI DSS 要求 8.3(强身份验证)和要求 4.2.1(传输数据的强加密)的范围。EAP-TLS 同时满足了这两点。该顺序将打补丁放在首位,因为 BlastRADIUS 是一个活跃的、可被利用的漏洞;其他加固步骤虽然重要,但不具有相同的即时风险。另一种方法 - 迁移到云托管的 RADIUS-as-a-Service - 在此场景中曾被考虑,但由于该集团现有的 MPLS 投资以及同时迁移 12 家物业的复杂性而被否决。

一家拥有 45 家门店的区域零售连锁店使用 WPA2-Personal(预共享密钥)作为员工 WiFi,并使用开放网络作为客户 WiFi。IT 总监希望将员工 WiFi 迁移到 802.1X 认证,使用 Microsoft NPS 作为 RADIUS 服务器,并与 Active Directory 集成。这些门店混合部署了 Aruba 和 Cisco 接入点。该连锁店处于 PCI DSS 范围内。他们应该部署什么架构,关键的配置决策是什么?

推荐的架构是采用 PEAP-MSCHAPv2 作为初始 EAP 方法的 802.1X,并制定向 EAP-TLS 迁移的明确路线图。NPS 服务器应在中央数据中心部署为冗余对(主 + 备),并在接入点上配置 RADIUS 代理以实现自动故障转移。配置决策:(1) NPS 网络策略:创建一条与员工 SSID 和 PEAP-MSCHAPv2 匹配的策略,要求加入 AD 安全组(例如 "WiFi-Staff-Access")。将会话超时设置为 8 小时以强制重新认证。(2) 证书:从内部 Microsoft ADCS CA 部署 NPS 服务器证书。通过组策略 (Windows) 和 MDM (iOS/Android) 将根 CA 证书推送到所有员工设备。(3) 客户端配置:通过组策略(计算机配置 > Windows 设置 > 安全设置 > 无线网络策略)配置 Windows 设备。对于 iOS 和 Android 设备,使用 MDM 配置文件。强制执行服务器证书验证 - 不允许用户接受任意证书。(4) 接入点配置:在 Aruba 上,在“认证 > 服务器”下配置 RADIUS 服务器。将共享密钥设置为 32 位的随机字符串。如果 Aruba 固件支持 (AOS 8.9+),则启用 RadSec。在 Cisco 上,在“安全 > AAA > RADIUS”下进行配置。(5) NPS 日志记录:启用将 NPS 记账日志记录到 SQL Server 数据库。针对 PCI DSS 合规性,配置至少 90 天的日志保留期。(6) 迁移后:在员工 SSID 上禁用 WPA2-Personal。仅将其保留为备用 SSID,在密钥管理器中存储复杂的 PSK,仅在 NPS 不可用时使用。

考官评语: 从 WPA2-Personal 迁移到 802.1X 是零售 IT 中最常见的安全提升项目之一。此场景中的主要风险是混合的接入点资产 - Aruba 和 Cisco 具有不同的 RADIUS 客户端配置界面,且必须为每个界面单独管理共享密钥轮换流程。决定从 PEAP-MSCHAPv2 还是 EAP-TLS 开始是务实的:它避免了 PKI 部署的复杂性,同时提供了比 PSK 显著的安全提升。EAP-TLS 路线图应与 MDM 部署时间表挂钩 - 只有在所有设备都注册 MDM 后,客户端证书部署在操作上才可行。PCI DSS 角度强化了 NPS 日志记录要求:PCI DSS 要求 10.2.1 强制要求记录所有个人用户对持卡人数据的访问,其中包含网络访问事件。

练习题

Q1. 您的组织运行着一台 FreeRADIUS 3.0.21 服务器,为单园区内的 800 台员工设备提供 802.1X 身份验证支持。RADIUS 服务器与所有接入点位于同一管理 VLAN 上。一次渗透测试发现,接入点在发送 Access-Request 数据包时没有携带 Message-Authenticator 属性。安全团队希望立即强制执行 Message-Authenticator,但网络运维团队担心这会中断 800 名用户的身份验证。您应该如何安排修复顺序以最大程度地减少业务中断?

提示:考虑 RADIUS 服务器要求 Message-Authenticator 与 NAS 设备发送该属性之间的区别。这是两个具有不同风险特征的独立配置更改。

查看标准答案

正确的顺序是:(1) 首先,将 FreeRADIUS 补丁升级到 3.2.5。此版本默认强制执行 Message-Authenticator,但包含一个兼容模式,该模式会记录警告,而不是直接拒绝缺少该属性的数据包。这使您可以在不立即中断身份验证的情况下完成补丁升级。(2) 审核接入点固件版本。确定哪些型号和固件版本支持在 Access-Request 数据包中发送 Message-Authenticator。(3) 分批更新接入点固件,从 50 台设备的试点组开始。在每批更新后验证身份验证是否正常运行。(4) 确认所有接入点均已发送 Message-Authenticator 后,在 FreeRADIUS 服务器上启用严格强制执行(在 clients.conf 中设置 require_message_authenticator = yes)。(5) 监控 RADIUS 日志,查看是否有任何遗留的 "Message-Authenticator missing" 警告,这将指出未完成固件更新的 NAS 设备。核心原则是,您可以先修补服务器而不破坏任何内容,因为兼容模式允许过渡期。在所有 NAS 设备完成更新后,最后一步才是在服务器上强制执行严格拒绝。

Q2. 一家会议中心运营商运行着一台单独的 RADIUS 服务器,同时支持企业员工 SSID(采用 PEAP-MSCHAPv2 的 802.1X)和活动访客 WiFi(采用 MAC Authentication Bypass 的 Captive Portal)。鉴于访客未使用企业凭据进行身份验证,IT 经理询问是否需要将访客 WiFi 的 RADIUS 实例强化到与企业 RADIUS 实例相同的标准。您的建议是什么?

提示:考虑适用于 MAC Authentication Bypass 与基于 EAP 身份验证的攻击向量,以及访客与企业 RADIUS 实例之间横向移动的风险。

查看标准答案

访客 WiFi RADIUS 实例需要进行硬化,但具体控制措施与企业实例不同。BlastRADIUS 补丁同样适用 — 无论客户端使用何种身份验证方法,该漏洞都会影响 RADIUS 服务器。共享密钥安全管理同样适用 — 无论是否使用 EAP,访客 Captive Portal 控制器与 RADIUS 服务器之间薄弱的共享密钥都是可被利用的。关键的额外风险在于共享 RADIUS 服务器:如果访客和企业 SSID 身份验证请求由同一个 RADIUS 服务器进程处理,那么访客 RADIUS 路径中的漏洞可能会被用来渗透到企业身份验证策略。推荐的架构是为访客和企业身份验证运行独立的 RADIUS 实例(或至少在 FreeRADIUS 中运行独立的虚拟服务器),并采用独立的共享密钥和独立的策略集。这提供了隔离,使得访客 RADIUS 路径的妥协不会暴露企业凭据。专门针对访客实例:修补 BlastRADIUS,轮换共享密钥,并确保访客 RADIUS 实例无法访问企业 Active Directory。EAP-TLS 和 RadSec 要求与 Captive Portal 部署的相关性较低,但如果 Captive Portal 控制器与 RADIUS 服务器处于不同的网络段,仍应考虑使用 RadSec。

Q3. 某医疗信托机构正计划将其临床 WiFi 从 WPA2-Personal 迁移到 802.1X 身份验证。该信托机构拥有 1,200 台临床设备,包括 Windows 笔记本电脑、iOS 平板电脑和 Android 手持设备。CISO 希望将 EAP-TLS 作为目标状态。IT 总监担心 PKI 部署的复杂性,并提出将 PEAP-MSCHAPv2 作为永久解决方案。您如何向 CISO 和 IT 总监提供建议?推荐的实施路径是什么?

提示:考虑医疗保健环境的具体威胁模型 — 凭据泄露的后果是什么?以及 EAP-TLS 如何解决 PEAP-MSCHAPv2 无法解决的风险?

查看标准答案

CISO 的直觉是正确的,但 IT 总监的担忧也完全合理。推荐的建议是:现在先实施 PEAP-MSCHAPv2 作为过渡方案,并制定一个在 12 个月内向 EAP-TLS 迁移的明确路线图。在医疗保健领域不接受 PEAP-MSCHAPv2 作为永久解决方案的理由是:(1)如果未强制执行客户端证书验证,PEAP-MSCHAPv2 很容易受到流氓 RADIUS 服务器攻击。在临床人员可能会连接个人设备的医疗环境中,要在 1,200 台设备上一致地强制执行请求方配置在运营上极具挑战性。(2)如果通过流氓 RADIUS 攻击捕获了 MSCHAPv2 凭据,可以使用 hashcat 等工具进行离线破解。在医疗背景下,这些凭据可能还会提供对临床系统的访问权限。(3)NHS DSPT 和 CQC 评估越来越期望对临床网络访问进行强身份验证控制。EAP-TLS 提供了更强的审计证据支持。实施路径:第 1-2 个月:通过 MDM 配置文件在所有 1,200 台设备上部署强制执行服务器证书验证的 PEAP-MSCHAPv2。第 3-6 个月:部署 Microsoft ADCS 作为 PKI 基础架构。通过组策略自动注册来注册 Windows 设备。第 6-9 个月:通过 MDM 证书配置文件注册 iOS 和 Android 设备。第 9-12 个月:将临床 SSID 策略从 PEAP 迁移到 EAP-TLS。保留 PEAP 作为任何证书注册失败设备的备用方案,并加强监控。有关临床网络安全架构的更多信息, WiFi in Hospitals guide 提供了相关的部署背景。