“Falha na autenticação” pode apontar para um certificado de servidor, uma chave pré-partilhada da máquina ou uma palavra-passe de utilizador. Qual delas significa depende do protocolo, porque cada protocolo define um conjunto diferente de segredos. Reponha a errada e o erro continua igual. A saída é estabelecer quantas provas o protocolo exige antes de editar qualquer coisa.

Duas provas a apontar em direções opostas

Um túnel tem de responder se chegou ao gateway certo e, separadamente, quem é o utilizador. A prova do gateway é ao nível da máquina: um certificado de servidor, uma chave pré-partilhada ou uma chave pública estática. A prova do utilizador é ao nível da pessoa: uma palavra-passe, um token, um certificado de cliente, ou nada. São direções opostas de confiança e consomem material diferente.

O IKEv2 executa a prova do gateway dentro do IKE_AUTH e, quando o EAP é usado, corre a prova do utilizador numa troca separada depois. a especificação do IKEv2 mantém essas secções distintas, o que é uma pista forte sobre onde olhar quando uma mensagem cobre as duas rondas.

Leia a etapa, não a mensagem

O cliente mostra a mesma string de erro seja qual for a etapa que falhou, por isso a string em si quase não traz informação. O que traz informação é o estado que pode inspecionar em cada etapa: se existe uma associação, se uma troca de utilizador começou e se o cliente ofereceu o método que o gateway queria. A tabela ordena as etapas assim, em vez de por nome de protocolo.

Stage that failedEvidence you can inspectWhat a password change cannot fix
The machine proofno security association in the state lista mismatched pre-shared key or an untrusted chain
The user proofan association is up while PPP or EAP reports failurean expired token, a locked account, a missing client key
The client's method supportthe client offers no method the gateway acceptsa client without the required EAP or key material
The server's policythe gateway rejects before any user exchange startsa policy that requires a certificate the profile lacks

Só a segunda linha diz respeito a uma credencial que o utilizador pode voltar a digitar. As outras três são factos de configuração, e essa desproporção é a razão pela qual tantos destes relatórios terminam numa reposição de palavra-passe que não muda nada. Leia a linha que corresponde às suas provas antes de tocar num campo.

Um protocolo de dois segredos mostra as cartas

L2TP sobre IPsec torna a contagem visível, porque as duas verificações acontecem em processos diferentes. A camada IPsec tem de subir primeiro com uma chave pré-partilhada ou um certificado, e só então o PPP lá dentro tenta um início de sessão de utilizador.

Quando o segredo da máquina está errado, não se forma nenhuma associação e a credencial do utilizador nunca é tentada. Quando o segredo da máquina está certo e o do utilizador errado, a associação existe e o PPP rejeita o início de sessão depois de o túnel já estar de pé. Ambos produzem a mesma mensagem no ecrã a partir de dois eventos diferentes.

sudo swanctl --list-sas
sudo ip xfrm state list
sudo journalctl -u xl2tpd -n 50 --no-pager

Uma lista de associações vazia elimina imediatamente a camada de utilizador, por isso verifique-a antes da palavra-passe. Uma associação estabelecida com falhas PPP repetidas aponta para o outro lado, para a camada de utilizador ou para o protocolo de autenticação dentro dela. Nenhuma das conclusões está disponível no texto de erro do cliente.

Do que depende realmente o acesso só com palavra-passe

O acesso só com palavra-passe é normal em L2TP, PPTP, SSTP e IKEv2 com EAP. O WireGuard não tem essa opção de todo, porque os seus pares são chaves e não utilizadores. No OpenVPN a resposta vem da exigência de certificado de cliente do servidor: um gateway que exige certificado e palavra-passe continuará a rejeitar um cliente só com palavra-passe, independentemente do que for escrito no campo.

O componente de que precisa decorre da mesma resposta. Um início de sessão por palavra-passe em IKEv2 exige um cliente que fale EAP, enquanto um início de sessão por certificado precisa da chave privada do cliente e da cadeia do servidor. Instale o errado e a falha lê-se como um erro de credencial, embora seja o próprio método de autenticação que falta.

Mude uma coisa e volte a testar

Estabeleça primeiro três factos: que protocolo está a correr, quantos segredos define e quais deles pertencem à máquina e não ao utilizador. As máquinas falham na primeira etapa e as pessoas na segunda, e confundir as duas é todo este problema.

Depois mude exatamente uma coisa e volte a testar a partir do mesmo cliente. Essa disciplina transforma uma falha confusa numa correção que pode descrever à pessoa seguinte, o que é mais útil do que uma ligação a funcionar que ninguém consegue explicar.

Artigos relacionados