Skip to main content

Accounting RADIUS: seguimiento de sesiones, uso y registros de auditoría

This guide provides a comprehensive technical reference on RADIUS accounting — how it records WiFi session start, stop, and interim-update data, what attributes are captured, and how to leverage that data for security auditing, GDPR compliance, and capacity planning. It is essential reading for network operations and security teams who need defensible audit trails from WiFi authentication events, and for venue operators seeking to integrate session data into SIEM platforms and analytics dashboards.

📖 9 min de lectura📝 2,044 palabras🔧 2 ejemplos3 preguntas📚 9 términos clave

🎧 Escuchar esta guía

Ver transcripción
Welcome back to the Purple Technical Briefing. I'm your host, and today we're diving into a critical, yet often misunderstood, component of enterprise WiFi infrastructure: RADIUS Accounting. Specifically, how we track sessions, monitor usage, and build robust audit logs. If you're an IT manager, a network architect, or a venue operations director, this is for you. We're skipping the academic theory and getting straight into the practical application. Let's start with the fundamentals. For the CTO who needs the 60-second elevator pitch: what is RADIUS accounting, and how does it differ from RADIUS authentication? Simply put, authentication is the bouncer at the door checking your ID. Accounting is the bartender tracking how long you stay and how much you consume. Authentication uses UDP port 1812 and handles the who and how of network access. Accounting uses UDP port 1813 and meticulously records the what, when, and how much. It tracks when a session starts, when it stops, how many bytes were transferred, and what IP address was assigned to the client device. So it's the audit trail. But how exactly does it capture this data? What's the mechanism? It relies on three primary packet types sent from the Network Access Server — usually your Access Point or Wireless Controller — to the RADIUS server. These are called Accounting-Request packets. First, you have the Start packet. This is sent the moment a user successfully connects. It establishes the baseline record in the accounting database, capturing the user identity, device MAC address, assigned IP address, and the AP the user connected to. Then, you have the Stop packet, sent when the user disconnects, containing the final cumulative statistics for the entire session. That sounds straightforward. Start and Stop. Job done. Not quite. Relying only on Start and Stop packets is a significant operational risk. Consider this: what happens if a guest connects in a hotel and stays connected for three days? If you only rely on Start and Stop, you have zero visibility into their usage for those three days. Or worse, what if the Access Point loses power? It never sends the Stop packet, and you're left with a stale session in your database that looks like it's still active indefinitely. So what's the solution? The third packet type: the Interim-Update. This is critical, and it's the most commonly misconfigured element in RADIUS accounting deployments. You configure the Wireless Controller to send an update every, say, 15 minutes during an active session. It acts as a heartbeat and provides a running snapshot of current usage — bytes transferred, session duration, and packet counts. If the RADIUS server stops receiving interim updates from a particular session, you know the session is dead, even if you never received a Stop packet. The rule of thumb here is simple: No Interim, No Insight. Now let's talk about the data itself. What specific attributes are we looking at in these packets that are so valuable for audit logs and compliance reporting? There are several key ones. The Acct-Session-Id is the primary key that ties the Start, Interim-Update, and Stop packets together into a coherent session record. Without this, you can't correlate the three packet types. Then you have the Calling-Station-Id, which is typically the client's MAC address — the hardware identifier of the device. The Framed-IP-Address is the IP address assigned to the client for that session. The Acct-Input-Octets and Acct-Output-Octets track the volume of data received from and sent to the client. And the Acct-Terminate-Cause, included in Stop packets, tells you why the session ended — whether the user manually disconnected, hit an idle timeout, or the carrier was lost. How do we use those attributes in a real-world scenario? Let's take GDPR compliance or a lawful intercept request. This is precisely where RADIUS accounting proves its return on investment. Let's say law enforcement approaches a retail chain and says: an IP address on your guest WiFi was used to access malicious content last Tuesday at 2 PM. Who was it? If you only have firewall logs, you just have an IP address. But IP addresses change constantly with DHCP. You need to tie that IP to a specific device at a specific point in time. So, you query your RADIUS accounting database. You look for a session where the Framed-IP-Address matches the IP from the firewall log, and where the timestamp of the incident falls between the session's Start time and Stop time. That record will give you the Calling-Station-Id — the MAC address of the device. You've just tied the network layer to the device layer. That's your complete audit trail. Let's look at another scenario: a large hotel property. The hospitality sector is particularly exposed here. A 300-room hotel with conference facilities might have thousands of concurrent WiFi sessions. The operations team needs to understand peak usage periods for capacity planning, while the compliance team needs to demonstrate that guest data is handled appropriately under GDPR. In this environment, RADIUS accounting provides both. The session data feeds into a WiFi analytics platform, which translates raw bytes and session durations into footfall metrics and bandwidth consumption trends. Simultaneously, the same data feeds into a compliance reporting module that can demonstrate to auditors exactly what data was collected, for how long it was retained, and how it was secured. So, to make all of this happen, we need to get this data out of the RADIUS server and into systems where we can query and act on it. How should teams be architecting that pipeline? The first rule is: don't leave the logs sitting in flat text files on the RADIUS server. Configure the server to write accounting data to a structured relational database — PostgreSQL or MySQL are common choices. From there, you have two primary consumption paths. First, forward the logs to your SIEM — Splunk, Microsoft Sentinel, or IBM QRadar — using Syslog or a REST API. This enables your security team to correlate WiFi authentication events with firewall blocks, intrusion detection alerts, or data loss prevention triggers. Second, feed the data into your analytics platform. Purple's WiFi Analytics, for example, can ingest this session data and transform it into actionable insights about footfall, dwell time, and capacity utilisation. Now let's talk about the common pitfalls. Where do deployments go wrong? Two main failure modes. First, as we've discussed, failing to enable Interim-Updates at all. This is surprisingly common. Administrators configure authentication correctly but never touch the accounting settings. Second, and this is equally damaging, setting the Interim-Update interval too aggressively. If you have 10,000 concurrent users and you set the interval to 1 minute, you are generating 10,000 database write operations per minute just for accounting updates. That will saturate your RADIUS server's I/O capacity very quickly. The sweet spot for most enterprise deployments is 10 to 15 minutes. It provides sufficient granularity for operational visibility without creating an unsustainable write load. Let's run through a rapid-fire set of scenarios. Scenario one: A venue manager reports that the analytics dashboard shows users connected for 48 hours, but the venue is closed overnight. That's a stale session problem. The Access Points aren't sending Stop packets — likely due to a power cycle or network interruption — and the sessions are never being closed in the database. The fix is to implement a dead-session cleanup script on the RADIUS server. Any session that hasn't received an interim update within two to three times the configured interval should be automatically closed. Scenario two: A retail chain's security team says firewall logs only show IP addresses, making it impossible to audit which specific point-of-sale terminal accessed a suspicious external IP. Ensure the Access Points are configured to include the Framed-IP-Address attribute in the RADIUS accounting packets, and integrate that RADIUS accounting database with the SIEM to correlate IP address to MAC address. Scenario three: The RADIUS server is experiencing high CPU load during peak hours, causing authentication delays. Check the interim update interval first. If it's set to 1 or 2 minutes across a large estate, increase it to 15 minutes. Also verify that the accounting database has appropriate indexes on the Acct-Session-Id and User-Name columns. Unindexed tables will cause full table scans on every write, which is catastrophic at scale. And consider separating your authentication and accounting workloads onto dedicated server instances. To wrap up, here are the key takeaways for any IT manager or network architect implementing or auditing their RADIUS accounting infrastructure. First: RADIUS accounting is distinct from authentication. It tracks session data, not access decisions. Both are essential, but they serve different operational and compliance purposes. Second: Always enable Interim-Updates. Without them, you have no visibility into active sessions and no mechanism to detect stale records. Third: The three attributes you must always capture are Acct-Session-Id, Framed-IP-Address, and Calling-Station-Id. These three form the foundation of any meaningful audit trail. Fourth: Export your accounting data. Don't leave it in flat files. Write to a structured database, forward to a SIEM, and feed into an analytics platform. Fifth: Design for scale. A 15-minute interim update interval is the right balance for most enterprise deployments. Adjust based on your specific compliance requirements and infrastructure capacity. The bottom line is this: RADIUS accounting is not a nice-to-have. In any regulated environment — hospitality, retail, healthcare, public sector — it is the foundation of your WiFi audit trail. Get it right, and you have a powerful tool for security, compliance, and operational intelligence. Get it wrong, and you have a gap in your audit trail that could prove very costly. Thank you for listening to the Purple Technical Briefing. Until next time.

