跳至主要内容

RADIUS Accounting:追踪会话、使用量和审计日志

本指南提供了关于 RADIUS accounting 的全面技术参考 - 介绍其如何记录 WiFi 会话的启动、结束和临时更新(interim-update)数据、捕获了哪些属性,以及如何利用这些数据进行安全审计、GDPR 合规性和容量规划。对于需要从 WiFi 认证事件中获取可防御审计追踪的网络运营与安全团队,以及寻求将会话数据集成到 SIEM 平台和分析仪表板中的场所运营者来说,这是必读内容。

作者:Iain Jewitt发布于 更新于
📖 9 分钟阅读504 字2 应用实例3 练习题9 关键定义

Video overview

收听本指南

查看播客转录
欢迎回到 Purple 技术简报。我是您的主持人,今天我们将深入探讨企业 WiFi 基础设施中一个至关重要但常被误解的组件:RADIUS Accounting(RADIUS 计费)。具体来说,就是我们如何跟踪会话、监控使用情况并构建强大的审计日志。如果您是 IT 经理、网络架构师或场所运营总监,这绝对适合您。我们将跳过学术理论,直接进入实际应用。 让我们从基础开始。对于需要 60 秒电梯演讲的 CTO 来说:什么是 RADIUS 计费,它与 RADIUS 认证有什么区别? 简单来说,认证是门口检查您身份证的保安。计费则是记录您逗留多长时间以及消费了多少的调酒师。认证使用 UDP 端口 1812,处理网络访问的“谁”和“如何”。计费使用 UDP 端口 1813,一丝不苟地记录“什么”、“何时”以及“多少”。它跟踪会话何时开始、何时结束、传输了多少字节以及分配给客户端设备的 IP 地址。 所以这就是审计轨迹。但它究竟是如何捕获这些数据的?机制是什么? 它依赖于从网络接入服务器(通常是您的接入点或无线控制器)发送到 RADIUS 服务器的三种主要数据包类型。这些被称为 Accounting-Request(计费请求)数据包。首先是 Start(开始)数据包。这在用户成功连接的瞬间发送。它在计费数据库中建立基线记录,捕获用户身份、设备 MAC 地址、分配的 IP 地址以及用户连接的 AP。然后是 Stop(停止)数据包,在用户断开连接时发送,包含整个会话的最终累计统计数据。 这听起来很简单。开始和停止,任务完成。 不完全是。仅依赖 Start 和 Stop 数据包存在重大的运营风险。想想看:如果一位宾客在酒店连接了 WiFi 并保持连接了三天,会发生什么?如果仅依赖 Start 和 Stop,您在这三天内对他们的使用情况将一无所知。或者更糟糕的是,如果接入点断电了呢?它永远不会发送 Stop 数据包,您的数据库中就会留下一个过期的会话,看起来好像一直处于活动状态。 那么解决方案是什么? 第三种数据包类型:Interim-Update(中期更新)。这至关重要,也是 RADIUS 计费部署中最容易配置错误的元素。您可以将无线控制器配置为在活动会话期间每隔(例如)15 分钟发送一次更新。它就像心跳一样,提供当前使用情况的实时快照 - 传输的字节数、会话持续时间和数据包计数。如果 RADIUS 服务器停止接收来自特定会话的中期更新,您就知道该会话已中断,即使您从未收到 Stop 数据包。这里的黄金法则很简单:没有中期更新,就没有洞察。现在让我们来谈谈数据本身。在这些数据包中,我们关注哪些对于审计日志和合规性报告非常有价值的特定属性? 有几个核心属性。Acct-Session-Id 是主键,它将 Start、Interim-Update 和 Stop 数据包关联成一个完整的会话记录。如果没有它,您就无法将这三种数据包类型关联起来。然后是 Calling-Station-Id,它通常是客户端的 MAC 地址 - 即设备的硬件标识符。Framed-IP-Address 是在当前会话中分配给客户端的 IP 地址。Acct-Input-Octets 和 Acct-Output-Octets 用于追踪客户端接收和发送的数据量。而在 Stop 数据包中包含的 Acct-Terminate-Cause 则会告诉您会话结束的原因 - 无论是用户手动断开连接、达到空闲超时,还是载波丢失。 我们如何在现实场景中应用这些属性?以 GDPR 合规性或合法拦截请求为例。 这正是 RADIUS 记账证明其投资回报率的地方。假设执法部门联系一家连锁零售商并表示:上周二下午 2 点,有人使用你们顾客 WiFi 上的一个 IP 地址访问了恶意内容。是谁干的?如果您只有防火墙日志,您就只有一个 IP 地址。但是,IP 地址会随着 DHCP 不断变化。您需要将该 IP 在特定时间点与特定设备绑定。因此,您会查询您的 RADIUS 记账数据库。您寻找一个 Framed-IP-Address 与防火墙日志中的 IP 相匹配,且事件发生的时间戳介于该会话的 Start 时间和 Stop 时间之间的会话记录。该记录将为您提供 Calling-Station-Id - 即设备的 MAC 地址。您刚刚成功地将网络层与设备层联系在了一起。这就是您完整的审计追踪。 我们再来看看另一个场景:一家大型酒店。酒店业在此类问题上尤其敏感。一间拥有 300 间客房并配有会议设施的酒店可能拥有数千个并发的 WiFi 会话。运营团队需要了解高峰使用期以便进行容量规划,而合规团队则需要证明客人的数据在 GDPR 框架下得到了妥善处理。 在这种环境下,RADIUS 记账能够同时满足这两个需求。会话数据会输入到 WiFi 分析平台中,该平台将原始字节和会话时长转化为人流量指标和带宽消耗趋势。与此同时,相同的数据会输入到合规性报告模块中,该模块可以向审计人员准确展示收集了哪些数据、保留了多长时间以及如何对其进行保护。 因此,为了实现这一切,我们需要将这些数据从 RADIUS 服务器中提取出来,并输入到我们可以对其进行查询和操作的系统中。团队应该如何构建该管道的架构呢? 第一条规则是:不要将日志留在 RADIUS 服务器上的纯文本文件中。将服务器配置为将记账数据写入结构化关系数据库 - PostgreSQL 或 MySQL 是常用的选择。从那里,您有两条主要的消费路径。首先,使用 Syslog 或 REST API 将日志转发到您的 SIEM(如 Splunk、Microsoft Sentinel 或 IBM QRadar)。这使您的安全团队能够将 WiFi 认证事件与防火墙拦截、入侵检测警报或数据丢失防护触发器关联起来。其次,将数据输入您的分析平台。例如,Purple 的 WiFi Analytics 可以摄取此会话数据,并将其转化为有关客流量、停留时间和容量利用率的可行洞察。 现在让我们谈谈常见的陷阱。部署在哪些地方容易出错? 两种主要的失败模式。首先,正如我们已经讨论过的,根本没有启用 Interim-Updates(临时更新)。这出奇地常见。管理员正确配置了认证,但从未触及记账设置。其次,这也是同样具有破坏性的,即把 Interim-Update 间隔设置得过于激进。如果您有 10,000 个并发用户,并且将间隔设置为 1 分钟,那么仅为了记账更新,您每分钟就会产生 10,000 次数据库写入操作。这会非常快地使您的 RADIUS 服务器的 I/O 容量达到饱和。对于大多数企业部署来说,黄金分割点是 10 到 15 分钟。它为运营可见性提供了足够的粒度,而不会产生不可持续的写入负载。 让我们快速浏览一系列场景。 场景一:场馆经理报告称,分析仪表板显示用户已连接 48 小时,但该场馆在夜间是关闭的。 这是一个陈旧会话问题。接入点没有发送 Stop(停止)数据包 - 这可能是由于电源循环或网络中断造成的 - 并且会话在数据库中永远不会被关闭。解决方法是在 RADIUS 服务器上实施死会话清理脚本。任何在配置间隔的两到三倍时间内未收到临时更新的会话都应自动关闭。 场景二:某零售连锁店的安全团队表示,防火墙日志仅显示 IP 地址,因此无法审计是哪个具体的收银终端访问了可疑的外部 IP。 确保将接入点配置为在 RADIUS 记账数据包中包含 Framed-IP-Address 属性,并将该 RADIUS 记账数据库与 SIEM 集成,以将 IP 地址与 MAC 地址进行关联。 场景三:RADIUS 服务器在高峰时段遭遇高 CPU 负载,导致认证延迟。 首先检查临时更新间隔。如果在大型资产中设置为 1 或 2 分钟,请将其增加到 15 分钟。还要验证计费数据库在 Acct-Session-Id 和 User-Name 列上是否具有适当的索引。未建立索引的表将在每次写入时导致全表扫描,这在大规模运行中是灾难性的。此外,请考虑将您的认证和计费工作负载分离到专用的服务器实例上。 总结一下,以下是任何 IT 经理或网络架构师在实施或审计其 RADIUS 计费基础设施时的关键要点。 第一:RADIUS 计费与认证不同。它跟踪的是会话数据,而不是访问决定。两者都至关重要,但它们服务于不同的运营和合规目的。 第二:始终启用 Interim-Updates。如果没有它们,您将无法了解活动会话,也无法检测陈旧记录。 第三:您必须始终捕获的三个属性是 Acct-Session-Id、Framed-IP-Address 和 Calling-Station-Id。这三者构成了任何有意义的审计追踪的基础。 第四:导出您的计费数据。不要将其留在扁平文件中。写入结构化数据库,转发到 SIEM,并输入到分析平台。 第五:为扩展性而设计。15 分钟的临时更新间隔对于大多数企业部署来说是合适的平衡。根据您的具体合规要求和基础设施容量进行调整。 归根结底:RADIUS 计费不是可有可无的。在任何受监管的环境(酒店、零售、医疗保健、公共部门)中,它都是您 WiFi 审计追踪的基础。做对了,您就拥有了一个用于安全、合规和运营智能的强大工具。做错了,您的审计追踪中就会出现漏洞,这可能会付出非常高昂的代价。 感谢收听 Purple 技术简报。我们下期再见。

