A maioría dos debates sobre os digests de OpenVPN comezan polo paquete equivocado. Ler auth SHA256 como «acepta só os pares que ofrezan SHA256» é o primeiro que hai que desaprender. A opción nomea un digest para paquetes concretos, e cales son eses paquetes depende da canle e de se esa canle é AEAD. Percorra as catro preguntas de abaixo en orde; cada unha axusta o que o axuste pode significar no seu despregamento.

Nomee a canle que o axuste debe protexer

OpenVPN ten unha canle de control que transporta o tráfico do apretón de mans TLS e unha canle de datos que transporta a carga do túnel. O digest de auth ten un papel en ambas, pero non o mesmo, e o perfil raramente fai visible a diferenza. Anote cal das dúas intenta restrinxir antes de tocar un ficheiro de configuración.

A táboa de abaixo é a versión curta de como a mesma opción aterra en 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

Comprobe se a canle de datos é AEAD antes de confiar nela

Se o cifrado de datos negociado é AES-GCM ou CHACHA20-POLY1305, a canle de datos autentícase a si mesma e o digest separado non fai o traballo que quizais imaxina. Ambos son construcións AEAD, así que a integridade prodúcea a mesma operación que cifra a carga. Non é unha degradación, pero significa que unha política xustificada como «cada paquete de datos é HMAC-SHA256» é factualmente incorrecta nese túnel. Confirme o valor negociado no rexistro do servidor ou na saída de estado do cliente antes de reescribir a política.

Inspeccione o cifrado que realmente se negociou en lugar da lista do perfil, porque a negociación pode recaer noutro membro do conxunto. data-ciphers AES-256-GCM:AES-128-GCM é unha lista de negociación, e as dúas entradas son AEAD, así que ningunha delas consume o digest de auth para protexer a carga.

Trate a protección da canle de control como unha decisión propia

tls-auth engade un HMAC aos paquetes da canle de control e toma o seu digest do axuste auth, por iso un túnel AEAD aínda pode ter un digest significativo configurado. tls-crypt é outro arranxo coa súa propia protección fixa, así que non asuma que herda todas as propiedades de tls-auth. Lea a documentación do mecanismo que escolleu en lugar de trasladar supostos entre eles.

Os dous pares tamén deben coincidir no arranxo e na dirección da clave. Un digest que coincide pero un ficheiro de clave usado na dirección equivocada produce un apretón de mans que falla por razóns que o axuste do digest non pode explicar.

Manteña auth separado da negociación de cifrados e dos certificados

Tres axustes confúndense constantemente: o digest de auth, a lista de cifrados de datos e o algoritmo de sinatura do certificado. Cambiar o primeiro non reemite un certificado, non selecciona o seu digest de sinatura e non crea un método de usuario e contrasinal. As definicións de opcións de protocolo nas fontes de OpenVPN 2.6 describen cada unha na súa propia sección, o que é un recordatorio útil de que son mandos independentes.

Cando un par se nega a conectar tras un cambio de digest, a causa adoita ser unha discrepancia nun dos outros dous axustes. Lea ambos os extremos antes de cambiar calquera deles.

Escriba a política e compárea coas configuracións en execución

Unha declaración a nivel de frota debería nomear explicitamente os modos de canle de datos permitidos e a protección da canle de control elixida, na mesma frase. Esa frase é verificable; «usamos SHA256» non o é. Despois compárea cos perfís efectivos de servidor e cliente en lugar de cun modelo dun repositorio.

Remate rexistrando que negociou realmente cada túnel e que mecanismo autenticou os seus paquetes. Unha liña auth visible nun perfil só é proba de intención de configuración, e a intención é a parte máis barata da comprobación.

Artigos relacionados