Clientul refuză să pornească cu o eroare de opțiuni care numește ncp-disable, deși profilul funcționa pe mașina anterioară. Mesajul nu înseamnă că opțiunea este scrisă greșit sau că criptarea este stricată. Înseamnă că binarul din fața dumneavoastră nu cunoaște deloc directiva, iar pentru asta există două motive foarte diferite. Care se aplică decide dacă editați profilul sau schimbați clientul.

Eroarea poate veni de la un binar mai nou

O eroare de opțiune necunoscută privește parserul, nu tunelul. OpenVPN 2.4 a adăugat parametri de criptare negociabili, 2.5 a declarat învechit comutatorul care îi dezactiva, iar 2.6 l-a eliminat complet. De aceea un profil scris pentru 2.3 sau 2.4 eșuează pe un client actual chiar dacă nimic din fișier nu s-a schimbat. Versiunea care se plânge este mai nouă, nu mai veche.

Aflați ce executabil a produs mesajul înainte de a edita ceva. Un client desktop își aduce propriul motor, în timp ce un binar de linie de comandă instalat separat are propria versiune. Cele două pot să nu fie de acord pe aceeași mașină.

openvpn --version lămurește asta pentru binarul pe care îl testați. Un client cu GUI poate să nu afișeze comanda; în acest caz citiți ecranul de informații sau versiunea bibliotecii incluse.

Ce controla de fapt opțiunea

Directiva dezactiva negocierea parametrilor criptografici, așa că ambele capete reveneau la un comportament de selecție mai vechi, condus de setarea cipher. Nu a dezactivat niciodată criptarea și nu a transformat niciodată tunelul în text simplu. Să o citești ca pe un comutator de securitate este prima cotitură greșită, iar aceasta duce la schimbări care înrăutățesc conexiunea în loc să o îmbunătățească.

Odată ce negocierea există, întrebarea echivalentă este ce criptări este dispusă să folosească fiecare parte. Este o chestiune de politică, iar politica locuiește în data-ciphers de la 2.5 încoace.

Numele mai vechi ncp-ciphers aparține versiunii 2.4. Amestecarea celor două nume între părți este o sursă obișnuită de eșecuri de negociere într-o singură direcție. Un profil care le poartă pe amândouă este un profil editat de două persoane la momente diferite.

Înlocuiți politica, nu ortografia

Setați data-ciphers pe ambele părți cu o alegere comună intenționată și păstrați lista suficient de scurtă încât un recenzent să poată raționa asupra ei. Schimbarea unei singure linii arbitrare nu dovedește nimic; rezultatul depinde de intersecția celor două liste și de ce acceptă stiva TLS. Confirmați acordul părților citind rezultatul negociat, nu configurația. Apoi scrieți ambele liste în registrul de implementare, ca următoarea schimbare să pornească de la o stare cunoscută.

Actualizați profilul prin cel care îl deține. Adăugarea unei opțiuni de ignorare pentru a ascunde o directivă învechită lasă întrebarea de politică fără răspuns.

Dacă o parte mai veche are într-adevăr nevoie de gestionarea compatibilității, limitați-o la acea implementare. Restabilirea comportamentului învechit la nivel global nu este o condiție prealabilă pentru conectarea părților moderne. Excepția ar trebui să numească partea pentru care există.

Două linii care arată ca o listă de criptări, dar nu sunt

Stivuirea a două linii de criptare nu restabilește nici negocierea, iar rezultatul este un profil care arată ca o listă, dar se comportă ca o singură valoare. O linie cu AES-256-CBC și următoarea cu CBC este o încercare obișnuită. CBC singur numește un mod, nu un algoritm, așa că un parser îl poate accepta într-un loc și respinge în următorul. Directivele cipher repetate setează aceeași opțiune de două ori în loc să acumuleze candidați.

Verificați numele acceptate cu openvpn --show-ciphers pe binarul țintă în loc să copiați o listă dintr-un ghid scris pentru altă ramură. Lista se schimbă între versiuni. Un nume valid într-o ramură nu este neapărat valid în cealaltă.

Dacă scopul a fost compararea performanței, notați algoritmii și sarcina de lucru. Trecerea la CBC nu este o măsură a absenței criptării.

Verificați ce a negociat de fapt conexiunea

Stabiliți o conexiune nouă și citiți linia canalului de date din jurnal, care numește criptarea folosită. Suita canalului de control se decide separat, așa că lista permisă din fișier arată doar ce a fost oferit. Când cele două părți au ales ceva ce nu ați așteptat, listele sunt locul unde trebuie să priviți, nu interfața tunelului. Confirmați rezultatul pe o a doua conexiune după orice schimbare, deoarece o singură repornire poate reutiliza o sesiune din cache.

Păstrați rezultatul negociat în registrul de implementare lângă versiunea profilului. Acesta este faptul care răspunde la următoarea întrebare despre ce criptare protejează cu adevărat traficul.

Articole similare