跳至主要内容

RadSec: RADIUS over TLS 如何提升 WiFi 认证安全性

本权威技术指南介绍了 RadSec (RFC 6614) 如何通过将传统 RADIUS 流量封装在 TLS 加密中,从而保障企业级 WiFi 认证的安全。本书专为 IT 经理和网络架构师设计,涵盖了架构、部署策略以及降低企业和访客网络中未加密 UDP RADIUS 流量风险的实用步骤。

📖 4 分钟阅读📝 252 🔧 2 应用实例3 练习题📚 8 关键定义

收听本指南

查看播客转录
RadSec:RADIUS over TLS 如何提升 WiFi 认证安全性 Purple 企业级 WiFi 智能简报 预计运行时间:10 分钟 --- [引言与背景 - 约 1 分钟] 欢迎来到 Purple 企业级 WiFi 智能系列。我是你们的主持人,今天我们要探讨一个正处于网络安全与运营风险交汇处的课题:RadSec - 正式定义为 RFC 6614 - 以及为什么如果它还没有在您的基础设施路线图上,现在就应该加入进去。 如果您是负责酒店集团、零售物业、体育场馆或公共部门园区的企业级 WiFi 的 IT 经理、网络架构师或 CTO,这份简报就是为您准备的。我们将涵盖 RadSec 的实际概念、传统 RADIUS 协议如何让您暴露在风险中、如何在实际环境中部署 RadSec,以及会让团队踩坑的陷阱。没有为了理论而理论的内容 - 只有您在本季度做出决策所需的信息。 让我们正式开始。 --- [技术深度探究 - 约 5 分钟] 那么,让我们从问题开始。RADIUS - 远程用户拨号认证服务 - 自 20 世纪 90 年代以来一直是企业级 WiFi 认证的骨干。当用户或设备连接到您的企业或访客 WiFi 时,接入点充当 RADIUS 客户端,将认证请求转发给 RADIUS 服务器,该服务器根据您的目录(Active Directory、LDAP 或云身份提供商)验证凭证,并允许或拒绝访问。这就是构成 WPA2 和 WPA3 企业级网络基础的 802.1X 认证模型。 问题在于,传统的 RADIUS 是为另一个时代设计的。它通过 UDP(用户数据报协议)运行在端口 1812 和 1813 上。UDP 是无连接的,这意味着没有握手、没有会话状态,且至关重要的是,没有原生加密。您的接入点和 RADIUS 服务器之间唯一的保护是一个共享密钥 - 本质上是一个密码 - 用于在传输过程中使用 MD5 哈希算法来混淆用户的密码。大多数人都知道,MD5 在密码学上已经被破解了。它已经失效很多年了。 这在实践中意味着什么?这意味着在攻击者可以拦截 RADIUS 流量的任何网络段上 - 这包括受损的交换机、管理 VLAN 上的流氓设备,或者远程接入点与云端托管的 RADIUS 服务器之间的任何点 - 他们都可能捕获认证交换过程,尝试对共享密钥进行离线字典攻击,并且在某些配置中,会使外部完全暴露用户的凭证。 对于在 200 个物业中运行访客 WiFi 的酒店集团,或在每家门店都拥有接入点并通过公共互联网回传到中央 RADIUS 服务器的零售连锁店来说,这绝非理论上的风险。这是一个现实存在的攻击面。 这正是 RadSec 所解决的问题。RadSec - 在 RFC 6614 中定义并由 RFC 7360 更新 - 将 RADIUS 流量包装在 TLS 隧道内。它在端口 2083 上使用 TCP,而不是 UDP。它使用带有 X.509 证书的双向 TLS 身份验证,而不是共享密钥和 MD5。RADIUS 客户端和 RADIUS 服务器都会出示证书,验证对方的身份,并在交换任何身份验证数据之前建立加密会话。TLS 1.3 是当前推荐的版本,可提供前向安全性并消除了一系列遗留的密码学漏洞。 实际效果非常显著。凭证数据、用户属性和会话令牌在接入点(或 RadSec 代理)与 RADIUS 服务器之间进行端到端加密。拦截线路上流量的攻击者只能看到加密的 TLS 记录。为了向后兼容,共享密钥仍然存在,但它不再承担任何实质性的安全工作 - 安全重任由 TLS 来承担。 这里还有另一个日益相关的维度:漫游。遍布欧洲及其他地区的大学和研究机构所使用的 Eduroam 联盟,多年来一直运行 RadSec 作为其机构间漫游基础设施的一部分。最近,Wi-Fi 联盟的 OpenRoaming 标准 - 支持在参与场馆之间实现无缝 WiFi 漫游 - 强制要求所有联盟流量使用 RadSec。如果您正在部署支持 OpenRoaming 的基础设施,RadSec 不是可选的,而是先决条件。Purple 在其 Connect 许可下支持 OpenRoaming,作为联盟内的身份提供商,而 RadSec 是该安全漫游架构运作的核心。 从合规性的角度来看,RadSec 与 PCI DSS 4.0 的关联性越来越强,该标准收紧了对传输中身份验证数据保护的要求。如果您的 WiFi 基础设施涉及支付卡环境(在零售和酒店业中经常如此),传统 RADIUS 中的加密漏洞将是一个迟早会被发现的安全隐患。GDPR 同样要求采取适当的技术措施来保护个人数据;在数据保护审计中,在网络中未加密流动的用户凭证和会话元数据是很难进行合规辩护的。 现在我们来谈谈架构。RadSec 有两种主要的部署模式。 第一种是在您的 RADIUS 服务器和接入点上原生支持 RadSec。FreeRADIUS 3.0 及以上版本原生支持 RadSec。截至当前版本,Microsoft NPS 原生不支持 RadSec,这对于运行以 Windows 为中心的基础设施的组织来说是一个重大限制。Cisco ISE 支持 RadSec。Aruba ClearPass 支持 RadSec。如果您的 RADIUS 服务器和您的接入点厂商都原生支持 RadSec,这是最干净的路径 - 在两端配置 TLS 证书,在防火墙上打开 TCP 2083,您就可以端到端加密 RADIUS 流量了。 第二种模式是 RadSec 代理。这是实际部署中更常见的方式,特别是对于拥有传统 RADIUS 基础设施或多厂商混合环境的企业。RadSec 代理(radsecproxy 是部署最广泛的开源实现)介于您的接入点和 RADIUS 服务器之间。接入点通过本地网络将标准的 UDP RADIUS 发送到代理。代理终止该连接,将 RADIUS 流量重新封装到 TLS 隧道中,然后通过 TCP 2083 将其转发到上游 RADIUS 服务器。这种方法使您无需更换 RADIUS 服务器即可将 RadSec 添加到现有基础设施中,当您的 RADIUS 服务器托管在云端或通过公共互联网访问时,这种方法尤其有用。 证书管理是您需要规划的运维难点。您需要一个 PKI - 公钥基础设施 - 来发行和管理用于双向 TLS 的 X.509 证书。这意味着需要一个证书颁发机构、为每个 RADIUS 客户端和服务器发行证书,以及在到期前进行证书轮换的流程。未被察觉的过期证书会同时中断您网络上每个用户的身份验证 - 这是您必须避免发生的情况。建议使用 ACME 或您 CA 的 API 自动进行证书更新,并在到期日之前很久就设置好监控告警。 - - - [实施建议与陷阱 - 约 2 分钟] 下面为您提供一些实用建议。 第一:在部署前进行审计。绘制您环境中的每个 RADIUS 客户端(接入点、VPN 集中器、进行 802.1X 的交换机)和每个 RADIUS 服务器。了解哪些原生支持 RadSec,哪些需要代理。这种审计通常会发现完全不支持 TLS 的传统设备,这些设备需要列入您的更换路线图中。 第二:从风险最高的流量开始。如果您有传输过公共互联网的 RADIUS 流量 - 如远程站点、云托管的 RADIUS、多物业酒店集团 - 那就是您的首要任务。在隔离良好的管理 VLAN 上的本地 RADIUS 流量风险较低,但也应该列入路线图。 第三:在上线前彻底测试双向 TLS。RadSec 部署中最常见的失败模式是证书验证错误 - 如通用名称(Common Names)不匹配、中间证书过期,或客户端不信任签署服务器证书的 CA。在切换生产环境流量之前,使用 openssl s_client 测试 TLS 握手。 第四:不要忽视监控。RadSec 增加了传统 RADIUS 所没有的 TCP 连接层。TCP 连接失败、TLS 握手超时和证书错误都会表现为用户的身份验证失败。确保您的 RADIUS 服务器日志和代理日志都接入了您的 SIEM 或监控平台,以便您能够将 RadSec 连接问题与身份验证策略问题区分开来。 我最常看到的陷阱是组织在服务器端部署了 RadSec,但忘记了更新其防火墙规则。每个 RADIUS 客户端与 RADIUS 服务器或代理之间都需要开放 TCP 2083 端口。如果您习惯了管理 UDP 1812 规则,那么在防火墙变更过程中很容易漏掉 TCP 2083 端口。 - [快速问答 — 约1分钟] 让我来解答几个我经常听到的问题。 “RadSec 是否取代了 802.1X?” 并不是。RadSec 保护的是接入点与 RADIUS 服务器之间的传输层。而 802.1X 是客户端设备与接入点之间的认证框架。它们运行在不同的层级,并且是互补的。 “所有接入点厂商都支持 RadSec 吗?” 并非普遍支持。Cisco、Aruba、Ruckus 和 Meraki 都有不同程度的 RadSec 支持 — 请检查您的具体固件版本。在缺乏原生支持的地方,使用 RadSec 代理就是您的解决方案。 “DTLS 呢 — RADIUS over DTLS?” RFC 7360 定义了 RADIUS over DTLS,它使用 UDP 而不是 TCP,在增加加密的同时,保留了传统 RADIUS 的某些无连接特性。它的部署范围不及 RadSec over TLS 广泛,但如果在高吞吐量环境中延迟是一个令人担忧的问题,那么它值得进行评估。 “这如何影响漫游性能?” RadSec 的 TCP 连接是持久的,通过减少后续认证请求的连接建立开销,实际上可以提高联合环境中的漫游性能。 - [总结与后续步骤 — 约1分钟] 总结一下:RadSec 是针对传统 RADIUS 中真实存在的安全漏洞成熟且基于标准的解决方案。如果您正在大规模运行企业级 WiFi — 跨多个站点、通过互联网,或者在受 PCI-DSS 或 GDPR 约束的环境中 — 问题不在于是否部署 RadSec,而在于何时以及如何部署。 您的下一步行动:在本周审计您的 RADIUS 基础设施。识别您风险最高的流量。检查您的 RADIUS 服务器和接入点厂商文档,以了解是否提供原生 RadSec 支持。如果您运行的是 FreeRADIUS,您可以在一天内运行一个测试版 RadSec 部署。如果您使用的是 Microsoft NPS,请开始评估代理或迁移到支持 RadSec 的服务器的路径。 Purple 的平台旨在与企业 RADIUS 基础设施集成,为企业和访客 WiFi 环境提供安全的认证流程。如果您想了解 RadSec 如何适合您的特定部署,Purple 团队可以引导您完成。 感谢收听。下期再见。 - 脚本结束

