O seu portátil desapareceu, e a VPN ainda o lista como cliente. A pergunta urgente não é como apagar o perfil numa máquina que já não tem, mas qual identidade o servidor ainda aceita. O WireGuard verifica uma chave pública, uma configuração OpenVPN baseada em PKI verifica um certificado de cliente, e uma VPN com SSO verifica uma conta e o respetivo token de sessão. Estes três revogam-se em locais diferentes e a velocidades diferentes, e corrigir um ignorando os outros é a forma como um dispositivo perdido continua ligado.

Três identidades e o que cada uma controla

Cada mecanismo responde a uma pergunta diferente. Uma chave de par responde se esta é a máquina que inscreveu. Um certificado responde se foi assinado pela sua CA e não foi revogado. Uma conta responde se esta pessoa se autenticou suficientemente recentemente. Uma implementação que empilha duas delas, por exemplo certificado mais início de sessão no diretório, só fecha a porta quando a cada camada que emitiu algo ao dispositivo foi dito para deixar de o aceitar.

A armadilha prática é que a máquina ausente guarda a metade privada de cada credencial, por isso nada do que fizer localmente chega ao servidor.

WireGuard: remova o par, porque não existe lista de revogação

O WireGuard não mantém qualquer lista de proibição. A interface aceita exatamente as chaves públicas configuradas como pares, por isso revogar é apagar: execute wg set wg0 peer <public-key> remove, a forma documentada em wg(8), e depois apague o bloco [Peer] correspondente de wg0.conf. Faça as duas coisas. Uma remoção apenas em tempo de execução sobrevive até ao próximo reinício ou recarregamento da configuração, momento em que o ficheiro repõe a chave.

As sessões existentes não precisam de temporizador para morrer. Remover o par descarta o handshake e o material de chave, por isso o tráfego para assim que voltar a ser exigido um par de chaves válido. Verifique wg show wg0 latest-handshakes no servidor: a entrada da chave perdida deve desaparecer e permanecer ausente, enquanto os outros pares continuam a reportar épocas recentes.

Um aviso conta mais do que parece. Se o dispositivo perdido partilhava uma chave com outros dispositivos porque alguém copiou um ficheiro de configuração, remover essa chave desliga todos; continua a ser o movimento certo, e depois reemite chaves por dispositivo em vez de restaurar a partilhada.

Certificados: uma CRL só conta se o daemon a ler

O acesso baseado em certificados acrescenta um passo que as pessoas saltam. easyrsa revoke laptop-01 marca o certificado como revogado na base de dados da CA, mas a VPN não aprende nada dessa base. Depois executa easyrsa gen-crl para escrever crl.pem, copia-o para o caminho indicado na opção crl-verify do servidor e confirma que o daemon em execução usa o ficheiro novo. Revogar sem regenerar e distribuir a CRL não tem efeito.

O momento é a outra metade. Uma CRL é consultada quando um cliente se liga ou renegocia, por isso um túnel estabelecido pode continuar a encaminhar até lá. Se o dispositivo tiver de ser cortado de imediato, termine essa sessão explicitamente pela interface de gestão do OpenVPN em vez de esperar pelo próximo handshake. Recarregar ou reiniciar o serviço, conforme a forma como a implementação carrega a CRL, faz parte da mudança e não é um extra opcional.

Vale a pena verificar a partir de outra máquina: apresente o certificado revogado e espere uma falha de handshake, tipicamente VERIFY ERROR: depth=0, error=certificate revoked. Se a ligação continuar a ter êxito, o cliente está a ler uma CRL diferente da que atualizou.

Contas e sessões: desativar não é o mesmo que expulsar

Os inícios de sessão no diretório ou por SSO são verificados no momento da autenticação. Desativar a conta bloqueia o próximo início de sessão, mas o token de atualização e o túnel estabelecido podem continuar a funcionar até expirarem. Revogue as sessões e os tokens desse utilizador, ou suba uma versão de sessão se o fornecedor de identidade o suportar. Retire também o dispositivo perdido do registo MFA, uma vez que um autenticador registado é uma via de acesso por si só.

As VPN com RADIUS podem enviar uma mensagem de desconexão ou uma alteração de autorização para derrubar uma sessão ativa, mas não todos os servidores de acesso à rede o respeitam. Em caso de dúvida, termine a sessão do utilizador do lado do servidor e confirme nos registos que a sessão antiga foi fechada.

Ordem das operações para a próxima hora

Comece pelo inventário, não pelo cliente: enumere cada identidade ligada ao dispositivo, seja chave de par, número de série de certificado ou conta. Revogue em cada sistema emissor pela ordem em que a ligação é construída, ou seja, primeiro a conta, depois o certificado e depois o par. Depois prove a recusa a partir de uma máquina que controle.

Dois seguimentos são fáceis de esquecer. Primeiro, rode tudo o resto que o dispositivo guardava, sobretudo chaves SSH, credenciais de consola na nuvem e uma chave pré-partilhada WireGuard. Segundo, verifique se a gestão de configuração, os instantâneos ou as imagens douradas não podem reintroduzir o cliente removido na próxima reconstrução.

A solução duradoura é uma identidade por dispositivo. Quando cada portátil transporta a sua própria chave de par ou certificado, uma perda custa um comando de revogação e uma reemissão em vez de reconstruir toda a frota.

Artigos relacionados