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.