Resumo
- CoA-Request ou Disconnect-Request autenticada comprova um hop RADIUS aceito, não a permissão sobre todo tenant, a unicidade da sessão atual ou a capacidade do NAS para aplicar o atributo.
- A prova liga access e accounting originais a proxy, realm, NAS, chave de sessão, mudança pedida, identidade de replay, ACK/NAK, estado instalado e tráfego. RADIUS/1.1 melhora o transporte sem decidir esses vínculos.
Uma conta, duas conexões vivas
O caso inicial é um exercício, não um incidente noticiado. Um assinante mantém notebook no Wi-Fi do escritório e telefone numa rede visitada. Os registros compartilham User-Name, mas possuem Acct-Session-Id, NAS, ponto de acesso e policy diferentes.
Um motor de risco quer limitar o notebook e envia CoA-Request válida com nome e filtro. Aplicar às duas sessões transforma um selector fraco em poder transversal. Escolher a mais recente inventa uma regra ausente. Rejeitar o multiple match preserva a diferença entre mensagem válida e objeto autorizado.
RFC 5176 separa Dynamic Authorization Client, Dynamic Authorization Server, NAS e session. Uma pessoa pode manter várias sessões simultâneas ou sucessivas. Endereço do cliente RADIUS não é usuário; NAS não é sessão; nome de conta não é conexão única.
CoA muda autorização. Disconnect encerra serviço e descarta contexto. Usar Disconnect como fallback de uma mudança estreita amplia o dano e apaga evidência. As duas capacidades precisam de roles distintos.
Cardinality faz parte da decisão
Acct-Session-Id, NAS-Port, endereço atribuído e identificadores de station podem compor o alvo. User-Name ou Chargeable-User-Identity ajuda a limitar cross-user action, mas não cria unicidade universal.
O receptor calcula zero, uma ou várias sessões atuais. Session Context Not Found e Multiple Session Selection Unsupported impedem que ausência ou ambiguidade virem escolha arbitrária.
O identificador precisa de provenance: NAS emissor, realm ou tenant, epoch de início e atributos de assignment. Reinício e reutilização podem levar o mesmo valor a outro contexto. O join com accounting é controle de autoridade, não detalhe de banco.
Hop autenticado não significa mandato amplo
No RADIUS histórico, o endereço UDP de origem escolhe o shared secret. Authenticator correto prova coerência com uma relação configurada naquele hop. Não prova aprovação humana, escopo do tenant nem conteúdo imutável através de proxies.
RFC 5176 reconhece o risco de NAS compartilhado: um provider pode afetar usuário de outro. Secrets separados, filtro de rede e reverse-path check reduzem a superfície. A policy local ainda valida sender, realm, NAS, tenant, session e action.
RFC 8559 encaminha CoA de roaming por Operator-Name e pelo opaque Operator-NAS-Identifier criado pela rede visitada. A volta segue o operator realm onde a sessão reside, não o realm do username. A rede visitada resolve o token para seu NAS e remove signalling de proxy antes do hop final.
Cada proxy pode ver e alterar o conteúdo que recebe. A proteção é hop-by-hop. O audit precisa registrar intermediários e escopo delegado em vez de atribuir o pacote final diretamente a um administrador remoto.
Alvo único ainda pode receber ação inválida
Filtro, VLAN, rate ou operação vendor-specific pode ser desconhecida, incompatível com o acesso ou proibida para o tenant. O receptor final rejeita o conjunto se não puder executar tudo; partial success escondido viola atomicity.
Um atributo não deve servir ao mesmo tempo para selecionar e modificar. Primeiro se fecha “quem”, depois se decide “o quê”. Algumas mudanças exigem renegociação em camada inferior. O controller conseguir codificar um valor não cria suporte no NAS.
Running code define compatibilidade real. Um catálogo central descreve capability observada; não a declara para todos os devices.
Retransmission não é nova intenção
Retry UDP idêntico para o mesmo servidor mantém source port, Identifier e Request Authenticator. Atributos diferentes criam nova identidade. O DAS mantém duplicate detection pelo intervalo adequado.
Sem IPsec replay protection, Event-Timestamp limita freshness e permanece igual na retransmissão. A janela de tempo e a memória de duplicados precisam coincidir. Timestamp atual não prova ticket, continuidade da sessão ou aprovação end-to-end.
Response cache pode produzir dois ACKs para uma execução. Métricas separam original, retry, duplicate suprimido, cached reply e decisão posterior independente.
RADIUS/1.1 altera proteção, não o assinante
RFC 9765 define ALPN radius/1.1 e exige TLS 1.3 ou posterior. Depois da negociação bilateral, TLS assume authentication da conexão, integrity e confidentiality. Request/Response Authenticator históricos deixam de ser usados; Message-Authenticator não autentica pacote nesse modo.
Token de quatro octetos relaciona request e reply. Novo pacote recebe novo valor; retransmission DTLS idêntica preserva o Token. Deduplication é por conexão.
A correção é importante, mas codes CoA/Disconnect e a maioria dos atributos mantêm semântica. Ela não escolhe session, não autoriza tenant crossing e não prova enforcement. Um ledger registra certificate, ALPN, TLS, conexão e Token; outro registra realm, NAS, session, action, decisão e efeito.
ACK precisa encontrar o estado real
CoA-ACK é o relato do NAS de que mudou a autorização; NAK e Error-Cause classificam recusa. A verificação compara filtro ou VLAN, rate policy, accounting continuity e tráfego antes e depois.
ACK sem mudança é defeito de enforcement. Mudança sem resposta é defeito de observação do transporte. NAK com mutação parcial é defeito de atomicity. Um único alarme “CoA falhou” não aponta o reparo.
A cadeia mínima contém access, accounting, live inventory, sender e proxies, request fingerprint, Identifier/Token, timestamp, cardinality, capability/policy local, response, installed state, packets e reversal restrita.
Testar duas sessões parecidas de propósito
Criar duas sessões simultâneas com um identificador tentador compartilhado e diferentes Acct-Session-Id e contextos NAS. Uma CoA estreita muda exatamente uma; a outra continua igual. Remover o campo distintivo deve gerar rejeição, não escolha por idade ou ordem da base.
Repetir o pacote não repete o efeito. Testar timestamp vencido, realm errado, NAS errado e action sem suporte. Rollback restaura o estado anterior com o mesmo alcance; Disconnect só reverte se encerrar era a decisão original.
Fontes
- RFC 5176 — Autorização dinâmica RADIUS
- RFC 8559 — Proxy de autorização dinâmica
- RFC 9765 — RADIUS/1.1 e ALPN
- RFC 2865 — RADIUS
- RFC 2869 — Extensões RADIUS
- RFC 5080 — Questões de implementação RADIUS
- RFC 6614 — RADIUS sobre TLS
- RFC 7360 — RADIUS sobre DTLS
- RFC 7585 — Descoberta dinâmica de peers
- IANA — Tipos RADIUS
- FreeRADIUS — Usar CoA
- FreeRADIUS — Originar CoA
- Heng Lu — Primazia do código em execução
- Heng Lu — Especificação inicial mínima, decisão futura local e adoção voluntária
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance
