Planear uma janela de manutenção do OpenVPN sem perder o anfitrião
Pare o túnel, perca a sessão. Capture a unidade em execução, monte um conjunto de recuperação, ensaie num ouvinte piloto e mude depois a partir do exterior da VPN.
Reiniciar o serviço VPN termina todas as sessões que o utilizam, por isso a janela tem de ser construída em torno de conversas e não do gestor de pacotes. Os utilizadores precisam de aviso suficiente para concluir trabalho sensível, e você precisa de um caminho de regresso que não dependa do túnel que está prestes a parar. Tudo o resto no manual existe para tornar esses dois factos geríveis. Salte qualquer um deles e uma atualização de rotina torna-se uma interrupção sem saída.
A ordem abaixo é deliberada: cada etapa produz algo de que a etapa seguinte precisa, e qualquer etapa pode terminar a mudança antes de começar.
Capture o serviço que existe antes de o alterar
Leia a unidade instalada e não a que pensa ter escrito: systemctl cat [email protected] imprime a unidade e quaisquer drop-ins, e systemctl show [email protected] -p ExecStart -p User -p WorkingDirectory mostra o que realmente corre e como quem. Consulte o binário que a unidade nomeia, porque openvpn --version a partir de uma shell pode apontar para outra compilação. Registe o caminho do perfil e todos os ficheiros que referencia.
Anote também os sockets à escuta: ss -lunp | grep 1194 diz que endereço e protocolo o daemon detém hoje. Se a resposta não for a que o perfil sugere, um drop-in ou um ficheiro de ambiente está a sobrepô-la, e a atualização herdará essa surpresa.
Monte um conjunto de recuperação que outra pessoa possa usar
O conjunto de recuperação tem de ser utilizável por um colega às 03:00 sem o seu contexto. Inclua a configuração efetiva com todos os ficheiros referenciados, o material de confiança e revogação sob controlo do dono da PKI, as atribuições e hooks por cliente, e as versões exatas dos pacotes instalados hoje. Uma cópia de um nome de ficheiro não é uma configuração. Guarde-o onde o operador de prevenção o possa alcançar sem a VPN.
Os controlos de acesso aplicam-se também a esse conjunto, porque contém chaves privadas ou credenciais de backend. Não reconstrua a AC nem reemita identidades só porque a versão de um pacote mudou.
Ensaie num ouvinte piloto com um cliente real
Execute a versão candidata num ouvinte separado com o seu próprio plano de portas e endereços, não ao lado da instância de produção no mesmo socket. Ligue-se com os motores de cliente que os seus utilizadores realmente executam, incluindo o incómodo. Verifique a atribuição de endereços, o DNS empurrado, uma aplicação que importe e um caminho que deva continuar bloqueado. Os hooks personalizados têm de correr no contexto real de privilégio e de sistema de ficheiros do serviço, porque uma shell de root nada prova sobre eles.
Leia as notas de lançamento para alterações de comportamento e não apenas para novas funcionalidades. Os padrões de cifra e TLS mudam entre versões, e um perfil que ainda analisa pode ainda falhar um handshake. Se a atualização exigir alterações de perfil ou certificado, prepare isso como um passo próprio em vez de o juntar à atualização do pacote.
Mude uma vez, a partir de um caminho fora do túnel
Comece a janela a partir de uma consola ou de uma rede de gestão que não atravesse o serviço. Confirme que os utilizadores foram avisados e que um segundo operador sabe como reverter. Aplique a mudança preparada através do seu dono e reinicie com sudo systemctl restart [email protected], seguindo o diário com journalctl -u openvpn-server@office -b -f. Um reload basta quando só mudaram definições da unidade; um perfil alterado exige o processo reiniciado.
Espere que todos os clientes se reconectem e que algumas sessões de aplicação não retomem. Coordene uma pausa limpa com as cargas de trabalho que não toleram isso.
Aceite ou reverta, e depois diga aos utilizadores o que mudou
A aceitação é um início de sessão novo, mais uma operação real, mais as restrições ainda em vigor. Uma unidade ativa e uma linha de estado verde são factos de processo. Se os critérios falharem dentro da janela, reverta com o método preparado, não restaurando um único ficheiro e esperando; um binário ou política de serviço alterado sobrevive a uma restauração de configuração. Preserve qualquer revogação ou alteração de autorização feita durante a janela, para que a reversão não desfaça trabalho de segurança.
Registe as versões, alterações de perfil e resultados de aceitação para o próximo operador, retire o ouvinte piloto e diga aos utilizadores que perfil usar agora. Uma janela que termina sem essa nota volta a ser discutida na próxima atualização.