header_image.png

Resumen ejecutivo

Para los equipos de operaciones de red y TI empresarial, autenticar a los usuarios en una red WiFi es solo la mitad del trabajo. Una vez que un dispositivo está conectado, comprender qué hace (cuánto tiempo permanece conectado, cuántos datos consume y cuándo se desconecta) es fundamental para la seguridad, la planificación de la capacidad y el cumplimiento normativo. Aquí es donde el Accounting RADIUS se vuelve indispensable. Mientras que la autenticación RADIUS gestiona el quién y el cómo del acceso a la red, el Accounting RADIUS registra meticulosamente el qué, el cuándo y el cuánto.

Esta guía ofrece un análisis técnico exhaustivo del Accounting RADIUS, explorando la mecánica de los paquetes Start, Stop e Interim-Update, y los atributos que los hacen valiosos. Describe cómo los operadores de recintos en los sectores de Hostelería , Retail y otros pueden aprovechar estos datos para mantener registros de auditoría sólidos, garantizar el cumplimiento del GDPR y proporcionar inteligencia procesable a las plataformas SIEM o a los sistemas de WiFi Analytics . Al dominar el Accounting RADIUS, los arquitectos de red pueden transformar los registros de sesión sin procesar en activos estratégicos que impulsen la eficiencia operativa y mitiguen los riesgos.