核心系列的一部分:企业级 WiFi 安全指南 →

RFC 2866 & 802.1X Architecture Sizer

RADIUS accounting sizing and session audit advisor

Calculate steady-state packet throughput (PPS), database log expansion, WAN bandwidth overhead, and generate turnkey AAA accounting profiles across enterprise network controllers.

1,200
10015,000 devices
360s (6 min)
60s (aggressive)1800s (30m)
8h
30 mins16 hours
Drives the daily session count, and so every storage figure below. This was fixed at 24 hours, which has an 8-hour-dwell office taking new sessions all night.
Peak accounting throughput
8.5 PPS
Steady: 3.4 PPS
WAN uplink bandwidth
32.6 Kbps
Steady: 13.1 Kbps (480 B/pkt)
Daily turnover sessions
1,800
~82 pkts per session
Storage (90d retention)
3.5 GB
+39.3 MB / day
Interim interval in the practical band (120s - 900s)
RFC 2869 defines Acct-Interim-Interval and sets a floor rather than a band, so 120-900s is operational practice, not a standard. Session state stays fresh to within one interval, which is also the worst-case lag on quota enforcement.

RADIUS packet rate and database write analysis

RFC 2866 dictates that Network Access Servers (NAS) transmit an Accounting-Start packet when a client associates, periodic Interim-Update packets during the session, and an Accounting-Stop packet upon termination. Sizing your AAA layer requires modeling peak connection rushes alongside ongoing heartbeat load.

