RADIUS CoA (Change of Authorization)

sigla

redessegurança

Significa: Dynamic Authorization Extensions to RADIUS (RFC 5176): Disconnect and Change-of-Authorization messages from the server to the NAS

As Dynamic Authorization Extensions do RADIUS, da RFC 5176: mensagens Disconnect-Request e CoA-Request que um servidor envia a um servidor de acesso à rede na UDP 3799 para encerrar uma sessão ou mudar sua autorização enquanto ela está ativa.

O RADIUS base é pedido-resposta a partir do servidor de acesso à rede; emitido um Access-Accept, o servidor não tem como falar até que o NAS pergunte de novo. A RFC 5176 (Chiba, Dommety e Eklund, da Cisco, Mitton, da RSA, e Aboba, da Microsoft, janeiro de 2008, Informational, tornando obsoleta a RFC 3576) inverte a direção. Ela define seis códigos: 40 Disconnect-Request, 41 Disconnect-ACK, 42 Disconnect-NAK, 43 CoA-Request, 44 CoA-ACK e 45 CoA-NAK. A RFC afirma que, para pacotes Disconnect-Request ou CoA-Request, a porta UDP 3799 é usada como porta de destino, e nomeia os papéis ao contrário do RADIUS normal: o Dynamic Authorization Client, que inicia, fica do lado do servidor, e o Dynamic Authorization Server, que recebe e age, é o NAS. Um Disconnect encerra a sessão que o pedido identifica; um CoA muda seus atributos, tipicamente a VLAN, um filtro ou um tempo de sessão. Um NAS que não consegue aplicar um atributo pedido responde CoA-NAK com Error-Cause 401 (Unsupported Attribute). O CoA é o mecanismo sob a quarentena, a mudança de postura e a expiração de visitante de todo motor de política: o dispositivo continua ligado, e a autorização da porta muda debaixo dele.

O RADIUS como a RFC 2865 o define tem uma única direção de iniciativa. O servidor de acesso à rede pergunta, o servidor responde e, depois do Access-Accept, o servidor fica em silêncio até que o NAS tenha razão para perguntar de novo, o que pode levar horas ou, numa porta cabeada, nunca acontecer. Qualquer decisão de política que chegue depois do início da sessão, um dispositivo descoberto infectado, uma conta de visitante vencendo, um administrador querendo mover uma porta para outra VLAN, não tinha canal por onde viajar. A RFC 5176, Dynamic Authorization Extensions to Remote Authentication Dial In User Service, publicada em janeiro de 2008 por Chiba, Dommety e Eklund, da Cisco, Mitton, da RSA, e Aboba, da Microsoft, como documento Informational tornando obsoleta a RFC 3576, fornece esse canal.

A extensão define seis códigos de pacote que reutilizam o formato do RADIUS. 40 é Disconnect-Request, respondido por 41 Disconnect-ACK ou 42 Disconnect-NAK; 43 é CoA-Request, Change of Authorization, respondido por 44 CoA-ACK ou 45 CoA-NAK. A RFC especifica o destino: para pacotes Disconnect-Request ou CoA-Request, a porta UDP 3799 é usada como porta de destino. Como a iniciativa é invertida, a RFC também inverte os nomes: o Dynamic Authorization Client é quem envia o pedido, ou seja, o servidor de política ou algo agindo por ele, e o Dynamic Authorization Server é quem o recebe e age, ou seja, o NAS. Uma captura num switch mostra, portanto, o switch respondendo na 3799, o que surpreende engenheiros acostumados a vê-lo apenas como cliente nas 1812 e 1813.

Um pedido identifica a sessão de que trata com os mesmos atributos com que ela foi construída, User-Name, Calling-Station-Id, Acct-Session-Id e os identificadores do próprio NAS, e um CoA-Request carrega os atributos que devem mudar. Os casos comuns são uma VLAN nova pelos atributos de túnel, um filtro novo, um Session-Timeout encurtado ou um pedido para que o NAS reautentique o dispositivo. Quando o NAS não consegue honrar um atributo, responde com CoA-NAK e um Error-Cause, e a RFC atribui 401, Unsupported Attribute, ao caso em que o NAS não implementa o que foi pedido; outros valores de Error-Cause distinguem uma sessão que ele não encontra de um pedido que ele não aceita.

Na prática o CoA é o mecanismo sob quase todo recurso que um produto de controle de acesso à rede anuncia como dinâmico. A avaliação de postura que coloca em quarentena um dispositivo depois de ele conectar, o acesso de visitante que expira numa hora marcada, uma ferramenta de segurança que pede o isolamento de uma ponta, um administrador clicando em reautenticar num console: cada um termina num Disconnect-Request ou num CoA-Request para o switch ou a controladora em que o dispositivo está. O dispositivo continua ligado e a autorização da porta muda debaixo dele, o que é ao mesmo tempo o recurso e a coisa a testar, já que um NAS que ignora silenciosamente um CoA deixa o motor de política acreditando que uma quarentena aconteceu.

Dois fatos operacionais decorrem disso. O NAS precisa ser configurado para aceitar autorização dinâmica dos servidores específicos, com o segredo compartilhado, na porta 3799, e um firewall entre o servidor e a camada de acesso precisa permitir a direção inversa, de que os fluxos originais do RADIUS nunca precisaram. E o segredo compartilhado e a proteção MD5 são os mesmos do RADIUS base, de modo que um servidor capaz de enviar CoA a um switch pode desconectar qualquer um nele; a proteção TLS do RadSec se estende a essas mensagens onde as duas pontas a suportam, e o verbete RadSec descreve o transporte.

Também conhecido como: coa, change of authorization, disconnect-request, packet of disconnect, pod, rfc 5176, udp 3799

← Todos os verbetes do glossário