Ficheiros OVPN desconhecidos: risco local e confiança remota
Um perfil pode influenciar o cliente na sua máquina e escolher o operador que vê o seu tráfego. Reveja as duas decisões antes de importar o ficheiro.
Trate um ficheiro OVPN como entrada para um programa, não como um certificado de que o seu conteúdo é inofensivo. Verificar o endereço do servidor responde apenas a onde o perfil quer ligar-se, e a mais nada. Dentro desse ficheiro estão duas decisões de confiança separadas: o que o cliente pode fazer na sua máquina e que operador recebe o tráfego. Um nome de protocolo conhecido não resolve nenhuma delas.
Duas decisões escondem-se num só ficheiro
A primeira decisão é local. O perfil é uma linguagem de configuração, e o cliente que o lê pode suportar diretivas que carregam um plugin, executam um script ou alteram a forma como o encaminhamento e o DNS são aplicados. A segunda decisão é remota. Independentemente do que o ficheiro contém, o operador de saída vê o tráfego que chega até si.
Confundir as duas produz maus conselhos em ambas as direções: um perfil de aparência limpa de um operador desconhecido, ou o perfil de um operador conhecido com um gancho que ninguém leu. Um perfil seguro localmente ainda pode entregar o seu tráfego a alguém que não escolheria.
Leia o perfil antes de qualquer cliente
Leia o ficheiro como texto antes de qualquer cliente o processar. Procure diretivas que apontem para fora do ficheiro, refiram executáveis ou alterem privilégios, e compare essa lista com o suporte documentado do cliente. Uma pesquisa curta não é uma auditoria de segurança, mas diz-lhe se o perfil é uma lista de servidores ou algo mais.
grep -nE '^(script-security|up|down|plugin|route-up|ipchange)' untrusted.ovpn
Um resultado vazio é tranquilizador e não conclusivo, porque as opções podem interagir ou vir de um ficheiro incluído. Trate a lista filtrada como uma razão para continuar a ler, não como um veredicto.
As instruções que chegam com o perfil merecem o mesmo escrutínio que o perfil. Quatro pedidos devem fazê-lo parar: ativar scripts, instalar um assistente ou uma biblioteca, executar o cliente como administrador ou enfraquecer uma restrição de importação. Cada um move a fronteira de confiança para fora, e nenhum é parte normal de importar uma lista de servidores.
Leia também o ficheiro completo uma vez, porque uma única linha desconhecida julga-se melhor em contexto do que numa lista filtrada. Se uma linha lhe for desconhecida, procure-a no manual do seu cliente em vez de adivinhar.
O que o cliente irá realmente executar
O manual 2.6 do Community OpenVPN documenta os níveis de script-security: o nível 1 é o predefinido e bloqueia scripts definidos pelo utilizador, enquanto o nível 2 os permite. O carregamento de plugins é um mecanismo separado com a sua própria diretiva. Por isso o mesmo ficheiro pode significar coisas diferentes em clientes diferentes. Os clientes móveis e de fabricante podem aceitar um conjunto mais estreito de diretivas, ou nenhum dos ganchos.
O método de arranque importa tanto como o cliente. Um perfil iniciado por um assistente privilegiado pode fazer mais do que um iniciado no espaço do utilizador, e essa diferença é uma razão para ler o aviso de importação em vez de o descartar.
A versão também importa, porque estes níveis são definidos por versão e um cliente várias versões atrás pode não implementar a mesma política. Leia o manual que corresponde à compilação que executa, não o mais recente que encontrar. Se o cliente não mostrar qualquer cadeia de versão em lado nenhum, isso já é uma razão para abrandar.
Compare o operador, não apenas o endereço
Compare operadores como compara qualquer outro intermediário. Pergunte quem gere a saída, o que registam e como o perfil chegou até si. Uma página de descarga verificada e uma impressão digital correspondente dizem mais do que um nome de anfitrião conhecido. Um servidor acessível prova apenas que algo respondeu.
As credenciais são a parte onde as pessoas erram sob pressão. Não escreva a palavra-passe de uma conta não relacionada num perfil descarregado porque o nome do servidor parece familiar. Um perfil pode também conter uma chave privada em claro, pelo que publicar o ficheiro inteiro num tópico de revisão entrega essa chave ao tópico.
Uma sessão HTTPS devidamente validada continua a esconder o conteúdo da página de quem apenas reencaminha pacotes, pelo que a saída não vê automaticamente todas as palavras-passe. Vê, sim, que sites alcança, e essa fronteira merece ser dita com precisão em vez de exagerada.
Onde a origem do ficheiro permanece pouco clara, ou um privilégio que pede não tem uma explicação que possa aceitar, substitua o perfil por outro de uma fonte que possa ser responsabilizada. Numa ligação de trabalho gerida, o administrador deve aprovar o cliente e a configuração como uma só decisão, não como duas. Nada aqui exige que prove primeiro má intenção; recusar o acesso é uma resposta legítima.