Packet rate breakdown
  • Accounting-Start: 0.04 req/s average baseline
  • Interim-Update: 3.33 req/s continuous heartbeat flow
  • Accounting-Stop: 0.04 req/s closure telemetry
  • Morning rush burst (2.5x): 8.5 requests per second peak
Database storage & buffer strategy
  • Daily table growth: 39.3 MB / 24-hour cycle
  • 90-day retention total: 3.5 GB uncompressed index pool
  • Recommended SQL pooling: Minimum 8 worker threads
  • Table partitioning: Standard B-tree indexes sufficient
Scale your cloud RADIUS and session telemetry with Purple
Deploy resilient cloud AAA infrastructure with automated interim accounting, audit logs, and compliance reporting.
Explore enterprise security guide
Useful? Link to this tool

RADIUS Accounting:追踪会话、使用量和审计日志

执行摘要

对于企业 IT 和网络运营团队而言,验证用户登录 WiFi 网络只是成功了一半。设备连接后,了解该设备的行为 - 它保持连接的时间、消耗的数据量以及何时断开连接 - 对于安全、容量规划和合规性至关重要。这就是 RADIUS accounting 变得不可或缺的原因。虽然 RADIUS 身份验证处理网络访问的“人员”和“方式”,但 RADIUS accounting 细致地记录了“内容”、“时间”和“数量”。

本指南对 RADIUS accounting 进行了技术深度剖析,探讨了 Start、Stop 和 Interim-Update 数据包的机制以及使其具有价值的属性。它概述了 酒店住宿、零售 和其他行业的场所运营商如何利用这些数据来维护强大的审计追踪、确保 GDPR 合规性,并将可操作的情报输入到 SIEM 平台或 WiFi Analytics 系统中。通过掌握 RADIUS accounting,网络架构师可以将原始会话日志转化为提高运营效率和降低风险的战略资产。


技术深度剖析

RADIUS Accounting 与 RADIUS 身份验证的对比

RADIUS(远程用户拨号认证服务)在 RFC 2865 中定义,并在 RFC 2866 中扩展用于计费,它基于客户端 - 服务器模型运行。在典型的企业 WiFi 部署中,接入点(AP)或无线局域网控制器(WLC)充当 Network Access Server (NAS) - 即 RADIUS 客户端。RADIUS 服务器(例如 FreeRADIUS、Cisco ISE、Aruba ClearPass)接收并处理请求。

身份验证和计费之间的区别是根本性的:

维度 RADIUS 身份验证 RADIUS Accounting
目的 验证身份并允许/拒绝访问 记录会话使用情况和活动
UDP 端口 1812 1813
RFC 参考 RFC 2865 RFC 2866
数据包类型 Access-Request, Access-Accept, Access-Reject Accounting-Request (Start/Stop/Interim)
捕获的数据 凭证、VLAN 分配、策略 会话时间、传输的字节数、IP 地址
合规角色 访问控制 审计追踪、合法拦截

对于大规模部署 Guest WiFi 的团队来说,这两个功能都是必需的 - 但计费是让您保持合规且有据可查的关键所在。

三种计费数据包类型

