Skip to main content

RADIUS Accounting: Rastreamento de Sessões, Uso e Logs de Auditoria

Este guia fornece uma referência técnica abrangente sobre RADIUS accounting — como ele registra dados de início, término e atualizações intermediárias de sessões WiFi, quais atributos são capturados e como aproveitar esses dados para auditoria de segurança, conformidade com a GDPR e planejamento de capacidade. É uma leitura essencial para equipes de operações de rede e segurança que precisam de trilhas de auditoria defensáveis de eventos de autenticação WiFi, e para operadores de locais que buscam integrar dados de sessão em plataformas SIEM e dashboards de analytics.

📖 9 min de leitura📝 2,044 palavras🔧 2 exemplos3 perguntas📚 9 termos-chave

🎧 Ouça este Guia

Ver Transcrição
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

Resumo Executivo

Para equipes de TI corporativa e operações de rede, autenticar usuários em uma rede WiFi é apenas metade da batalha. Uma vez que um dispositivo está conectado, entender o que esse dispositivo faz — quanto tempo permanece conectado, quanto de dados consome e quando se desconecta — é crítico para segurança, planejamento de capacidade e conformidade regulatória. É aqui que o RADIUS accounting se torna indispensável. Enquanto a autenticação RADIUS lida com o quem e o como do acesso à rede, o RADIUS accounting registra meticulosamente o quê, o quando e o quanto.

Este guia fornece um mergulho técnico profundo no RADIUS accounting, explorando a mecânica dos pacotes Start, Stop e Interim-Update, e os atributos que os tornam valiosos. Ele descreve como operadores de locais em Hospitality , Retail e outros setores podem aproveitar esses dados para manter trilhas de auditoria robustas, garantir a conformidade com a GDPR e alimentar inteligência acionável em plataformas SIEM ou sistemas de WiFi Analytics . Ao dominar o RADIUS accounting, os arquitetos de rede podem transformar logs de sessão brutos em ativos estratégicos que impulsionam a eficiência operacional e mitigam riscos.


Mergulho Técnico Profundo

RADIUS Accounting vs. Autenticação RADIUS

O RADIUS (Remote Authentication Dial-In User Service), definido na RFC 2865 e estendido para accounting na RFC 2866 , opera em um modelo cliente-servidor. Em uma implantação típica de WiFi corporativo, o Access Point (AP) ou o Wireless LAN Controller (WLC) atua como o Network Access Server (NAS) — o cliente RADIUS. O servidor RADIUS (ex: FreeRADIUS, Cisco ISE, Aruba ClearPass) recebe e processa as solicitações.

A distinção entre autenticação e accounting é fundamental:

Dimensão Autenticação RADIUS RADIUS Accounting
Propósito Verificar identidade e conceder/negar acesso Registrar uso e atividade da sessão
Porta UDP 1812 1813
Referência RFC RFC 2865 RFC 2866
Tipos de Pacote Access-Request, Access-Accept, Access-Reject Accounting-Request (Start/Stop/Interim)
Dados Capturados Credenciais, atribuição de VLAN, política Tempo de sessão, bytes transferidos, endereço IP
Papel na Conformidade Controle de acesso Trilha de auditoria, interceptação legal

Para equipes que implantam Guest WiFi em escala, ambas as funções são necessárias — mas o accounting é o que mantém você em conformidade e defensável.

Os Três Tipos de Pacotes de Accounting

O RADIUS accounting baseia-se em três tipos principais de pacotes Accounting-Request, cada um definido pelo atributo Acct-Status-Type:

  1. Start (Acct-Status-Type = 1): Enviado pelo NAS quando um usuário se conecta com sucesso e uma sessão se inicia. Ele estabelece o registro base no banco de dados de accounting, capturando a identidade do usuário, o endereço MAC do dispositivo, o endereço IP atribuído e o AP ao qual o usuário se conectou.

  2. Interim-Update (Acct-Status-Type = 3): Enviado periodicamente durante uma sessão ativa. Esses pacotes fornecem instantâneos contínuos do uso atual — bytes transferidos, duração da sessão e contagem de pacotes. Eles agem como um "heartbeat" para confirmar que a sessão ainda está ativa e fornecer visibilidade sobre sessões de longa duração sem esperar pela desconexão.

  3. Stop (Acct-Status-Type = 2): Enviado quando a sessão termina — seja por uma desconexão iniciada pelo usuário, reinicialização do AP, tempo limite de inatividade ou tempo limite da sessão. Contém as estatísticas finais cumulativas de toda a sessão.

