Desde o lado do cliente semella unha desconexión aleatoria unha hora despois dunha sesión en funcionamento. A icona da bandexa desaparece, o túnel reconstrúese e o rexistro mostra un fallo de autenticación en lugar dun erro de rede. O que ocorreu realmente é que a sesión renegociou e o segundo handshake necesitou credenciais das que o cliente xa non tiña unha copia válida. Un código dun só uso que funcionou ao iniciar sesión non pode funcionar outra vez, así que a renovación de clave falla exactamente como estaba deseñada.

A solución é unha decisión sobre que debe presentar o segundo handshake, non un temporizador de reintento máis longo.

Siga o intercambio desde o punto de vista do cliente

Ao iniciar sesión o cliente envía o nome de usuario, o contrasinal e un código do dispositivo de token, e o servidor acepta a combinación. Despois a sesión funciona ata que se dispara un activador de renegociación, que inicia un novo handshake TLS dentro do túnel existente. Ese handshake volve pedir autenticación. Se a ruta de autenticación do servidor espera un contrasinal máis un código dun só uso vixente, o cliente non ten ningún código novo que ofrecer a menos que o usuario estea presente para escribilo.

A maioría dos clientes non abren un aviso a metade de sesión, así que o handshake caduca e o túnel cae. O usuario ve unha reconexión, non un aviso de autenticación, e por iso o primeiro informe adoita culpar a rede.

auth-gen-token cambia quen responde a segunda pregunta

auth-gen-token é a opción que permite ao servidor emitir un token tras un inicio de sesión correcto, e as renegociacións posteriores presentan ese token en lugar de repetir o contrasinal e o código. O manual documenta a súa vida útil e o seu comportamento de renovación, e o token debe tratarse como unha credencial coa súa propia caducidade. Na ruta predeterminada o servidor valida o token el mesmo en lugar de volver chamar ao autenticador de contrasinal externo.

Cunha integración de autenticación externa, esa división cambia. O complemento debe entender o estado do token e aplicar as súas propias comprobacións, porque o servidor xa non é o único compoñente que decide se a sesión continúa. Tratar o token como outro código numérico dun só uso non é unha implementación da función.

Decida que ocorre co estado da conta

Un token que sobrevive ao acceso dunha conta é un burato de política. Decida como entran en vigor unha conta desactivada, unha pertenza a grupo eliminada ou un dispositivo revogado mentres o token segue vixente. Vidas útiles curtas do token reducen a ventá; unha ruta de revogación explícita faina intencionada. Escriba a resposta antes de activar a opción, porque a ruta predeterminada non consulta o autenticador externo en cada renegociación.

Nun despregamento con varios servidores, o segredo de sinatura dos tokens debe compartirse, ou o cliente pode ser enviado a un nodo que non pode validar o seu token.

Probe a caducidade e a reconexión, non só o inicio de sesión

Baixe o intervalo de renegociación nun perfil de proba para que o segundo handshake ocorra mentres observa, e logo siga ambos os rexistros. Confirme que o token se emite ao iniciar sesión, se presenta ao renovar a clave e se refresca ou reemite segundo a vida útil configurada. Despois force unha caducidade do token e unha reconexión completa, porque un cliente que se reconecta limpiamente pode fallar igualmente na ruta de renovación de clave.

Probe a eliminación da conta ao final. Ese caso dille se a política que escribiu se aplica ou só está documentada.

Non o arranxe desactivando a renovación

Pór o intervalo de renegociación a cero en ambos os extremos elimina o síntoma e con el a rotación de claves. Iso agocha un problema de reutilización de credenciais detrás dun cambio de política que ninguén revisou. Manteña a renovación e escolla entre un token emitido polo servidor e un desafío interactivo novo segundo se hai un usuario presente.

Un temporizador de reintento máis longo non fai que un código gastado volva ser válido. Só atrasa a desconexión e fai o rexistro máis difícil de ler.

Artigos relacionados