RADIUS accounting 依赖于三种主要的 Accounting-Request 数据包类型,每种类型由 Acct-Status-Type 属性定义:

  1. Start (Acct-Status-Type = 1):由 NAS 在用户成功连接并开始会话时发送。它在计费数据库中建立基线记录,捕获用户身份、设备 MAC 地址、分配的 IP 地址以及用户连接的 AP。

  2. Interim-Update (Acct-Status-Type = 3):在活动会话期间定期发送。这些数据包提供当前使用情况的动态快照 - 传输的字节数、会话时长和数据包计数。它们充当心跳信号以确认会话仍处于活跃状态,并在无需等待断开连接的情况下提供对长期运行会话的可见性。

  3. Stop (Acct-Status-Type = 2):在会话结束时发送 - 无论是由于用户主动断开连接、AP 重启、空闲超时还是会话超时。它包含整个会话的最终累计统计数据。

RADIUS Accounting:追踪会话、使用量和审计日志 - radius packet flow diagram

图 1:WiFi 会话中的 RADIUS 计费数据包生命周期。

关键计费属性

为了有效跟踪会话并构建可辩护的审计日志,NAS 会使用特定属性填充 Accounting-Request 数据包。以下是操作上最重要的属性:

属性 描述 合规相关性
Acct-Session-Id 由 NAS 生成的唯一会话标识符 用于关联 Start、Interim 和 Stop 记录的主键
User-Name 认证的身份(用户名或 MAC 地址) 将会话映射到特定用户或设备
NAS-IP-Address 报告 AP 或 WLC 的 IP 地址 识别网络分段和物理位置
Framed-IP-Address 分配给客户端设备的 IP 地址 与防火墙和 Web 代理日志进行关联的关键要素
Calling-Station-Id 客户端设备的 MAC 地址 用于审计跟踪的设备层身份
Called-Station-Id AP 的 MAC 地址和 SSID 识别用户连接的具体射频和网络
Acct-Input-Octets 从客户端接收的字节数 带宽监控和容量规划
Acct-Output-Octets 发送到客户端的字节数 带宽监控和容量规划
Acct-Session-Time 会话时长(秒) 停留时间分析和计费
Acct-Terminate-Cause 会话结束的原因 故障排除和异常检测

对于使用 802.1X 认证 的团队,User-Name 属性将包含来自 EAP 交换的认证身份,从而提供比仅使用 MAC 认证绕过 (MAB) 更丰富的审计跟踪。


对您的具体配置有疑问吗?

我们的团队与 80,000 多个场所的运营方、IT 经理和网络工程师保持合作。预约 20 分钟的通话,我们将为您展示同行是如何解决类似问题的。

实施指南

部署强大且具有弹性的 RADIUS 计费基础设施,需要在 NAS 和 RADIUS 服务器层面上进行仔细配置。以下是建立可靠计费数据管道的供应商中立方法。

第 1 步:配置 NAS(接入点 / 控制器)

NAS 配置通常是大多数部署失败的地方。管理员经常正确配置了认证,但将计费保留为默认设置或完全禁用。

  • 定义计费服务器:指定 RADIUS 服务器的 IP 地址以及用于 UDP 端口 1813 的共享密钥。在高可用性部署中,请配置备用计费服务器,以防止在主服务器无法访问时发生数据丢失。
  • 启用临时更新(Interim Updates):这是最关键的配置步骤。设置合适的时间间隔 - 企业部署通常为 10 到 15 分钟。较短的时间间隔(例如 1 分钟)可提供更细粒度的数据,但在大规模部署中会产生难以承受的写入负载;较长的时间间隔(例如 30 分钟)可减少开销,但会延迟对活动会话的可见性。
  • 确保时间同步:在所有 NAS 设备和 RADIUS 服务器上配置 NTP。准确的时间戳对于审计日志和 SIEM 关联至关重要。在合法拦截场景中,5 分钟的时钟偏差可能会使审计追踪失效。

第 2 步:配置 RADIUS 服务器

  • 数据库集成:配置 RADIUS 服务器将计费数据记录到结构化关系数据库(例如 PostgreSQL、MySQL)中,而不是扁平文本文件中。结构化存储可实现高效的查询、索引以及与下游系统的集成。确保在 Acct-Session-Id、User-Name、Framed-IP-Address 和会话开始时间戳上建立索引。
  • 数据保留政策:实施符合您合规性要求的自动归档或清理脚本。GDPR 第 5(1)(e) 条要求数据的保留时间不得超过必要的时间;然而,许多司法管辖区的合法拦截法规(例如英国的 2016 年调查权力法案)可能要求保留长达 12 个月的数据。

第 3 步:构建数据管道

