Quins paquets d'OpenVPN protegeix el digest auth?
L'opció auth cobreix menys del que suggereix un perfil. Recorreu el canal, el cas AEAD i la protecció del canal de control abans de fixar una política de digest.
La majoria de debats sobre els digests d'OpenVPN comencen pel paquet equivocat. Llegir auth SHA256 com «accepta només els parells que ofereixen SHA256» és la primera cosa que cal desaprendre. L'opció anomena un digest per a paquets concrets, i quins paquets són aquests depèn del canal i de si aquell canal és AEAD. Recorreu les quatre preguntes de sota en ordre; cadascuna estreta què pot significar el paràmetre en el vostre desplegament.
Anomeneu el canal que el paràmetre ha de protegir
OpenVPN té un canal de control que transporta el trànsit de l'apretada de mans TLS i un canal de dades que transporta la càrrega del túnel. El digest auth hi té un paper en tots dos, però no el mateix, i el perfil poques vegades fa visible la diferència. Anoteu quin dels dos voleu restringir abans de tocar un fitxer de configuració.
La taula de sota és la versió curta de com la mateixa opció cau en cada context.
| 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 |
Comproveu si el canal de dades és AEAD abans de confiar-hi
Si el xifratge de dades negociat és AES-GCM o CHACHA20-POLY1305, el canal de dades s'autentica a si mateix i el digest separat no fa la feina que potser us imagineu. Tots dos són construccions AEAD, així que la integritat la produeix la mateixa operació que xifra la càrrega. No és una degradació, però sí que significa que una política justificada com «cada paquet de dades és HMAC-SHA256» és factualment incorrecta en aquest túnel. Confirmeu el valor negociat al registre del servidor o a la sortida d'estat del client abans de reescriure la política.
Inspeccioneu el xifratge que realment s'ha negociat en lloc de la llista del perfil, perquè la negociació pot recaure en un altre membre del conjunt. data-ciphers AES-256-GCM:AES-128-GCM és una llista de negociació, i les dues entrades són AEAD, així que cap de les dues consumeix el digest auth per a la protecció de la càrrega.
Tracteu la protecció del canal de control com una decisió pròpia
tls-auth afegeix un HMAC als paquets del canal de control i pren el seu digest del paràmetre auth, per això un túnel AEAD encara pot tenir un digest significatiu configurat. tls-crypt és un altre arranjament amb la seva pròpia protecció fixa, així que no assumiu que hereta totes les propietats de tls-auth. Llegiu la documentació del mecanisme que heu triat en lloc de traslladar supòsits entre ells.
Els dos parells també han de coincidir en l'arranjament i en la direcció de la clau. Un digest que coincideix però un fitxer de clau usat en la direcció equivocada produeix una apretada de mans que falla per motius que el paràmetre del digest no pot explicar.
Manteniu auth separat de la negociació de xifratges i dels certificats
Tres paràmetres es confonen constantment: el digest auth, la llista de xifratges de dades i l'algorisme de signatura del certificat. Canviar el primer no reemeteix un certificat, no selecciona el seu digest de signatura i no crea un mètode d'usuari i contrasenya. Les definicions d'opcions de protocol a les fonts d'OpenVPN 2.6 descriuen cadascuna en la seva pròpia secció, cosa que recorda útilment que són botons independents.
Quan un parell es nega a connectar després d'un canvi de digest, la causa sol ser una discrepància en un dels altres dos paràmetres. Llegiu tots dos extrems abans de canviar-ne cap.
Escriviu la política i compareu-la amb les configuracions en execució
Una declaració a nivell de flota hauria d'anomenar explícitament els modes de canal de dades permesos i la protecció del canal de control triada, en la mateixa frase. Aquesta frase és verificable; «fem servir SHA256» no ho és. Després compareu-la amb els perfils efectius de servidor i client en lloc d'amb una plantilla d'un repositori.
Acabeu registrant què ha negociat realment cada túnel i quin mecanisme ha autenticat els seus paquets. Una línia auth visible en un perfil només és prova d'intenció de configuració, i la intenció és la part més barata de la comprovació.