radius_packet_flow_diagram.png

Figura 1: O ciclo de vida do pacote de RADIUS accounting em uma sessão WiFi.

Principais Atributos de Accounting

Para rastrear sessões de forma eficaz e construir logs de auditoria defensáveis, o NAS preenche os pacotes Accounting-Request com atributos específicos. Os seguintes são os mais significativos operacionalmente:

Atributo Descrição Relevância para Conformidade
Acct-Session-Id Identificador de sessão exclusivo gerado pelo NAS Chave primária para correlacionar registros Start, Interim e Stop
User-Name Identidade autenticada (nome de usuário ou endereço MAC) Mapeia a sessão a um usuário ou dispositivo específico
NAS-IP-Address Endereço IP do AP ou WLC que está reportando Identifica o segmento de rede e a localização física
Framed-IP-Address Endereço IP atribuído ao dispositivo cliente Crítico para correlação com logs de firewall e proxy web
Calling-Station-Id Endereço MAC do dispositivo cliente Identidade da camada de dispositivo para trilha de auditoria
Called-Station-Id Endereço MAC do AP e SSID Identifica o rádio e a rede específicos aos quais o usuário se conectou
Acct-Input-Octets Bytes recebidos do cliente Monitoramento de largura de banda e planejamento de capacidade
Acct-Output-Octets Bytes enviados ao cliente Monitoramento de largura de banda e planejamento de capacidade
Acct-Session-Time Duração da sessão em segundos Analytics de tempo de permanência e faturamento
Acct-Terminate-Cause Motivo do término da sessão Solução de problemas e detecção de anomalias

Para equipes que trabalham com 802.1X Authentication , o atributo User-Name conterá a identidade autenticada da troca EAP, fornecendo uma trilha de auditoria mais rica do que apenas o MAC Authentication Bypass (MAB) sozinho.


Guia de Implementação

A implantação de uma infraestrutura robusta de RADIUS accounting requer uma configuração cuidadosa tanto no nível do NAS quanto no do servidor RADIUS. A seguir, apresentamos uma abordagem neutra em relação ao fornecedor para estabelecer um pipeline de accounting confiável.

Passo 1: Configurar o NAS (Access Points / Controladoras)

A configuração do NAS é onde a maioria das implementações falha. Os administradores geralmente configuram a autenticação corretamente, mas deixam o accounting nas configurações padrão ou totalmente desativado.

  • Defina o Servidor de Accounting: Especifique o endereço IP do servidor RADIUS e o segredo compartilhado para a porta UDP 1813. Em implementações de alta disponibilidade, configure um servidor de accounting secundário para evitar a perda de dados caso o primário fique inacessível.
  • Habilite Interim Updates: Este é o passo de configuração mais importante. Defina um intervalo apropriado — normalmente de 10 a 15 minutos para implementações empresariais. Intervalos mais curtos (ex: 1 minuto) fornecem dados mais granulares, mas geram uma carga de gravação insustentável em escala; intervalos mais longos (ex: 30 minutos) reduzem o overhead, mas atrasam a visibilidade das sessões ativas.
  • Garanta a Sincronização de Horário: Configure o NTP em todos os dispositivos NAS e no servidor RADIUS. Timestamps precisos são inegociáveis para logs de auditoria e correlação de SIEM. Um desvio de relógio de 5 minutos pode invalidar uma trilha de auditoria em um cenário de interceptação legal.

Passo 2: Configurar o Servidor RADIUS

  • Integração de Banco de Dados: Configure o servidor RADIUS para registrar dados de accounting em um banco de dados relacional estruturado (ex: PostgreSQL, MySQL) em vez de arquivos de texto simples. O armazenamento estruturado permite consultas eficientes, indexação e integração com sistemas downstream. Certifique-se de que existam índices em Acct-Session-Id, User-Name, Framed-IP-Address e no timestamp de início da sessão.
  • Políticas de Retenção de Dados: Implemente scripts automatizados de arquivamento ou limpeza alinhados aos seus requisitos de conformidade. O Artigo 5(1)(e) da GDPR exige que os dados não sejam mantidos por mais tempo do que o necessário; no entanto, as regulamentações de interceptação legal em muitas jurisdições (ex: o Investigatory Powers Act 2016 do Reino Unido) podem exigir a retenção por até 12 meses.