为了最大限度地提高计费数据的价值,必须将其导出到消费平台,以便在其中进行查询、关联和可视化。

  • SIEM 集成:配置 RADIUS 服务器或底层数据库,使用 Syslog 或 REST API 将日志转发到您的 SIEM(例如 Splunk、Microsoft Sentinel、IBM QRadar)。这使安全团队能够将 WiFi 认证事件与防火墙阻断、入侵检测告警或数据防泄漏触发器进行关联。
  • 分析集成:将会话数据输入到诸如 Purple 的 WiFi Analytics 等平台中,将原始字节和 MAC 地址转化为关于客流量、停留时间和高峰使用时段的可操作洞察。这对于需要根据实际使用模式来调整人员配置和基础设施投资的 Retail 和 Hospitality 运营商来说特别有价值。

RADIUS Accounting:追踪会话、使用量和审计日志 - siem integration overview

图 2:从接入点到 SIEM 和分析平台的 RADIUS 计费数据管道。


最佳实践

务必使用过渡更新(Interim Updates)。 仅依赖 Start 和 Stop 数据包会产生运维盲区。连接掉线或 AP 电源故障可能会阻止发送 Stop 数据包,从而在数据库中无限期保留过期会话。过渡更新提供了检测并关闭这些过期会话的机制。经验法则:如果会话在配置间隔的两到三倍时间内未发送过渡更新,则将其视为已终止。

将 RADIUS 计费与 DHCP 日志关联。 RADIUS 计费提供了 Framed-IP-Address,但在某些环境中,DHCP 租期可能短于会话持续时间。将 DHCP 日志与 RADIUS 日志一起保留可以提供更具弹性的审计轨迹,尤其是在 IP 地址回收频繁的高密度场馆中。

使用 RadSec 保护传输安全。 传统的 RADIUS 流量通过 UDP 传输,加密极少 - 只有用户密码字段被混淆。在分布式部署中,特别是跨越多个站点或云托管 RADIUS 服务器的部署,请使用 RadSec(基于 TLS 的 RADIUS,在 RFC 6614 中定义)或 IPsec 隧道来保护传输中的计费数据。对于任何处理持卡人数据的网络,这是 PCI-DSS 4.0 的要求。

监控计费队列。 如果 RADIUS 服务器变得不可达,NAS 设备将在本地缓存计费数据包。监控此队列长度;队列变满将导致丢包和审计数据丢失。配置队列深度的告警,并为高可用性部署实施辅助计费服务器。

大规模部署时分离认证和计费服务器。 在并发用户超过 5,000 的部署中,来自计费的写入负载可能会降低认证响应时间。具有独立数据库实例的专用计费服务器可以防止这种竞争。


故障排除与风险缓解

过期会话问题

症状:RADIUS 数据库显示用户已连接 48 小时,但场馆在夜间已关闭。

根本原因:NAS 未能发送 Stop 数据包 - 通常是由于电源故障、AP 重启或网络中断 - 且该数据包从未被 RADIUS 服务器接收。

缓解措施:在 RADIUS 服务器上实施过期会话清理脚本。该脚本应定期扫描活动会话,其中最后接收到的数据包(Start 或 Interim-Update)早于定义的阈值(例如,过渡更新间隔的 2.5 倍)。超过此阈值的会话应使用合成的 Stop 记录强制关闭,并将终止原因注明为 "Lost-Carrier" 或 "Admin-Reset"。

RADIUS 服务器 CPU 和 I/O 负载过高

症状:在高峰时段,认证响应时间变长;RADIUS 服务器报告 CPU 和磁盘 I/O 占用过高。

根本原因:在数千个 AP 上设置了过于激进的过渡更新间隔(例如 1 分钟),产生了无法承受的大量数据库写入。

缓解措施:将临时更新间隔增加到15分钟。验证计费数据库是否具有适当的索引。考虑将认证和计费分离到专用的服务器实例上。评估对于高容量计费数据,时序数据库(例如 InfluxDB)是否比关系型数据库更合适。

计费记录中缺失 Framed-IP-Address

症状:存在 RADIUS 计费记录,但 Framed-IP-Address 字段为空或不存在,导致无法进行 IP 与 MAC 的关联。

根本原因:NAS 可能会在 DHCP 向客户端分配 IP 地址之前发送 Start 数据包。IP 只有在 DHCP 交互完成后才可用。

缓解措施:如果平台支持,配置 NAS 延迟发送 Start 数据包,直到 DHCP 分配完成后。或者,依靠在 DHCP 分配后发送且包含 Framed-IP-Address 的 Interim-Update 数据包。如果 Start 记录缺少 IP,通过检查 Interim-Update 记录来确保您的审计查询考虑到这一点。


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

实施强大的 RADIUS 计费可在三个维度上提供可衡量的业务价值:

合规与法律风险缓解。 在发生安全事件、GDPR 下的数据主体访问请求或合法拦截命令时,准确的计费日志可提供必要的审计追踪,以识别哪个用户或设备在特定时间拥有特定的 IP 地址。如果没有这些记录,企业将面临 GDPR 下潜在的监管处罚(最高可达全球年营业额的 4%)和声誉损失。实施适当计费基础设施的成本仅是单次监管执法行动成本的一小部分。

