Jurnal OpenVPN: cifrul canalului de control față de cifrul canalului de date
DHE-RSA-AES256-SHA din jurnal descrie canalul de control TLS, nu cifrul care vă protejează traficul. Găsiți rezultatul separat al canalului de date.
O linie de jurnal care numește DHE-RSA-AES256-SHA nu este o sinteză a întregii conexiuni. Ea aparține handshake-ului TLS care protejează canalul de control, iar traficul din interiorul tunelului poate fi criptat cu totul altceva. Prezentarea ei drept cifrul de date al VPN-ului este greșeala de evitat.
Contează două rezultate, iar ele răspund la întrebări diferite. Unul este suita TLS negociată pentru canalul de control; celălalt este cifrul de date pentru pachetele pe care le transportă tunelul.
Două rezultate, două întrebări
Canalul de control transportă handshake-ul și mesajele de administrare dintre parteneri. Cifrul său este ales de stiva TLS, așa că numele urmează convențiile TLS. Canalul de date transportă traficul utilizatorului și este configurat de propria negociere a cifrului din OpenVPN.
Decideți la ce întrebare răspundeți înainte de a citi oricare dintre linii. Dacă tunelul este criptat și dacă handshake-ul este puternic nu sunt aceeași întrebare.
Un extras de jurnal care arată ambele linii este cel util. Citiți linia de control pentru versiunea și suita TLS, iar linia de date pentru algoritmul care protejează efectiv încărcătura.
Decodificați numele suitei TLS în propriul context
Într-un nume istoric în stil OpenSSL precum DHE-RSA-AES256-SHA, fiecare componentă descrie o decizie diferită. DHE este schimbul efemer de chei Diffie-Hellman, RSA este metoda de autentificare, AES256 este AES-256 în modul CBC pentru înregistrările TLS, iar SHA este MAC-ul înregistrării bazat pe SHA-1.
Ultima componentă nu este o amprentă a certificatului, iar citirea ei ca atare este o greșeală frecventă. Numele nu indică nici versiunea protocolului de unul singur, deoarece TLS 1.3 folosește o schemă de denumire complet diferită. TLS_AES_256_GCM_SHA384 urmează acea formă mai nouă, în care hash-ul final face parte din construcția suitei, nu este o alegere de MAC. Aplicați citirea pe componente doar stilului de denumire mai vechi.
referința pentru suitele OpenSSL asociază aceste nume cu definițiile lor dacă o componentă nu este familiară.
Citiți rezultatul canalului de date pentru traficul transportat
Pentru traficul transportat, citiți linia canalului de date din aceeași sesiune. O listă data-ciphers din configurație este o mulțime permisă, nu dovada că a fost negociat un anumit algoritm. Jurnalul înregistrează alegerea; configurația listează meniul.
Un cifru AEAD precum AES-GCM are propria verificare de integritate, așa că un HMAC separat pentru canalul de date nu face parte din acea cale.
Directiva auth nu actualizează TLS, certificatele sau cifrul de date. Selectează un digest pentru părțile protocolului care încă folosesc unul, iar cu un cifru de date AEAD nu există un HMAC de date separat de configurat.
Țineți verificările de identitate în afara rezultatului cifrului
Algoritmul de semnătură al certificatului, validarea lanțului de încredere și verificarea numelui partenerului sunt trei proprietăți în plus despre care un nume de cifru nu spune nimic. Un certificat expirat eșuează indiferent cât de puternică este suita. Un nume de server care nu se potrivește eșuează la fel. Corectarea unei setări de digest în profil nu repară niciuna dintre ele.
Țineți aceste verificări în notele de revizuire lângă rezultatul cifrului, nu contopite cu el.
Înregistrați rezultatele negociate ale sesiunii curente
Luați rezultatele conexiunii curente și înregistrați alături versiunile clientului și ale serverului. Un jurnal doar cu adăugare poate conține linia unei sesiuni mai vechi, iar citarea ei ca actuală este felul în care o problemă rezolvată pare să persiste.
Pentru o revizuire de politici, predați proprietarului configurației versiunea și suita TLS negociate, cifrul de date ales și setările de validare a certificatelor împreună. Modificați acel strat și apoi citiți un jurnal nou pentru a confirma noile valori negociate.