Análisis técnico exhaustivo

Accounting RADIUS frente a Autenticación RADIUS

RADIUS (Remote Authentication Dial-In User Service), definido en el RFC 2865 y ampliado para accounting en el RFC 2866 , opera bajo un modelo cliente-servidor. En un despliegue WiFi empresarial típico, el punto de acceso (AP) o el controlador LAN inalámbrico (WLC) actúa como el Servidor de Acceso a la Red (NAS), es decir, el cliente RADIUS. El servidor RADIUS (por ejemplo, FreeRADIUS, Cisco ISE, Aruba ClearPass) recibe y procesa las solicitudes.

La distinción entre autenticación y accounting es fundamental:

Dimensión Autenticación RADIUS Accounting RADIUS
Propósito Verificar la identidad y conceder/denegar el acceso Registrar el uso y la actividad de la sesión
Puerto UDP 1812 1813
Referencia RFC RFC 2865 RFC 2866
Tipos de paquetes Access-Request, Access-Accept, Access-Reject Accounting-Request (Start/Stop/Interim)
Datos capturados Credenciales, asignación de VLAN, políticas Tiempo de sesión, bytes transferidos, dirección IP
Rol de cumplimiento Control de acceso Registro de auditoría, interceptación legal

Para los equipos que despliegan Guest WiFi a gran escala, ambas funciones son necesarias, pero el accounting es lo que garantiza el cumplimiento normativo y la defensa legal.

Los tres tipos de paquetes de Accounting

El Accounting RADIUS se basa en tres tipos principales de paquetes Accounting-Request, cada uno definido por el atributo Acct-Status-Type:

  1. Start (Acct-Status-Type = 1): Enviado por el NAS cuando un usuario se conecta correctamente y comienza una sesión. Establece el registro base en la base de datos de accounting, capturando la identidad del usuario, la dirección MAC del dispositivo, la dirección IP asignada y el AP al que se conectó el usuario.

  2. Interim-Update (Acct-Status-Type = 3): Enviado periódicamente durante una sesión activa. Estos paquetes proporcionan instantáneas continuas del uso actual: bytes transferidos, duración de la sesión y recuento de paquetes. Actúan como un latido (heartbeat) para confirmar que la sesión sigue activa y ofrecen visibilidad de las sesiones prolongadas sin tener que esperar a la desconexión.

  3. Stop (Acct-Status-Type = 2): Enviado cuando finaliza la sesión, ya sea por una desconexión iniciada por el usuario, un reinicio del AP, un tiempo de espera por inactividad o un tiempo de espera de la sesión. Contiene las estadísticas finales y acumulativas de toda la sesión.

radius_packet_flow_diagram.png

Figura 1: Ciclo de vida de los paquetes de Accounting RADIUS durante una sesión WiFi.

Atributos clave de Accounting

Para realizar un seguimiento eficaz de las sesiones y crear registros de auditoría defendibles, el NAS rellena los paquetes Accounting-Request con atributos específicos. Los siguientes son los más significativos a nivel operativo:

