O modo de chave estática conecta exatamente dois pares, e esse é o seu desenho, não uma limitação que alguém esqueceu de levantar. client-to-client é uma opção de encaminhamento do modo servidor, portanto adicioná-la a uma configuração --secret não muda nada quanto a quantos clientes podem se conectar. A decisão não é qual opção acrescentar, mas se a implantação precisa de um link ponto a ponto ou de um serviço para vários clientes. Se vários dispositivos precisam se conectar de forma independente, o modo de proteção muda e cada dispositivo recebe uma identidade.

Dois pares, uma chave e nenhum estado por cliente: essa forma é toda a história do modo.

Para que serve o modo de chave estática

No modo secreto, ambos os pares compartilham um único arquivo de chave, e essa chave protege o tráfego diretamente. Não há aperto de mão, nem troca de certificados, nem sessão por cliente, porque não há clientes no sentido de servidor, apenas dois pontos finais.

O modo continua útil para um par fixo de máquinas com um processo documentado de rotação de chaves, e o OpenVPN 2.6 o marca como obsoleto justamente porque o modo TLS cobre esses casos com melhores propriedades. O que ele não pode fazer é distinguir um dispositivo que se conecta de outro, já que a posse do arquivo é toda a história da autenticação. Adicionar um terceiro dispositivo significa compartilhar a mesma chave com ele, depois do que os dois primeiros já não conseguem distingui-lo de si mesmos.

É por isso que o limite de dois pares é estrutural e não um ajuste que se possa mudar.

Por que client-to-client não é a peça que falta

client-to-client controla se os clientes conectados podem trocar tráfego através do servidor. Não admite clientes, não atribui identidades nem cria um modo servidor que não foi configurado, e numa configuração de chave estática não há lista de clientes para ele governar.

A outra confusão comum envolve material de tls-crypt ou tls-auth. Um servidor TLS pode compartilhar uma dessas chaves entre todos os clientes, porque protege o canal de controlo em vez de provar quem é cada cliente. Uma chave compartilhada de canal de controlo no modo TLS é um objeto diferente de uma chave de dados estática compartilhada, embora as duas cheguem como arquivos que se parecem.

Escolher entre os modos resume-se a duas perguntas. Mais de um dispositivo precisa se conectar de forma independente, e a implantação precisa de revogação por dispositivo? Um não a ambas mantém o modo de chave estática viável; um sim a qualquer uma aponta para o TLS. Não existe uma terceira opção em que um segundo cliente seja admitido sem a própria identidade.

Construir o servidor para vários clientes

Um servidor para vários clientes precisa do modo TLS, de um certificado do lado do servidor e de uma identidade por cliente. O auxiliar do servidor prepara o conjunto de endereços e o modo de vários clientes, mas não fornece a configuração TLS, a âncora de confiança nem os certificados de cliente que tornam a admissão significativa.

Registe cada dispositivo pela autoridade certificadora existente em vez de copiar as credenciais de um cliente. São as identidades distintas que tornam possíveis a revogação, o encaminhamento por cliente e registos úteis, e um único certificado de cliente compartilhado derruba as três coisas.

Se a implantação autentica utilizadores através de um diretório externo ou de um segundo fator, esse desenho permanece como está. Passar para o modo servidor TLS decide como os pares se provam na camada de túnel, e não impõe o backend de contas. Mantenha as duas decisões separadas para que uma alteração numa não altere silenciosamente a outra.

Depois decida a política de encaminhamento deliberadamente. client-to-client ativa o tráfego entre clientes no caminho do servidor em espaço de utilizador, que muitas implantações querem e algumas não podem ter. É um interruptor de política, não um mecanismo de identidade, e deve ser ligado porque o desenho o exige, não porque um tutorial o incluiu.

Verificar que os clientes são realmente independentes

Conecte dois clientes e confirme que recebem endereços diferentes e aparecem com identidades diferentes no registo do servidor. Depois revogue um e confirme que o outro continua a funcionar, o que é o teste prático de que as identidades não foram compartilhadas.

Teste o serviço permitido entre pares e um que deva permanecer bloqueado. Dois inícios de sessão bem-sucedidos provam a admissão, não o isolamento, e a diferença importa quando a implantação deve separar grupos de utilizadores.

Por fim, leia o modo servidor da configuração em execução e não da memória. Uma configuração de chave estática com opções adicionais continua a ser um link ponto a ponto, e um servidor TLS correto é o único arranjo em que vários clientes são pares realmente separados.

Se o registo mostrar um único nome comum para cada dispositivo, o modo não é o problema. O processo de registo é.

Artigos relacionados