O login é bem-sucedido, o túnel sobe e o usuário cai na política errada ou em nenhuma política. Nada no log do FortiGate anuncia que o grupo estava faltando, porque do lado dele a autenticação funcionou e a correspondência do grupo simplesmente não disparou. A cadeia que você precisa inspecionar contém três nomes separados, e eles normalmente não são a mesma string.

Três nomes com três funções

Anote os três antes de tocar em qualquer configuração, porque dois deles vivem em sistemas diferentes.

RecordIllustrative value
Directory membership checked by the RADIUS policyEngineering VPN users
Returned Fortinet-Group-Name stringvpn-engineering
FortiGate local access groupVPN-Engineering

O grupo do diretório é o que sua política RADIUS avalia. O atributo retornado é um valor dentro da resposta Access-Accept. O grupo local do FortiGate é um contêiner ao qual a política se refere pelo nome. Confundir dois quaisquer deles produz um login que funciona e uma autorização que não funciona.

Onde a correspondência realmente acontece

A explicação da correspondência de grupos RADIUS da Fortinet indica Fortinet-Group-Name como atributo de grupo padrão. O FortiGate compara o servidor remoto configurado e o valor do nome do grupo com o que a resposta carrega, o que significa que a comparação é feita contra a string retornada, não contra o rótulo exibido do seu grupo local.

É por isso que um grupo local chamado VPN-Engineering pode ficar ao lado de um valor retornado vpn-engineering e não corresponder a nada. Maiúsculas e ortografia não são cosméticas nessa comparação. Escolha uma string, use-a na resposta e referencie a mesma string na regra de correspondência do gateway.

No FortiAuthenticator o grupo precisa ser associado ao atributo e incluído na política de serviço RADIUS correspondente, com o controle de retorno do atributo de grupo habilitado quando aplicável.

A resposta pode ter sucesso sem o atributo

Para NPS ou outro servidor RADIUS, imponha a condição de grupo do diretório na política e depois configure o atributo de resposta suportado. Uma verificação de senha bem-sucedida produz um Access-Accept por si só, e um Access-Accept sem string de grupo é uma resposta perfeitamente válida que não autoriza nada do lado do FortiGate. Esta é a forma mais comum do problema.

Definir um grupo não é o mesmo que enviá-lo. São duas etapas de configuração em duas telas diferentes, e normalmente só uma delas é feita.

Por que corresponder com Any é uma armadilha

Uma correspondência de grupo remoto Any é um design legítimo quando o servidor RADIUS já admite exatamente a população que você quer. Escolha essa delegação deliberadamente. Ampliar a correspondência para fazer sumir um atributo ausente admite todas as contas que o servidor RADIUS aceitar, incluindo as que nunca deveriam ter acesso à VPN. O sintoma desaparece e o controle de acesso deixa de existir em silêncio.

Se você não consegue nomear quem o servidor RADIUS deveria admitir, não está pronto para uma correspondência Any.

Guarde quatro registros para o suporte

Quando ainda não funcionar, colete quatro coisas: a política RADIUS selecionada, o atributo de grupo realmente retornado, o servidor FortiGate e o valor com que ele foi comparado, e o grupo local resultante. Esses quatro registros localizam a quebra sem expor senhas nem alterar a participação em grupos para ver o que acontece.

Teste uma conta autorizada e outra fora do escopo sob a regra real, e verifique a política e o acesso a recursos resultantes, além do resultado da autenticação. Só o par diz se a correspondência está fazendo o que você pensa.

Artigos relacionados