📚 核心系列的一部分:Enterprise WiFi Security Guide

header_image.png

执行摘要

传统的基于 UDP 的 RADIUS(端口 1812/1813)并非针对现代企业威胁环境而设计。它仅依赖共享密钥和 MD5 哈希,这导致身份验证凭据和会话属性极易被拦截,尤其是在穿越公共网络或诸如酒店和零售连锁等大型分布式资产时。RadSec(基于 TLS 的 RADIUS,RFC 6614)通过在端口 2083 上将 RADIUS 流量封装在基于 TCP 的 TLS 1.3 隧道内,解决了这一根本性的安全缺陷。

对于首席技术官(CTO)和网络架构师而言,部署 RadSec 不再仅仅是一项最佳实践 - 它是保护企业 WiFi、保持 PCI-DSS 4.0 合规性以及参与 OpenRoaming 等现代联盟漫游框架的关键要求。本指南详细介绍了确保身份验证基础设施安全的安全架构、实施模式和运行要求。

技术深度剖析:RADIUS 对比 RadSec

传统 RADIUS 的漏洞

在标准的 802.1X 部署中,接入点(身份验证器)将客户端凭证转发给 RADIUS 服务器(身份验证服务器)。在传统的 RADIUS 中,此有效载荷是通过 UDP 发送的。唯一的保护是通过预共享密钥(PSK)并使用 MD5 来混淆密码。

