Sua chave VPN é legível por todos: o que corrigir
Uma chave privada deveria ser legível apenas pelo serviço que a usa, e por mais ninguém. Corrija o modo, encontre as cópias e renove a chave se o arquivo foi exposto.
O primeiro sinal costuma ser um aviso, não uma falha. Um cliente se recusa a carregar uma chave porque o arquivo é legível pelo grupo ou por todos, ou uma revisão de segurança encontra client.key com modo 644 em um diretório de perfil que também contém pacotes exportados. Nada falhou ainda, e é exatamente por isso que o aviso é ignorado. A chave funciona, o túnel sobe e o arquivo é legível por todas as contas da máquina.
O sintoma é um aviso de permissões, não uma queda
Em um sistema tipo Unix, uma chave privada deveria ser legível apenas pela conta que executa o serviço. Um modo 600 com o proprietário correto é a disposição usual. Um modo 644 significa que qualquer usuário local pode copiar a chave, e em um host de compilação compartilhado isso é um público real.
Os clientes que verificam isso lhe fazem um favor. Os que não verificam não são prova de que o arquivo está seguro, e uma conexão bem-sucedida não diz nada sobre quem mais pode ler o material que a tornou possível. Trate o aviso como a descoberta inteira. Ele é exato e chegou antes de alguém copiar o arquivo.
Ajuste o modo à identidade do serviço
O acesso apenas do proprietário combina com uma chave usada por esse proprietário. Um serviço com um grupo compartilhado de propósito pode precisar de outra disposição controlada, como leitura de grupo em uma chave de propriedade de uma conta de serviço. Definir cegamente um único modo numérico em todos os arquivos quebra os clientes suportados, e chmod -R 777 não é a solução de nada.
Verifique o proprietário e a conta de serviço antes de mudar qualquer coisa. Certificados CA públicos e chaves de identidade privadas têm requisitos de sigilo diferentes mesmo quando estão no mesmo diretório, então um modo recursivo na pasta inteira trata os dois como o mesmo objeto.
ls -l /etc/openvpn/client/
stat -c '%U %G %a %n' /etc/openvpn/client/*.key
id openvpn
Em outras plataformas, use o armazenamento de chaves ou o modelo de controle de acesso documentado em vez de traduzir modos Unix para um palpite. Um nome de arquivo que termina em private é um rótulo, não um mecanismo de aplicação.
Encontre as cópias que o modo não cobre
Editores, arquivos de backup, perfis exportados e pacotes temporários podem cada um reter a mesma identidade. Proteja essas cópias conforme o conteúdo, porque apertar o arquivo original não faz nada pela cópia no tar do mês passado.
Uma frase secreta em um arquivo de chave é útil para material armazenado e não justifica publicar o arquivo criptografado ao lado da senha. As permissões protegem o objeto atual do sistema de arquivos; não dizem nada sobre uma credencial já copiada para outro lugar.
Procure as cópias antes de declarar o trabalho concluído: grep -rl a linha de cabeçalho da chave em diretórios prováveis e uma olhada nas exclusões de backup. O resultado costuma ser mais interessante do que o arquivo com que você começou.
Após a correção, verifique e renove
Teste se o serviço pretendido ainda autentica e depois confirme que nenhuma conta desnecessária obteve acesso. Limite a saída de diagnóstico a metadados, porque imprimir a chave não é necessário para provar que o arquivo é legível e coloca o material em um log.
Se a chave foi exposta, aperte o modo e depois substitua a credencial e revogue a antiga. A especificação POSIX chmod explica o que cada bit de modo significa, o que vale a pena saber antes que a próxima revisão peça que você justifique o número escolhido.