Passo 3: Construir o Pipeline de Dados

Para maximizar o valor dos dados de accounting, eles devem ser exportados para plataformas de consumo onde possam ser consultados, correlacionados e visualizados.

  • Integração de SIEM: Configure o servidor RADIUS ou o banco de dados subjacente para encaminhar logs para seu SIEM (ex: Splunk, Microsoft Sentinel, IBM QRadar) usando Syslog ou uma API REST. Isso permite que as equipes de segurança correlacionem eventos de autenticação WiFi com bloqueios de firewall, alertas de detecção de intrusão ou gatilhos de prevenção de perda de dados.
  • Integração de Analytics: Envie dados de sessão para plataformas como o WiFi Analytics da Purple para transformar bytes brutos e endereços MAC em insights acionáveis sobre fluxo de pessoas, tempo de permanência e períodos de pico de uso. Isso é particularmente valioso para operadores de Varejo e Hospitalidade que precisam alinhar o investimento em pessoal e infraestrutura com os padrões reais de uso.

siem_integration_overview.png

Figura 2: O pipeline de dados de accounting RADIUS, dos Access Points para as plataformas de SIEM e analytics.


Melhores Práticas

Sempre use Interim Updates. Depender apenas de pacotes Start e Stop cria pontos cegos operacionais. Uma queda de conexão ou falha de energia no Access Point pode impedir o envio de um pacote Stop, deixando uma sessão inativa no banco de dados indefinidamente. As interim updates fornecem o mecanismo para detectar e fechar essas sessões inativas. A regra de ouro: se uma sessão não enviou uma interim update dentro de duas a três vezes o intervalo configurado, trate-a como encerrada.

Correlacione o Accounting RADIUS com Logs de DHCP. O accounting RADIUS fornece o Framed-IP-Address, mas os tempos de concessão (lease) do DHCP podem ser menores que a duração da sessão em alguns ambientes. Manter logs de DHCP junto com logs de RADIUS fornece uma trilha de auditoria mais resiliente, particularmente em locais de alta densidade onde a reciclagem de endereços IP é frequente.

Proteja o Transporte com RadSec. O tráfego RADIUS tradicional é transmitido via UDP com criptografia mínima — apenas o campo de senha do usuário é ofuscado. Em implementações distribuídas, especialmente aquelas que abrangem vários sites ou servidores RADIUS hospedados na nuvem, use RadSec (RADIUS sobre TLS, definido na RFC 6614) ou túneis IPsec para proteger os dados de accounting em trânsito. Este é um requisito do PCI DSS 4.0 para qualquer rede que manipule dados de portadores de cartão.

Monitore a Fila de Accounting. Se o servidor RADIUS ficar inacessível, os dispositivos NAS colocarão os pacotes de accounting em uma fila local. Monitore o comprimento desta fila; uma fila cheia resultará em pacotes descartados e perda de dados de auditoria. Configure alertas sobre a profundidade da fila e implemente um servidor de accounting secundário para implementações de alta disponibilidade.

Separe os Servidores de Autenticação e Accounting em Escala. Em implementações que excedem 5.000 usuários simultâneos, a carga de gravação do accounting pode degradar os tempos de resposta da autenticação. Servidores de accounting dedicados com instâncias de banco de dados separadas evitam essa contenção.


Solução de Problemas e Mitigação de Riscos

O Problema da Sessão Inativa

Sintoma: O banco de dados RADIUS mostra que um usuário está conectado há 48 horas, mas o local fechou durante a noite.

Causa Raiz: O NAS falhou ao enviar um pacote Stop — normalmente devido a uma falha de energia, reinicialização do Access Point ou interrupção da rede — e o pacote nunca foi recebido pelo servidor RADIUS.