容量规划与基础设施 ROI。 通过分析随时间变化的 Acct-Input-Octets 和 Acct-Output-Octets 趋势,网络架构师可以识别带宽消耗模式、高峰使用期以及驱动最高负载的特定 AP 或 SSID。这些数据直接为 WAN 升级决策和 AP 部署策略提供依据,确保基础设施投资被引导至产生最大影响的地方。对于 交通 枢纽和大型场馆,这可以节省可观的资本支出。增强的分析和场所智能。 当 RADIUS 会话数据与 Purple 的 WiFi Analytics 及 Sensors 等平台结合使用时,原始计费数据将被转化为场所智能。源自会话持续时间的停留时间指标、源自 Calling-Station-Id 历史记录的重返访客识别,以及源自并发会话数的高峰占用率分析都将变得可用。对于 Hospitality 运营商而言,这些数据可直接为人员配置模型、餐饮布局和个性化营销策略提供决策依据。如需了解有关 WiFi 基础设施如何支持这些功能的更多背景信息,请参阅我们关于 Wireless Access Points 和 Modern Hospitality WiFi Solutions 的指南。

关键定义

RADIUS Accounting

收集和记录用户网络资源消耗数据的过程,包括会话开始和结束时间、传输的数据量以及分配的 IP 地址。在 RFC 2866 中定义。

对于任何企业 WiFi 部署中的计费、容量规划、GDPR 合规性以及维护安全审计追踪都至关重要。

Acct-Status-Type

一个 RADIUS 属性(属性 ID 40),用于指示记账数据包的用途。其值包括 Start (1)、Stop (2) 和 Interim-Update (3)。

RADIUS 服务器用其来确定是创建新的会话记录、更新现有记录还是关闭记录。这是任何记账数据包中最基础的属性。

Interim-Update

NAS 在活动会话期间定期发送的 RADIUS Accounting 数据包,用于报告当前的流量统计信息,包括已传输的字节数和会话持续时间。

对于跟踪长期运行的会话以及在客户端意外断开连接且未发送 Stop 数据包时检测失效会话至关重要。

Acct-Session-Id

由 NAS 生成的唯一字符串,用于标识特定的用户连接实例。在同一会话的所有记账数据包(Start、Interim-Update、Stop)中,该值均保持一致。

用于关联属于同一会话的所有记账记录的主键。若没有此键,则无法重建完整的会话历史记录。

NAS (Network Access Server)

控制对网络的物理访问并充当 RADIUS 客户端、生成并发送记账数据包的设备 - 通常为无线接入点(AP)或无线局域网控制器(WLC)。

NAS 负责确保记账数据的准确性和完整性。NAS 级别的配置错误(例如禁用记账、缺失属性)无法在 RADIUS 服务器级别进行修复。

Framed-IP-Address

在会话期间分配给客户端设备的 IP 地址,包含在 RADIUS Accounting 数据包中。

对于将 RADIUS Accounting 日志与防火墙、Web 代理或 DNS 日志等其他网络日志进行关联至关重要。缺失此属性将导致无法进行 IP 与设备的关联。

Calling-Station-Id

通常是连接到网络的客户端设备的 MAC 地址,格式为以冒号分隔的十六进制字符串(例如 AA:BB:CC:DD:EE:FF)。

用于识别特定的硬件设备,无论其被分配了何种 IP 地址。它是审计追踪中设备层的锚点。

Acct-Terminate-Cause

Stop 数据包中包含的一个属性,用于指定会话结束的原因。常见值包括 User-Request、Lost-Carrier、Idle-Timeout、Session-Timeout 和 Admin-Reset。

对于排除连接问题和检测异常非常有价值 - 例如,特定 AP 上的 Lost-Carrier 终止率较高可能表明存在硬件或干扰问题。

RadSec

基于 TLS(传输层安全)的 RADIUS,在 RFC 6614 中定义。为 RADIUS 数据包提供加密和经过身份验证的传输,取代了传统的基于 UDP 的传输方式。

在 RADIUS 流量遍历非信任网络(例如连接互联网的云 RADIUS 服务器)的任何部署中均属必需。在持卡人数据环境中,PCI-DSS 4.0 对此的要求也越来越严格。

应用实例

一家拥有 300 间客房并配有会议设施的酒店正在部署全新的访客 WiFi 网络。IT 经理需要确保该部署既能满足 GDPR 对数据最小化和审计追踪完整性的要求,又能为营销团队提供停留时间和回头客分析。该酒店使用云托管的 RADIUS 服务器和 Cisco Meraki AP。