这种架构带来了三个关键风险:

  1. 缺乏传输加密: 用户属性、MAC 地址和会话数据均以明文形式传输。
  2. 密码学弱点: 如果攻击者捕获了流量,MD5 很容易受到离线字典攻击。
  3. 无双向身份验证: 接入点无法通过密码学方式验证其是否正在与合法的 RADIUS 服务器通信,从而导致流氓服务器攻击。

RadSec 架构 (RFC 6614)

RadSec 通过将传输层从 UDP 转移到 TCP,并将整个有效载荷包装在 TLS 中,解决了这些缺陷。

architecture_overview.png

  • 传输: TCP 端口 2083 可确保可靠的交付和有状态连接,从而提高高延迟环境中的性能。
  • 加密: TLS 1.2 或 1.3 对所有 RADIUS 属性提供强大的端到端加密。
  • 双向身份验证: RADIUS 客户端(或代理)和服务器都必须出示由受信任的证书颁发机构(CA)颁发的有效 X.509 证书。保留共享密钥仅用于向后兼容;TLS 提供了实际的安全性。 这种架构对于分布式环境至关重要,例如 零售 连锁店或 酒店 场所。在这些环境中,接入点通过公共互联网将身份验证请求回传至中央或云端托管的 RADIUS 服务器。