Atributo Descripción Relevancia para el cumplimiento
Acct-Session-Id Identificador de sesión único generado por el NAS Clave principal para correlacionar los registros Start, Interim y Stop
User-Name Identidad autenticada (nombre de usuario o dirección MAC) Vincula la sesión a un usuario o dispositivo específico
NAS-IP-Address Dirección IP del AP o WLC que informa Identifica el segmento de red y la ubicación física
Framed-IP-Address Dirección IP asignada al dispositivo cliente Fundamental para la correlación con los registros del firewall y del proxy web
Calling-Station-Id Dirección MAC del dispositivo cliente Identidad de la capa de dispositivo para el registro de auditoría
Called-Station-Id Dirección MAC del AP y SSID Identifica la radio y la red específicas a las que se conectó el usuario
Acct-Input-Octets Bytes recibidos del cliente Monitorización del ancho de banda y planificación de la capacidad
Acct-Output-Octets Bytes enviados al cliente Monitorización del ancho de banda y planificación de la capacidad
Acct-Session-Time Duración de la sesión en segundos Análisis del tiempo de permanencia y facturación
Acct-Terminate-Cause Motivo por el que finalizó la sesión Resolución de problemas y detección de anomalías

Para los equipos que trabajan con Autenticación 802.1X , el atributo User-Name contendrá la identidad autenticada del intercambio EAP, lo que proporciona un registro de auditoría más completo que el MAC Authentication Bypass (MAB) por sí solo.


Guía de implementación

El despliegue de una infraestructura sólida de Accounting RADIUS requiere una configuración cuidadosa tanto a nivel del NAS como del servidor RADIUS. A continuación, se presenta un enfoque independiente del proveedor para establecer un flujo de datos de accounting fiable.

Paso 1: Configurar el NAS (Puntos de acceso / Controladores)

La configuración del NAS es donde fallan la mayoría de los despliegues. A menudo, los administradores configuran la autenticación correctamente, pero dejan el accounting con la configuración predeterminada o totalmente desactivado.

  • Definir el servidor de Accounting: Especifique la dirección IP del servidor RADIUS y el secreto compartido para el puerto UDP 1813. En despliegues de alta disponibilidad, configure un servidor de accounting secundario para evitar la pérdida de datos si el principal deja de estar accesible.
  • Habilitar Interim Updates: Este es el paso de configuración más importante. Establezca un intervalo adecuado (normalmente de 10 a 15 minutos para despliegues empresariales). Los intervalos más cortos (por ejemplo, 1 minuto) proporcionan datos más granulares, pero generan una carga de escritura insostenible a gran escala; los intervalos más largos (por ejemplo, 30 minutos) reducen la sobrecarga, pero retrasan la visibilidad de las sesiones activas.
  • Garantizar la sincronización horaria: Configure NTP en todos los dispositivos NAS y en el servidor RADIUS. Las marcas de tiempo precisas son innegociables para los registros de auditoría y la correlación SIEM. Un desfase de reloj de 5 minutos puede invalidar un registro de auditoría en un escenario de interceptación legal.

Paso 2: Configurar el servidor RADIUS

  • Integración de bases de datos: Configure el servidor RADIUS para registrar los datos de accounting en una base de datos relacional estructurada (por ejemplo, PostgreSQL, MySQL) en lugar de en archivos de texto plano. El almacenamiento estructurado permite realizar consultas eficientes, indexar e integrar con sistemas posteriores. Asegúrese de que existan índices en Acct-Session-Id, User-Name, Framed-IP-Address y en la marca de tiempo de inicio de la sesión.
  • Políticas de retención de datos: Implemente scripts de archivo o purga automatizados alineados con sus requisitos de cumplimiento. El artículo 5(1)(e) del GDPR exige que los datos no se conserven más tiempo del necesario; sin embargo, las normativas de interceptación legal en muchas jurisdicciones (por ejemplo, la Ley de Poderes de Investigación de 2016 del Reino Unido) pueden exigir una retención de hasta 12 meses.

Paso 3: Crear el flujo de datos

Para maximizar el valor de los datos de accounting, deben exportarse a plataformas de consumo donde puedan consultarse, correlacionarse y visualizarse.

  • Integración SIEM: Configure el servidor RADIUS o la base de datos subyacente para reenviar los registros a su SIEM (por ejemplo, Splunk, Microsoft Sentinel, IBM QRadar) mediante Syslog o una API REST. Esto permite a los equipos de seguridad correlacionar los eventos de autenticación WiFi con bloqueos de firewall, alertas de detección de intrusiones o activadores de prevención de pérdida de datos.
  • Integración de análisis: Introduzca los datos de sesión en plataformas como WiFi Analytics de Purple para transformar los bytes sin procesar y las direcciones MAC en información procesable sobre la afluencia, el tiempo de permanencia y los periodos de máxima afluencia. Esto es especialmente valioso para los operadores de Retail y Hostelería que necesitan alinear la dotación de personal y la inversión en infraestructura con los patrones de uso reales.

