3.5 Considerações à respeito da Segurança
A utilização do RADIUS como servidor AAA não é totalmente segura. Esta seção é dedicada a expor alguns dos problemas de segurança encontrados assim como as possíveis maneiras de contorná-los.
Ao utilizarmos o RADIUS, necessariamente precisamos consultar a uma base de dados responsável por associar as identidades dos usuários e suas respectivas informações de autenticação. Uma recomendação a ser seguida na utilização do RADIUS é garantir que cada nome de usuário deve estar associado somente a uma forma de autenticação. Caso sejam necessárias outras formas, diferentes nomes serão associados a cada forma de autenticação. Desta maneira são evitadas formas de ataque que exploram as formas mais fracas de autenticação. De nada adiantaria um usuário estar fortemente protegido de ataques por um método de autenticação, se este mesmo usuário também pudesse ser autenticado, por exemplo, através do Protocolo de Autenticação por Senha, que é pouco seguro.
Além disso, é fundamental que as senhas dos usuários e os segredos compartilhados (shared secrets) estejam armazenados de forma segura, onde o acesso a estas informações seja o mais restrito possível. Idealmente, os segredos compartilhados e as senhas só devem ser acessados pelos processos de autenticação. Como o RADIUS suporta o uso de uma chave de segredo estática entre o servidor AAA e o usuário, seja através da engenharia reversa, ou seja, através do monitoramento do tráfego, o atacante pode descobrir o segredo compartilhado, oferecendo riscos de segurança sérios ao sistema de autenticação. No caso do monitoramento de tráfico [1], podemos descobrir o segredo compartilhado a partir da resposta de autenticação, que é um hash MD5 calculado na forma MD5(Código+Identificador+Comprimento+Campo de Autenticação do pacote de requisição de acesso+Atributos de Resposta + Segredo Compartilhado), onde o “+” significa concatenação. Desta forma, se um atacante observar uma requisição de acesso e o pacote contendo o pedido de acesso aceito referente a esta requisição, ele pode iniciar um ataque de força bruta para descobrir o segredo compartilhado. A capacidade do atacante de poder prever algumas parcelas da mensagem que gerou o hash permite que este reduza significativamente o custo computacional para descobrir este segredo compartilhado.
Como segurança adicional, é possível se utilizar de túneis IPSEC criptografados para proteger os pacotes RADIUS, ou outros tipos de túneis para proteger os conteúdos sensíveis ou privados.