实施指南

部署 RadSec 通常遵循以下两种模式之一:原生支持或基于代理。

模式 1:原生 RadSec

如果您的基础设施原生支持它(例如 FreeRADIUS 3.0+、Cisco ISE、Aruba ClearPass),您可以直接在 RADIUS 服务器和接入点/控制器上配置 TLS 证书。这提供了从边缘到核心的真实端到端加密。

模式 2:RadSec 代理

许多传统 RADIUS 服务器(尤其是 Microsoft NPS)原生不支持 RadSec。在这些环境中,会部署一个代理(例如 radsecproxy)。

  1. 本地端: AP 向本地代理发送标准 UDP RADIUS。
  2. 广域网端: 代理将流量封装在 TLS 中,并通过 TCP 2083 将其发送到上游服务器。

这种模式使您能够在不更换传统基础设施的情况下保护广域网流量。

deployment_checklist.png

与 Purple 集成

Purple 的 Guest WiFiWiFi Analytics 平台与企业级 RADIUS 基础设施无缝集成。在 Connect 许可下,Purple 作为 OpenRoaming 的免费身份提供商,而 RadSec 是保护场所与中央枢纽之间联合流量的强制性要求。

最佳实践

  1. 证书生命周期管理: 双向 TLS 依赖于有效的证书。实施自动化更新(例如通过 ACME)和严格的监控。证书过期将导致整个身份验证服务中断。
  2. 防火墙配置: 确保明确允许 TCP 端口 2083 从场所出站以及入站到 RADIUS 服务器。不要假设现有的 UDP 1812 规则会自动适用。
  3. 优先处理高风险流量: 在移动到本地管理 VLAN 之前,先在跨越公共互联网或不受信任的广域网的链路上开始部署。

有关保护边缘安全角色的更多信息,请阅读我们的指南: 接入点安全:您的 2026 企业指南

故障排除与风险缓解

当 RadSec 失败时,很少是身份验证问题;它几乎总是 TLS 或 TCP 问题。

  • 症状: 接入点显示与 RADIUS 服务器断开连接。
    • 检查: TCP 2083 的防火墙规则。传统的 RADIUS 使用 UDP;网络团队经常忘记开放 TCP 端口。
  • 症状: TCP 连接已建立,但身份验证立即失败。
    • **检查:**证书验证。验证通用名称 (CN) 或使用者 alternative 名称 (SAN) 是否匹配、证书是否已过期以及客户端是否信任签署的 CA。使用 openssl s_client -connect <server>:2083 调试握手过程。

确保您的网络基础架构稳固。阅读我们的建议: 通过强大的 DNS 和安全保护您的网络

投资回报率与业务影响

实施 RadSec 是一项风险规避投资。其投资回报率体现在避免数据泄露、合规性罚款 (PCI DSS、GDPR) 以及声誉受损上。此外,它还支持参与现代漫游联盟(如 OpenRoaming),这可以显著提升 医疗服务交通运输 环境中的访客体验。

收听简报

要深入了解部署 RadSec 的实际运行情况,请收听我们 10 分钟的技术简报:

有关客户端设备上的具体配置步骤,请参阅 如何在 iOS 和 macOS 上通过 802.1X 设置企业级 WiFi 或葡萄牙语版本 Como Configurar WiFi Corporativo em iOS e macOS com 802.1X

关键定义

RadSec

RADIUS 协议的一种扩展,可在 TCP 端口 2083 上将 RADIUS 流量封装在 TLS 隧道内。

用于在跨越不受信任的网络时保护认证流量,防止凭证被拦截。

双向 TLS (mTLS)

一种安全过程,客户端和服务器在建立加密连接之前,都出示 X.509 证书以验证对方的身份。

RadSec 的核心认证机制,替代了对静态共享密钥的依赖。

802.1X

基于端口的网络访问控制的 IEEE 标准,用于对尝试连接到局域网或无线局域网 (WLAN) 的设备进行身份验证。

依赖 RADIUS(延伸为 RadSec)对目录中的用户凭证进行验证的框架。

radsecproxy