siem_integration_overview.png

Figura 2: Flujo de datos de Accounting RADIUS desde los puntos de acceso hasta las plataformas SIEM y de análisis.


Mejores prácticas

Utilice siempre Interim Updates. Depender únicamente de los paquetes Start y Stop crea puntos ciegos operativos. Una conexión caída o un fallo de alimentación del AP pueden impedir que se envíe un paquete Stop, dejando una sesión inactiva en la base de datos indefinidamente. Las actualizaciones provisionales (Interim Updates) proporcionan el mecanismo para detectar y cerrar estas sesiones inactivas. La regla general: si una sesión no ha enviado una actualización provisional en un plazo de dos a tres veces el intervalo configurado, considérela terminada.

Correlacione el Accounting RADIUS con los registros DHCP. El Accounting RADIUS proporciona la Framed-IP-Address, pero los tiempos de concesión de DHCP pueden ser más cortos que la duración de las sesiones en algunos entornos. Mantener los registros DHCP junto con los registros RADIUS proporciona un registro de auditoría más resistente, especialmente en recintos de alta densidad donde el reciclaje de direcciones IP es frecuente.

Asegure el transporte con RadSec. El tráfico RADIUS tradicional se transmite a través de UDP con un cifrado mínimo (solo se ofusca el campo de la contraseña del usuario). En despliegues distribuidos, especialmente aquellos que abarcan múltiples sitios o servidores RADIUS alojados en la nube, utilice RadSec (RADIUS sobre TLS, definido en el RFC 6614) o túneles IPsec para proteger los datos de accounting en tránsito. Este es un requisito de PCI DSS 4.0 para cualquier red que maneje datos de titulares de tarjetas.

Monitorice la cola de Accounting. Si el servidor RADIUS deja de estar accesible, los dispositivos NAS pondrán en cola los paquetes de accounting localmente. Monitorice la longitud de esta cola; una cola llena provocará la pérdida de paquetes y de datos de auditoría. Configure alertas sobre la profundidad de la cola e implemente un servidor de accounting secundario para despliegues de alta disponibilidad.

Separe los servidores de Autenticación y Accounting a gran escala. En despliegues que superan los 5000 usuarios simultáneos, la carga de escritura del accounting puede degradar los tiempos de respuesta de la autenticación. Los servidores de accounting dedicados con instancias de bases de datos separadas evitan este conflicto.


Resolución de problemas y mitigación de riesgos

El problema de las sesiones inactivas

Síntoma: La base de datos RADIUS muestra que un usuario ha estado conectado durante 48 horas, pero el recinto cerró durante la noche.

Causa raíz: El NAS no pudo enviar un paquete Stop (normalmente debido a un fallo de alimentación, un reinicio del AP o una interrupción de la red) y el servidor RADIUS nunca recibió el paquete.

Mitigación: Implemente un script de limpieza de sesiones muertas en el servidor RADIUS. El script debe buscar periódicamente sesiones activas en las que el último paquete recibido (Start o Interim-Update) sea anterior a un umbral definido (por ejemplo, 2,5 veces el intervalo de actualización provisional). Las sesiones que superen este umbral deben cerrarse de forma forzada con un registro Stop sintético, indicando como causa de finalización 'Lost-Carrier' o 'Admin-Reset'.

Alta carga de CPU y E/S en el servidor RADIUS

Síntoma: Los tiempos de respuesta de autenticación se degradan durante las horas punta; el servidor RADIUS informa de un alto uso de CPU y E/S de disco.

Causa raíz: Un intervalo de actualización provisional demasiado agresivo (por ejemplo, 1 minuto) en miles de AP genera un volumen insostenible de escrituras en la base de datos.

Mitigación: Aumente el intervalo de actualización provisional a 15 minutos. Verifique que la base de datos de accounting tenga los índices adecuados. Considere la posibilidad de separar la autenticación y el accounting en instancias de servidor dedicadas. Evalúe si una base de datos de series temporales (por ejemplo, InfluxDB) es más adecuada que una base de datos relacional para datos de accounting de gran volumen.

Falta de Framed-IP-Address en los registros de Accounting

Síntoma: Existen registros de Accounting RADIUS, pero el campo Framed-IP-Address está vacío o ausente, lo que imposibilita la correlación de IP a MAC.

