Realm de autenticação VPN: qual namespace de conta vence?
O realm roteia um login para um sistema de identidade, não para um país. Corrija a forma do nome, rastreie a requisição pelo proxy e registre quem respondeu.
Todo login VPN cai em algum namespace de conta, e o realm é o seletor que decide qual. Ele não diz nada sobre o país, a localização do servidor ou o nível de confiança. Dois nomes de usuário idênticos podem viver em realms diferentes, e é por isso que uma senha correta às vezes autentica a conta errada. Este runbook primeiro fixa a forma da identidade e depois rastreia a requisição até o sistema que realmente respondeu.
O que o realm seleciona
Um gateway recebe um nome de usuário e precisa decidir onde verificá-lo. O realm é a parte desse nome, ou o atributo ao lado dele, que escolhe o banco de dados: um diretório, um pool RADIUS, um arquivo de contas local. O NPS da Microsoft chama isso de nome de realm e roteia requisições de conexão com ele, enquanto o identificador de acesso à rede EAP carrega a mesma ideia como sufixo após o sinal at no RFC 7542. Ambos são seletores, e nenhum decide se a credencial é boa.
Essa separação produz duas falhas muito diferentes. Um realm que roteia corretamente com uma senha errada dá uma rejeição, enquanto um realm que roteia para o banco de dados errado pode rejeitar uma senha correta ou aceitar a de outra pessoa. Nenhum erro menciona o realm, por isso o primeiro diagnóstico é sempre o mesmo: descobrir qual sistema respondeu.
A sintaxe do realm pertence à implantação. Alguns serviços querem um nome não qualificado mais um atributo, outros querem user@domain, e poucos esperam uma forma com barra invertida que a maioria dos guias não menciona.
Use a forma que o backend espera
Pergunte ao operador qual forma digitar antes de tentar sufixos de um tutorial. Um nome qualificado por domínio que chega a um backend que espera um nome simples geralmente falha na busca, não na verificação da senha. O mesmo nome curto em dois diretórios é o caso em que um realm ausente causa mais dano.
Não trate a conta de gerenciamento como prova. O console web em que você administra o serviço pode autenticar contra um arquivo local, enquanto o túnel verifica um diretório completamente diferente. Teste com as credenciais que um usuário real usaria, na interface que um usuário real usaria. Um login bem-sucedido no console não diz nada sobre o realm que o gateway aplica à autenticação VPN.
Navegadores e clientes de e-mail às vezes armazenam uma identidade anterior e a reenviam silenciosamente. Quando o nome de usuário relatado difere do digitado, esse cache é o primeiro lugar a verificar.
Rastreie a requisição pelo proxy
Em um front end FreeRADIUS, os realms são declarados na configuração do proxy, e o sufixo declarado decide qual servidor doméstico recebe a requisição. Leia esse arquivo antes de mudar qualquer coisa, porque uma requisição que não corresponde a nenhum realm é tratada localmente por padrão.
grep -n -A4 '^realm' /etc/freeradius/3.0/proxy.conf
radtest '[email protected]' 'wrong-password' 10.20.30.10 0 testing123
journalctl -u freeradius --since '-10 min' | grep -iE 'realm|stripped'
O grep mostra quais sufixos existem e para qual pool cada um aponta. A chamada radtest envia um nome com realm e uma senha deliberadamente errada, então uma rejeição prova que tanto o roteamento quanto a verificação de credenciais ocorreram. As linhas de log ao redor dessa tentativa mostram se o nome foi removido antes do proxy e qual servidor doméstico o recebeu. Se o log não mostra nenhuma correspondência de realm, a requisição nunca saiu do servidor local e o problema é o sufixo, não a senha.
Mude uma coisa por vez e repita a tentativa, porque o log separa o roteamento da falha de credencial apenas quando a entrada difere entre execuções. Mantenha o segredo compartilhado fora do histórico do shell onde a ferramenta suporta leitura de um arquivo ou prompt.
Registre a tentativa sem vazá-la
Escreva a falha em uma forma sobre a qual um administrador possa agir: a interface, a forma da identidade, se havia um realm e o erro exato que não é segredo. Mantenha o nome de usuário ativo fora de relatórios públicos e o realm dentro. Redigir toda identidade para o mesmo espaço reservado esconde exatamente a incompatibilidade que você procura. O carimbo de data e hora também importa, porque o gateway, o proxy e o diretório mantêm logs separados.
Em seguida, documente a forma vencedora para os usuários, porque a próxima pessoa que digitá-la errado abrirá o mesmo ticket. Uma redefinição de senha não corrige uma requisição que continua caindo no namespace errado. O realm é uma decisão de roteamento, e decisões de roteamento são corrigidas nomeando-as corretamente.