部署应按以下方式配置。在 Meraki 控制面板上,导航至“网络范围” > “RADIUS 服务器”,并在端口 1813 上添加云 RADIUS 服务器,同时设置强共享密钥。启用 accounting 并将临时更新间隔(interim update interval)设置为 15 分钟。在 RADIUS 服务器上,配置 accounting 写入具有以下模式的 PostgreSQL 数据库:session_id(主键)、user_name、nas_ip、framed_ip、calling_station_id、called_station_id、session_start、session_end、input_octets、output_octets、terminate_cause。实施数据保留政策,自动将超过 12 个月的记录归档到冷存储,并清除超过 24 个月的记录,这需记录在酒店的 GDPR 处理活动记录中。配置 Purple WiFi Analytics 集成以摄取会话数据,使营销团队能够访问停留时间报告和回头客频率仪表板。确保所有 Meraki AP 和 RADIUS 服务器之间的 NTP 同步在 1 秒以内。

考官评语: 此场景展示了 RADIUS accounting 的双重用途:合规性与分析。对于会话可能持续数天的酒店环境,15 分钟的临时更新间隔是合适的。PostgreSQL 模式设计确保捕获了所有与 GDPR 相关的字段,同时避免了不必要的数据收集。12/24 个月的保留政策平衡了英国调查权力法案的要求与 GDPR 数据最小化原则。

一家拥有 150 家门店的零售连锁店需要满足 PCI DSS 4.0 对网络访问监控的要求。其销售终端(POS)在 WiFi 网络上使用 MAC 认证绕过(MAB)。安全团队收到了其 QSA(合格安全评估员)的请求,要求证明他们仅凭防火墙日志中的源 IP 地址和时间戳,即可识别在任何给定时间是哪台特定的 POS 终端访问了支付网络。

该解决方案需要一个由三个组件组成的集成。首先,验证所有无线局域网控制器均已配置为在 RADIUS accounting 包中包含 Framed-IP-Address 属性。这在默认情况下并不总是启用,必须进行显式配置。其次,将 RADIUS accounting 数据库与 SIEM 平台(例如 Splunk)集成。在 Splunk 中创建一个查找表,将 Framed-IP-Address 和会话时间范围映射到 Calling-Station-Id(MAC 地址)。第三,创建一个 Splunk 保存的搜索,该搜索接受源 IP 和时间戳作为输入,并从 RADIUS accounting 记录中返回相应的 MAC 地址、NAS-IP-Address(标识门店和 AP)以及 User-Name。然后可以向 QSA 演示此工作流:给定一个防火墙日志条目,显示特定日期 14:23:07 的源 IP 10.5.12.44,搜索将返回 POS 终端的 MAC 地址、其连接的 AP 以及门店位置。

考官评语: 此场景突出了 Framed-IP-Address 属性在弥合网络层身份(IP 地址)与设备层身份(MAC 地址)之间鸿沟的关键作用。SIEM 查找表方法是进行此类关联的行业标准方法。请注意,在 DHCP 租期非常短的环境中,关联必须使用时间范围查询,而不是特定时间点查找,因为在很短的时间窗口内,同一个 IP 可能会被分配给多个设备。

练习题

Q1. 一家酒店的 IT 经理注意到,尽管大堂和餐厅明显很忙碌,但 WiFi 分析仪表板显示的白天活跃用户却非常少。然而,前一天的历史报告显示数据使用量出现了巨大峰值。RADIUS 服务器日志确认已收到 Start 数据包,但数据库中显示的 Interim-Update 记录极少。最可能的错误配置是什么?您将如何解决?

提示:思考在活动会话期间与断开连接时,数据使用量是如何报告的。

查看标准答案

最可能的原因是无线局域网控制器(WLC)上未启用或未配置 Interim-Updates。在没有临时更新的情况下,RADIUS 服务器仅在用户连接时收到 Start 数据包,在用户断开连接时收到 Stop 数据包。由于未报告会话内数据,分析仪表板无法显示当前使用情况。一旦用户离开并断开连接,包含总累计数据的 Stop 数据包就会到达,从而导致历史报告中出现延迟的峰值。解决方案是在 WLC 上启用 Interim-Updates 并设置合适的时间间隔 - 酒店环境建议设置为 15 分钟。启用后,通过检查计费数据库中 Acct-Status-Type = 3 的记录,验证 RADIUS 服务器是否正在接收 Interim-Update 数据包。

Q2. 在一次安全事件调查期间,您的 SIEM 标记了访客 WiFi 网络上的一个 IP 地址在特定日期的 09:47:23 访问了已知的命令与控制服务器。您需要识别负责的物理设备。您的 DHCP 租约时间设置为 30 分钟。描述您将对 RADIUS 计费数据库使用的确切查询逻辑以识别该设备。

提示:IP 地址不是静态的。您必须使用时间范围查询,而不是时间点查询,并考虑 DHCP 租期循环。

查看标准答案

您必须查询 RADIUS 计费数据库,查找满足以下条件的会话:(1) Framed-IP-Address 等于被标记的 IP 地址,并且 (2) session_start 时间戳早于或等于 09:47:23,并且 (3) session_end 时间戳晚于或等于 09:47:23,或者 session_end 为 NULL(查询时会话仍处于活跃状态)。如果多个会话匹配(在 30 分钟的 DHCP 租期内是可能的),请检查 Interim-Update 记录以确认哪个会话在 09:47:23 正在活跃地报告使用情况。匹配的会话记录将包含 Calling-Station-Id(设备的 MAC 地址)和 User-Name(如果使用了 802.1X 则为已验证的身份)。将 MAC 地址与您的设备资产清单或 DHCP 服务器日志进行交叉比对,以识别物理设备及其所有者。