Causa raíz: Es posible que el NAS esté enviando el paquete Start antes de que DHCP haya asignado una dirección IP al cliente. La IP solo está disponible una vez que se completa el intercambio DHCP.

Mitigación: Configure el NAS para retrasar el envío del paquete Start hasta después de la asignación DHCP, si la plataforma lo admite. Como alternativa, confíe en los paquetes Interim-Update, que se envían después de la asignación DHCP y contendrán la Framed-IP-Address. Asegúrese de que sus consultas de auditoría tengan esto en cuenta comprobando los registros Interim-Update si el registro Start carece de una IP.


ROI e impacto empresarial

La implementación de un Accounting RADIUS sólido ofrece un valor empresarial medible en tres dimensiones:

Cumplimiento y mitigación de riesgos legales. En caso de un incidente de seguridad, una solicitud de acceso de un interesado en virtud del GDPR o una orden de interceptación legal, los registros de accounting precisos proporcionan el registro de auditoría necesario para identificar qué usuario o dispositivo tenía una dirección IP específica en un momento determinado. Sin esto, las organizaciones se enfrentan a posibles sanciones normativas en virtud del GDPR (hasta el 4 % de la facturación anual global) y a daños en su reputación. El coste de implementar una infraestructura de accounting adecuada es una fracción del coste de una sola acción de ejecución normativa.

Planificación de la capacidad y ROI de la infraestructura. Al analizar las tendencias de Acct-Input-Octets y Acct-Output-Octets a lo largo del tiempo, los arquitectos de red pueden identificar patrones de consumo de ancho de banda, periodos de máximo uso y los AP o SSID específicos que generan la mayor carga. Estos datos informan directamente las decisiones de actualización de la WAN y las estrategias de ubicación de los AP, lo que garantiza que la inversión en infraestructura se dirija a donde tenga el mayor impacto. Para los centros de Transporte y los grandes recintos, esto puede representar un ahorro significativo en gastos de capital.

Análisis mejorado e inteligencia de recintos. Cuando los datos de sesión RADIUS se combinan con plataformas como WiFi Analytics y Sensors de Purple, los datos de accounting sin procesar se transforman en inteligencia de recintos. Las métricas de tiempo de permanencia derivadas de la duración de la sesión, la identificación de visitantes recurrentes a partir del historial de Calling-Station-Id y el análisis de ocupación máxima a partir del recuento de sesiones simultáneas pasan a estar disponibles. Para los operadores de Hostelería , estos datos informan directamente los modelos de dotación de personal, la ubicación de alimentos y bebidas (F&B) y las estrategias de personalización de marketing. Para obtener más contexto sobre cómo la infraestructura WiFi respalda estas capacidades, consulte nuestras guías sobre Puntos de acceso inalámbrico y Soluciones modernas de WiFi para hostelería .

Términos clave y definiciones

RADIUS Accounting

The process of collecting and recording data about user network resource consumption, including session start and end times, data volume transferred, and IP address assignment. Defined in RFC 2866.

Essential for billing, capacity planning, GDPR compliance, and maintaining security audit trails in any enterprise WiFi deployment.

Acct-Status-Type

A RADIUS attribute (Attribute ID 40) that indicates the purpose of an accounting packet. Values include Start (1), Stop (2), and Interim-Update (3).

Used by the RADIUS server to determine whether to create a new session record, update an existing one, or close it. The most fundamental attribute in any accounting packet.

Interim-Update

A periodic RADIUS accounting packet sent by the NAS during an active session to report current usage statistics, including bytes transferred and session duration.

Critical for tracking long-lived sessions and detecting stale sessions if a client disconnects unexpectedly without sending a Stop packet.

Acct-Session-Id

A unique string generated by the NAS to identify a specific user connection instance. This value is consistent across all accounting packets (Start, Interim-Update, Stop) for the same session.

The primary key used to correlate all accounting records belonging to the same session. Without this, it is impossible to reconstruct a complete session history.

NAS (Network Access Server)

The device — typically a Wireless Access Point or Wireless LAN Controller — that controls physical access to the network and acts as the RADIUS client, generating and sending accounting packets.

The NAS is responsible for the accuracy and completeness of accounting data. Misconfiguration at the NAS level (e.g., disabled accounting, missing attributes) cannot be remediated at the RADIUS server level.

Framed-IP-Address

The IP address assigned to the client device for the duration of the session, included in RADIUS accounting packets.

Critical for correlating RADIUS accounting logs with other network logs such as firewall, web proxy, or DNS logs. The absence of this attribute makes IP-to-device correlation impossible.

