Que paquetes de OpenVPN protexe o digest de auth?
A opción auth cobre menos do que suxire un perfil. Percorra a canle, o caso AEAD e a protección da canle de control antes de fixar unha política de digest.
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.
| Context | What the auth digest does |
|---|---|
| Data channel without AEAD | Selects the HMAC digest that authenticates each data packet |
| Data channel with AEAD, such as GCM | Unused for the data channel; the cipher authenticates its own packets |
| Control channel protected by tls-auth | Selects 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.