Q3. 您是一家会议中心的网络架构师,该中心举办的活动可容纳多达 8000 名并发 WiFi 用户。您当前的 RADIUS 服务器在峰值活动期间遇到数据库写入饱和,导致 3 - 5 秒的身份验证延迟。您当前的临时更新间隔设置为 2 分钟。请描述一个既能解决眼前性能问题又能降低底层架构风险的多步骤修复计划。

提示:同时考虑配置更改和架构更改。目标是在减少写入负载的同时,保持审计追踪的完整性。

查看标准答案

整改计划应从三个层面进行。首先,作为紧急修复措施,在所有无线控制器上将临时更新间隔(interim update interval)从2分钟增加到15分钟。这能将计费写入负载降低约87%(从每2分钟写入一次减少到每会话15分钟写入一次),从而立竿见影地缓解数据库的 I/O 压力。其次,将认证与计费工作负载分离到专用的服务器实例上。认证服务器处理 Access-Request/Accept/Reject 数据包,而专用的计费服务器则处理 Accounting-Request 数据包并写入独立的数据库。这可以防止计费写入负载影响认证响应时间。第三,针对潜在的架构风险,评估时序数据库(例如 InfluxDB 或 TimescaleDB)是否比关系型数据库更适合计费工作负载。时序数据库针对高并发顺序写入和时间范围查询进行了优化,完全契合计费数据的特征。将计费写入迁移到时序数据库,同时保留关系型数据库用于合规性报告查询。

常见问题

What is RFC 2866 RADIUS accounting and how does it differ from RADIUS authentication?

RFC 2866 defines RADIUS accounting as a distinct UDP protocol (port 1813) decoupled from authentication (UDP 1812). While authentication validates client identity and authorizes access, accounting tracks session lifecycle events through three message types: Accounting-Start (session initiation), Accounting-Stop (disconnection), and periodic Interim-Update packets. These packets record connect timestamps, session durations, input and output octets, and termination reasons.

How do Acct-Interim-Interval timers impact network controllers and RADIUS servers?

Acct-Interim-Interval (Attribute 85) controls the heartbeat frequency at which Network Access Servers transmit session progress telemetry. Setting this interval too low (under 120 seconds) creates write amplification on backend database tables and consumes excess CPU on access points. Setting it too high (over 900 seconds) leaves ghost sessions active in analytics pipelines and delays bandwidth quota enforcement. An interval between 300 and 600 seconds offers the optimal balance between real-time accuracy and server capacity.

How does RADIUS accounting track client bandwidth consumption accurately?

Bandwidth utilization is reported using Acct-Input-Octets (Attribute 42) and Acct-Output-Octets (Attribute 43), representing bytes transmitted and received by the client. For high-throughput WiFi 6 and WiFi 7 connections that exceed 4GB of traffic during a single session, RFC 2869 attributes Acct-Input-Gigawords (Attribute 52) and Acct-Output-Gigawords (Attribute 53) track 32-bit counter rollovers to provide exact multi-gigabyte session accounting.

Why is Acct-Delay-Time essential when Network Access Servers buffer accounting packets?

When network congestion or temporary WAN outages prevent a NAS from reaching the RADIUS accounting server, the controller queues accounting packets in local memory. RFC 2866 Section 5.1 requires the NAS to populate Acct-Delay-Time (Attribute 41) with the number of seconds a packet sat in its queue before successful delivery. The RADIUS server subtracts this delay from the receipt timestamp to determine the exact historical event time, preventing audit log clock skew.

How should network administrators prevent database bottlenecks from RADIUS accounting logs?

Large campuses and high-density venues generate millions of accounting rows daily. To maintain sub-millisecond database insertion times and prevent table locking, administrators should implement monthly or daily table partitioning on the radacct table using AcctStartTime range keys. Indexing should be restricted to Acct-Unique-Id, UserName, and FramedIPAddress, while historical audit partitions older than the statutory retention window are archived to cold object storage.

How does Purple utilize RADIUS accounting for enterprise analytics and compliance?

Purple ingests RFC 2866 accounting streams from enterprise access points to power real-time visitor presence dashboards, dwell time metrics, and bandwidth policy enforcement. Purple automatically reconciles Acct-Session-Id telemetry across multi-vendor networks, correlates physical venue footfall with digital authentication events, and retains tamper-evident audit logs with a configurable retention window, so the period you keep visitor records for is one you can document and defend.

对您的具体配置有疑问吗?

我们的团队与 80,000 多个场所的运营方、IT 经理和网络工程师保持合作。预约 20 分钟的通话,我们将为您展示同行是如何解决类似问题的。