Calling-Station-Id

Typically the MAC address of the client device connecting to the network, formatted as a colon-separated hexadecimal string (e.g., AA:BB:CC:DD:EE:FF).

Used to identify the specific hardware device, regardless of the IP address it is assigned. The device-layer anchor of the audit trail.

Acct-Terminate-Cause

An attribute included in Stop packets that specifies the reason a session ended. Common values include User-Request, Lost-Carrier, Idle-Timeout, Session-Timeout, and Admin-Reset.

Valuable for troubleshooting connectivity issues and for anomaly detection — for example, a high rate of Lost-Carrier terminations on a specific AP may indicate a hardware or interference problem.

RadSec

RADIUS over TLS (Transport Layer Security), defined in RFC 6614. Provides encrypted and authenticated transport for RADIUS packets, replacing the traditional UDP-based transport.

Required in any deployment where RADIUS traffic traverses untrusted networks (e.g., internet-connected cloud RADIUS servers). Increasingly mandated by PCI DSS 4.0 for cardholder data environments.

Casos de éxito

A 300-room hotel with conference facilities is deploying a new guest WiFi network. The IT manager needs to ensure that the deployment meets GDPR requirements for data minimisation and audit trail completeness, while also providing the marketing team with dwell time and repeat visitor analytics. The hotel uses a cloud-hosted RADIUS server and Cisco Meraki APs.

The deployment should be configured as follows. On the Meraki dashboard, navigate to Network-wide > RADIUS servers and add the cloud RADIUS server on port 1813 with a strong shared secret. Enable accounting and set the interim update interval to 15 minutes. On the RADIUS server, configure accounting to write to a PostgreSQL database with the following schema: session_id (primary key), user_name, nas_ip, framed_ip, calling_station_id, called_station_id, session_start, session_end, input_octets, output_octets, terminate_cause. Implement a data retention policy that automatically archives records older than 12 months to cold storage and purges records older than 24 months, documented in the hotel's GDPR Record of Processing Activities. Configure a Purple WiFi Analytics integration to ingest the session data, enabling the marketing team to access dwell time reports and repeat visitor frequency dashboards. Ensure NTP is synchronised across all Meraki APs and the RADIUS server to within 1 second.

Notas de implementación: This scenario demonstrates the dual-purpose nature of RADIUS accounting: compliance and analytics. The 15-minute interim update interval is appropriate for a hotel environment where sessions can last days. The PostgreSQL schema design ensures that all GDPR-relevant fields are captured while avoiding unnecessary data collection. The 12/24-month retention policy balances the UK Investigatory Powers Act requirements with GDPR data minimisation principles.

A retail chain with 150 stores needs to comply with PCI DSS 4.0 requirements for network access monitoring. Their point-of-sale terminals use MAC Authentication Bypass (MAB) on the WiFi network. The security team has received a request from their QSA (Qualified Security Assessor) to demonstrate that they can identify which specific POS terminal accessed the payment network at any given time, using only a source IP address and timestamp from a firewall log.

The solution requires a three-component integration. First, verify that all Wireless LAN Controllers are configured to include the Framed-IP-Address attribute in RADIUS accounting packets. This is not always enabled by default and must be explicitly configured. Second, integrate the RADIUS accounting database with the SIEM platform (e.g., Splunk). Create a lookup table in Splunk that maps Framed-IP-Address and session time ranges to Calling-Station-Id (MAC address). Third, create a Splunk saved search that accepts a source IP and timestamp as inputs and returns the corresponding MAC address, NAS-IP-Address (identifying the store and AP), and User-Name from the RADIUS accounting records. The QSA can then be demonstrated this workflow: given a firewall log entry showing source IP 10.5.12.44 at 14:23:07 on a specific date, the search returns the MAC address of the POS terminal, the AP it was connected to, and the store location.

Notas de implementación: This scenario highlights the critical role of the Framed-IP-Address attribute in bridging the gap between network-layer identity (IP address) and device-layer identity (MAC address). The SIEM lookup table approach is the industry-standard method for this type of correlation. Note that in environments with very short DHCP lease times, the correlation must use a time-range query rather than a point-in-time lookup, as the same IP may have been assigned to multiple devices within a short window.

Análisis de escenarios

Q1. A hotel IT manager notices that the WiFi analytics dashboard shows very few active users during the day, even though the lobby and restaurant are visibly busy. However, the historical reports for the previous day show a massive spike in data usage. The RADIUS server logs confirm that Start packets are being received, but the database shows very few Interim-Update records. What is the most likely misconfiguration, and how would you resolve it?