一种充当代理的开源守护程序,可将标准的 UDP RADIUS 流量转换为 RadSec (TLS over TCP),反之亦然。

当接入点或旧版 RADIUS 服务器(如 Microsoft NPS)缺少原生 RadSec 支持时部署。

OpenRoaming

由无线宽带联盟开发的联盟标准,允许用户在全球范围内无缝且安全地连接到参与其中的 WiFi 网络。

OpenRoaming 强制要求使用 RadSec 来保护场所与身份提供商之间的认证流量。

共享密钥

在传统 RADIUS 中使用的一个静态文本字符串,用于混淆密码并验证请求源。

尽管为了向后兼容,在 RadSec 配置中仍存在该配置,但它已被 TLS 加密所取代。

FreeRADIUS

一种广泛部署的开源 RADIUS 服务器,提供对 RadSec 的原生支持。

由于其灵活性和原生 TLS 功能,通常在企业环境和漫游联盟中使用。

PKI (公钥基础设施)

创建、管理、分发和撤销数字证书所需的角色、策略和软件框架。

部署 RadSec 的先决条件,因为您必须为所有 RADIUS 客户端和服务器签发并管理证书。

应用实例

一个拥有 200 家酒店的集团使用中央 Microsoft NPS 进行员工身份验证。目前,每家酒店的接入点都通过 UDP 1812 在公共互联网上发送 RADIUS 请求。首席技术官 (CTO) 要求对所有认证流量进行加密,但今年无法替换 NPS 这一选项。

在每个酒店网点部署一个 RadSec 代理(例如 radsecproxy),并在中央数据中心、NPS 服务器前端部署相应的代理。本地 AP 向本地代理发送 UDP RADIUS 流量。本地代理通过互联网在 TCP 2083 上与中央代理建立双向 TLS (mTLS) 隧道。中央代理终止 TLS 隧道,并将标准 UDP RADIUS 转发给 NPS 服务器。

考官评语: 这种方法实现了首要的安全目标 - 在不受信任的广域网 (WAN) 上加密认证数据 - 而不需要对核心 Microsoft NPS 基础设施进行成本高昂且具有破坏性的彻底更换。它确实为代理引入了证书管理开销,必须将这一过程自动化。

一所大型大学正在其校园内部署 OpenRoaming,以便为来访的学术人员提供无缝访问。他们正在运行 FreeRADIUS 3.0。

在 FreeRADIUS 内启用原生 RadSec。由 OpenRoaming 联盟信任的证书颁发机构 (CA) 生成 X.509 证书。配置校园防火墙,允许指向联盟中心的入站和出站 TCP 2083 流量。配置无线局域网控制器,对所有发往联盟的认证请求使用 RadSec。

考官评语: 由于 FreeRADIUS 原生支持 RadSec,因此不需要代理。这是最简洁的架构。这里的关键依赖性在于确保证书符合 OpenRoaming 联盟的具体 PKI 要求。

练习题

Q1. 您的团队在远程分支机构接入点与中央 FreeRADIUS 服务器之间部署了原生 RadSec。AP 可以 ping 通服务器,但身份验证请求完全超时,且 RADIUS 日志中没有任何流量记录。

提示:RadSec 使用与传统 RADIUS 不同的传输协议和端口。

查看标准答案

防火墙很可能阻止了 TCP 端口 2083。习惯于传统 RADIUS 的网络团队通常只允许 UDP 端口 1812/1813。您必须显式允许从分支机构出站以及到 RADIUS 服务器入站的 TCP 2083 流量。

Q2. 您正在审计一家零售客户的 WiFi 架构。他们集中使用 Microsoft NPS。其门店 AP 通过 IPsec VPN 在互联网上发送身份验证请求。这里需要 RadSec 吗?

提示:考虑已经到位的加密层。

查看标准答案

虽然使用 RadSec 是最佳实践,但 IPsec VPN 已经为在不受信任的互联网上传输的 UDP RADIUS 流量提供了传输层加密。在此处部署 RadSec 将提供深度防御,但与流量原生跨越互联网的情况相比,其紧迫性较低。

Q3. 在成功部署 RadSec 代理一周后,整个企业的 WiFi 身份验证在周一上午 09:00 同时失败。网络团队确认防火墙规则未发生变化。

提示:TLS 隧道本身的主要身份验证机制是什么?

查看标准答案

用于双向 TLS 身份验证的 X.509 证书可能已过期。当证书过期时,TLS 握手失败,TCP 连接断开,RADIUS 流量无法传输。实施自动化证书监控和轮换以防止此问题。