Mitigação: Implemente um script de limpeza de sessões mortas no servidor RADIUS. O script deve verificar periodicamente sessões ativas onde o último pacote recebido (Start ou Interim-Update) é mais antigo que um limite definido (ex: 2,5x o intervalo de interim update). As sessões que excederem esse limite devem ser fechadas forçadamente com um registro Stop sintético, observando a causa do encerramento como 'Lost-Carrier' ou 'Admin-Reset'.

Alta Carga de CPU e I/O no Servidor RADIUS

Sintoma: Os tempos de resposta de autenticação degradam durante os horários de pico; o servidor RADIUS relata alta carga de CPU e I/O de disco.

Causa Raiz: Um intervalo de interim update excessivamente agressivo (ex: 1 minuto) em milhares de APs gera um volume insustentável de gravações no banco de dados.

Mitigação: Aumente o intervalo de interim update para 15 minutos. Verifique se o banco de dados de accounting possui os índices apropriados. Considere separar a autenticação e o accounting em instâncias de servidor dedicadas. Avalie se um banco de dados de séries temporais (ex: InfluxDB) é mais apropriado do que um banco de dados relacional para dados de accounting de alto volume.

Framed-IP-Address Ausente nos Registros de Accounting

Sintoma: Os registros de accounting RADIUS existem, mas o campo Framed-IP-Address está vazio ou ausente, impossibilitando a correlação IP-para-MAC.

Causa Raiz: O NAS pode estar enviando o pacote Start antes que o DHCP tenha atribuído um endereço IP ao cliente. O IP só fica disponível após a conclusão da troca DHCP.

Mitigação: Configure o NAS para atrasar o envio do pacote Start até após a atribuição do DHCP, se a plataforma suportar. Alternativamente, utilize os pacotes Interim-Update, que são enviados após a atribuição do DHCP e conterão o Framed-IP-Address. Certifique-se de que suas consultas de auditoria considerem isso, verificando os registros Interim-Update se o registro Start não possuir um IP.


ROI e Impacto nos Negócios

A implementação de um accounting RADIUS robusto entrega valor de negócio mensurável em três dimensões:

Conformidade e Mitigação de Riscos Jurídicos. No caso de um incidente de segurança, uma solicitação de acesso do titular dos dados sob a GDPR ou uma ordem de interceptação legal, logs de accounting precisos fornecem a trilha de auditoria necessária para identificar qual usuário ou dispositivo detinha um endereço IP específico em um momento específico. Sem isso, as organizações enfrentam possíveis penalidades regulatórias sob a GDPR (até 4% do faturamento anual global) e danos à reputação. O custo de implementar uma infraestrutura de accounting adequada é uma fração do custo de uma única ação de fiscalização regulatória.

Planejamento de Capacidade e ROI de Infraestrutura. Ao analisar as tendências de Acct-Input-Octets e Acct-Output-Octets ao longo do tempo, os arquitetos de rede podem identificar padrões de consumo de largura de banda, períodos de pico de uso e os APs ou SSIDs específicos que geram a maior carga. Esses dados informam diretamente as decisões de upgrade de WAN e as estratégias de posicionamento de AP, garantindo que o investimento em infraestrutura seja direcionado para onde entrega o maior impacto. Para centros de Transporte e grandes locais, isso pode representar economias significativas em despesas de capital.

Analytics Avançado e Inteligência de Local. Quando os dados de sessão RADIUS são combinados com plataformas como o WiFi Analytics e Sensors da Purple, os dados brutos de accounting são transformados em inteligência de local. Métricas de tempo de permanência derivadas da duração da sessão, identificação de visitantes recorrentes a partir do histórico de Calling-Station-Id e análise de ocupação de pico a partir de contagens de sessões simultâneas tornam-se disponíveis. Para operadores de Hospitalidade , esses dados informam diretamente os modelos de pessoal, o posicionamento de A&B e as estratégias de personalização de marketing. Para mais contexto sobre como a infraestrutura WiFi sustenta esses recursos, consulte nossos guias sobre Pontos de Acesso Sem Fio e Soluções Modernas de WiFi para Hospitalidade .

Termos-Chave e Definições

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.

Estudos de Caso

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 Implementação: 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 Implementação: 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álise de Cenário

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?

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

Mostrar Abordagem Recomendada

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.

💡 Dica: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 Abordagem Recomendada

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.

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

Mostrar Abordagem Recomendada

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.

Principais Conclusões

  • 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.