A maioria das discussões sobre digests do OpenVPN começa no pacote errado. Ler auth SHA256 como «aceite apenas pares que ofereçam SHA256» é a primeira coisa que se deve desaprender. A opção nomeia um digest para pacotes específicos, e quais são esses pacotes depende do canal e de se esse canal é AEAD. Percorra as quatro perguntas abaixo em ordem; cada uma restringe o que a definição pode significar na sua implantação.

Nomeie o canal que a definição deve proteger

OpenVPN tem um canal de controle que transporta o tráfego do aperto de mão TLS e um canal de dados que transporta a carga do túnel. O digest de auth tem papel nos dois, mas não o mesmo, e o perfil raramente torna a diferença visível. Anote qual dos dois você tenta restringir antes de tocar num arquivo de configuração.

A tabela abaixo é a versão curta de como a mesma opção cai em cada contexto.

ContextWhat the auth digest does
Data channel without AEADSelects the HMAC digest that authenticates each data packet
Data channel with AEAD, such as GCMUnused for the data channel; the cipher authenticates its own packets
Control channel protected by tls-authSelects the HMAC digest for that protection, even when data is AEAD

Verifique se o canal de dados é AEAD antes de contar com ele

Se a cifra de dados negociada for AES-GCM ou CHACHA20-POLY1305, o canal de dados autentica a si mesmo e o digest separado não faz o trabalho que você talvez imagine. Ambos são construções AEAD, então a integridade é produzida pela mesma operação que cifra a carga. Isso não é uma degradação, mas significa que uma política justificada como «cada pacote de dados é HMAC-SHA256» é factualmente incorreta naquele túnel. Confirme o valor negociado no log do servidor ou na saída de estado do cliente antes de reescrever a política.

Inspecione a cifra que realmente foi negociada em vez da lista no perfil, porque a negociação pode cair noutro membro do conjunto. data-ciphers AES-256-GCM:AES-128-GCM é uma lista de negociação, e ambas as entradas são AEAD, então nenhuma delas consome o digest de auth para proteger a carga.

Trate a proteção do canal de controle como uma decisão própria

tls-auth acrescenta um HMAC aos pacotes do canal de controle e tira o seu digest da definição auth, por isso um túnel AEAD ainda pode ter um digest significativo configurado. tls-crypt é outro arranjo com a sua própria proteção fixa, então não assuma que herda todas as propriedades do tls-auth. Leia a documentação do mecanismo que escolheu em vez de transferir suposições entre eles.

Os dois pares também devem concordar quanto ao arranjo e quanto à direção da chave. Um digest que coincide mas um arquivo de chave usado na direção errada produz um aperto de mão que falha por razões que a definição do digest não consegue explicar.

Mantenha o auth separado da negociação de cifras e dos certificados

Três definições são constantemente confundidas: o digest de auth, a lista de cifras de dados e o algoritmo de assinatura do certificado. Mudar a primeira não reemite um certificado, não seleciona o seu digest de assinatura e não cria um método de utilizador e palavra-passe. As definições das opções de protocolo nos fontes do OpenVPN 2.6 descrevem cada uma na sua própria secção, o que é um lembrete útil de que são botões independentes.

Quando um par recusa ligar-se depois de uma mudança de digest, a causa costuma ser uma divergência numa das outras duas definições. Leia os dois extremos antes de mudar qualquer uma delas.

Escreva a política e compare-a com as configurações em execução

Uma declaração ao nível da frota deve nomear explicitamente os modos de canal de dados permitidos e a proteção do canal de controle escolhida, na mesma frase. Essa frase é verificável; «usamos SHA256» não é. Depois compare-a com os perfis efetivos de servidor e cliente em vez de com um modelo num repositório.

Termine registrando o que cada túnel realmente negociou e que mecanismo autenticou os seus pacotes. Uma linha auth visível num perfil é apenas prova da intenção de configuração, e a intenção é a parte mais barata da verificação.

Artigos relacionados