A VPN do FortiGate cai no grupo errado: correspondência RADIUS
O Fortinet-Group-Name é comparado com a resposta, não com o rótulo local do seu grupo. Verifique os três nomes antes de ampliar a correspondência para Any.
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.
| Record | Illustrative value |
|---|---|
| Directory membership checked by the RADIUS policy | Engineering VPN users |
| Returned Fortinet-Group-Name string | vpn-engineering |
| FortiGate local access group | VPN-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.