💡 Sugerencia:Consider how data usage is reported during an active session versus at the point of disconnection.

Mostrar enfoque recomendado

The most likely cause is that Interim-Updates are disabled or not configured on the Wireless LAN Controller. Without interim updates, the RADIUS server only receives a Start packet when the user connects and a Stop packet when they disconnect. The analytics dashboard cannot display current usage because no in-session data is being reported. Once users leave and disconnect, the Stop packets arrive with the total accumulated data, causing the delayed spike in historical reports. The resolution is to enable Interim-Updates on the WLC and set an appropriate interval — 15 minutes is recommended for a hotel environment. After enabling, verify that the RADIUS server is receiving Interim-Update packets by checking the accounting database for records with Acct-Status-Type = 3.

Q2. During a security incident investigation, your SIEM has flagged that an IP address on the guest WiFi network accessed a known command-and-control server at 09:47:23 on a specific date. You need to identify the physical device responsible. Your DHCP lease time is set to 30 minutes. Describe the exact query logic you would use against the RADIUS accounting database to identify the device.

💡 Sugerencia:IP addresses are not static. You must use a time-range query, not a point-in-time lookup, and account for DHCP lease recycling.

Mostrar enfoque recomendado

You must query the RADIUS accounting database for sessions where: (1) the Framed-IP-Address equals the flagged IP address, AND (2) the session_start timestamp is earlier than or equal to 09:47:23, AND (3) either the session_end timestamp is later than or equal to 09:47:23, OR the session_end is NULL (session still active at query time). If multiple sessions match (possible with a 30-minute DHCP lease), review the Interim-Update records to confirm which session was actively reporting usage at 09:47:23. The matching session record will contain the Calling-Station-Id (MAC address of the device) and the User-Name (authenticated identity, if 802.1X was used). Cross-reference the MAC address with your device inventory or DHCP server logs to identify the physical device and its owner.

Q3. You are the network architect for a conference centre that hosts events with up to 8,000 concurrent WiFi users. Your current RADIUS server is experiencing database write saturation during peak events, causing authentication delays of 3-5 seconds. Your current interim update interval is set to 2 minutes. Describe a multi-step remediation plan that addresses both the immediate performance issue and the underlying architectural risk.

💡 Sugerencia:Consider both configuration changes and architectural changes. The goal is to maintain audit trail completeness while reducing write load.

Mostrar enfoque recomendado

The remediation plan should address three layers. First, as an immediate fix, increase the interim update interval from 2 minutes to 15 minutes on all Wireless Controllers. This reduces the accounting write load by approximately 87% (from one write per 2 minutes to one per 15 minutes per session), which should immediately relieve the database I/O pressure. Second, separate the authentication and accounting workloads onto dedicated server instances. The authentication server handles Access-Request/Accept/Reject packets, while a dedicated accounting server handles Accounting-Request packets and writes to a separate database. This prevents accounting write load from affecting authentication response times. Third, for the underlying architectural risk, evaluate whether a time-series database (e.g., InfluxDB or TimescaleDB) is more appropriate than a relational database for the accounting workload. Time-series databases are optimised for high-volume sequential writes and time-range queries, which matches the accounting data pattern exactly. Migrate accounting writes to the time-series database while retaining the relational database for compliance reporting queries.

Conclusiones clave

  • RADIUS accounting (RFC 2866) is distinct from authentication: it records session usage data — duration, bytes transferred, IP assignment — rather than making access control decisions.
  • The three packet types — Start, Interim-Update, and Stop — must all be configured and operational for a complete audit trail. Interim-Updates are the most commonly missed configuration.
  • The Acct-Session-Id, Framed-IP-Address, and Calling-Station-Id attributes form the minimum viable audit trail, enabling IP-to-device correlation for compliance and security investigations.
  • Stale sessions (caused by missing Stop packets) must be managed with a dead-session cleanup script using the 2.5x interim update interval rule.
  • RADIUS accounting data must be exported to a structured database and integrated with a SIEM and analytics platform to deliver its full compliance and operational value.
  • For PCI DSS, GDPR, and lawful intercept compliance, the ability to tie an IP address to a MAC address at a specific point in time is the core requirement that RADIUS accounting fulfils.
  • At scale (5,000+ concurrent users), separate authentication and accounting server instances and consider a time-series database for accounting writes to prevent performance degradation.