DH fails vai tls-auth atslēga? Atšķirt divus OpenVPN failus
Vienā failā ir publiski grupas parametri, otrā — kopīgs slepens materiāls. Trīs nosacījumi nosaka, kurai direktīvai pieder katrs.
Divi faili, divas direktīvas un ieradums abus dēvēt pēc tā, ko tie konfigurē. Tā dh.pem nonāk tls-auth rindā, un klients cieš neveiksmi ar ziņojumu par negaidītu atslēgas formātu. Lēmums jūsu priekšā nav par to, kurš fails ir stiprāks. Tas ir par to, kāda loma izvietojumam patiešām vajadzīga, un trīs nosacījumi to izšķir: kādu atslēgu apmaiņu pārrunās jūsu TLS steks, vai jūs vispār gribat vadības kanāla autentifikāciju un vai materiālam jāpaliek slepenam.
Atbildiet uz tiem secībā, un faila jautājums atbildēs pats. Izlaidiet tos, un direktīvu nosaukumi sāks izskatīties savstarpēji aizstājami, un tieši no šī stāvokļa rodas kļūda.
Lasiet etiķeti pirms faila nosaukuma
Faila pirmā rinda ir informatīvāka par tā nosaukumu, jo nosaukums ir cilvēciska konvencija, bet etiķeti veido rīks. Diffie-Hellman parametriem ir PEM etiķete BEGIN DH PARAMETERS. OpenVPN statiskā atslēga ir pilnīgi cita struktūra ar savu galveni un heksadecimālo kravu.
Pārdēvēšana neko nepārvērš. Parametru fails ar nosaukumu ta.key joprojām ir parametri, un statiskā atslēga ar nosaukumu dh.pem joprojām ir statiskā atslēga; parsētājs nolasa saturu un noraida neatbilstību. Pārbaudiet pirms profila rediģēšanas:
head -n 1 dh.pem
head -n 1 ta.keyTrīs nosacījumi, kas nosaka, kurš fails jums vajadzīgs
Pirmais nosacījums ir apmaiņa. Ierobežota lauka Diffie-Hellman rokas spiedienam vajadzīga grupa, un direktīva dh ir vieta, kur serveris nosauc tai parametrus. Eliptiskās līknes rokas spiedienam šis fails nemaz nav vajadzīgs, jo līkne pati ir parametru kopa. Ja jūsu serveris pārrunā tikai ECDHE komplektus, DH fails ir miris svars, nevis papildu spēks.
Otrais nosacījums ir vadības kanāla autentifikācija — atsevišķa funkcija ar savu materiālu. tls-auth fails ir kopīga statiskā atslēga, kas ir abām pusēm un ko izmanto vadības kanāla pakešu parakstīšanai, lai neautentificēta puse nevarētu pat pabeigt rokas spiedienu. Tā pastāv neatkarīgi no tā, vai lietojat ierobežota lauka DH, un tai nav nekāda sakara ar grupas parametriem.
Trešais nosacījums ir slepenība un izplatīšana. DH parametrus drīkst publicēt, nevardzinot sesiju, jo slepenās vērtības tiek ģenerētas katram rokas spiedienam un nekad neatstāj puses. Statisku atslēgu nedrīkst publicēt: tie ir tie paši baiti abos galos, tā pati no sevis negriežas, un ikviens, kam tā ir, var radīt derīgus vadības kanāla parakstus. Šīs divas atbildes ved pie pilnīgi atšķirīgiem apiešanās noteikumiem, tāpēc viens fails var atrasties krātuvē, bet otrs ne.
Ģenerējiet pareizo materiālu katrai lomai
Izmantojiet rīku, kas rada direktīvas gaidīto formātu, nevis pārvērš starp tiem. OpenVPN 2.6 kopīgajai atslēgai ģeneratora tipizētā forma skaidri nosauc mērķi.
openvpn --genkey tls-auth ta.keyŠī komanda rada jaunu slepenu materiālu; tā nelabo un nepārbauda esošu atslēgu, un atkārtota palaišana dod citu atslēgu, kuras citām pusēm nav. Kopējiet iegūto failu pusēm, kurām tas vajadzīgs, pa kanālu, ko izmantotu jebkuram kopīgam noslēpumam, un saglabājiet virziena konvenciju konsekventu: ar tls-auth viena puse izmanto key-direction 0, bet otra — key-direction 1.
DH parametri, kad tie vajadzīgi, nāk no parametru ģenerēšanas, nevis no atslēgu ģeneratora, un to izcelsme ir svarīga arī tad, ja izvade ir publiska. Grupa, kas ņemta no nezināma avota, nekļūst uzticama tāpēc, ka ir publiska; tai joprojām jābūt grupai, par kuru vienojas jūsu puses, un tādai, ko nevardzina tās izmērs vai uzbūve.
Ko nozīmē dh none un ko ne
dh none ir īsta direktīva ar šauru nozīmi: neviens ierobežota lauka parametru fails netiks ielādēts, jo rokas spiediens izmanto eliptiskās līknes Diffie-Hellman. Tā nav saīsinājums “izlaist DH soli” tādā nozīmē, ka kaut kas tiktu vājināts, un tā noteikti nepasaka OpenVPN pieņemt citu failu kā aizstājēju.
No nepareizas lasīšanas izriet divas kļūdas. Pirmā ir pieņemt, ka dh none novērš vajadzību pēc tls-auth, lai gan abi pārvalda dažādas lietas. Otrā ir turēt novecojušu dh rindu blakus tikai līknes konfigurācijai un tad brīnīties, kuru failu serveris faktiski izmanto; ja direktīva ir, fails tiek lasīts, un salauzts ceļš tur liek starts neizdoties iemesla dēļ, kas nav saistīts ar apmaiņu, par ko tiks pārrunāts.
Ja nepareizais fails jau ir izvietots
Atjaunojiet paredzēto noslēpumu no profila īpašnieka un neaiztieciet sertifikāta pārbaudi, kamēr to darāt. Kļūme ir formāta neatbilstība, nevis uzticības kļūme, un pārbaudes izslēgšana, lai apietu kļūdu, aizstāj starta problēmu ar klusu problēmu.
Pēc tam atšķiriet divus notikumus, ko cilvēki mēdz sapludināt. DH parametru faila publicēšana ir gandrīz nekaitīga, jo parametri bija publiski pēc projekta. tls-auth atslēgas atklāšana ir cits notikums: atslēga autentificē vadības kanāla paketes katrai pusei, kurai tā ir, tāpēc aizstāšana jāsaskaņo visā izvietojumā, nevis jāpiemēro vienā saimniekā.
Piecu minūšu pārbaude izšķir, kurā gadījumā jūs esat: izlasiet katra faila pirmo rindu, apstipriniet direktīvu, kas uz to atsaucas, un apstipriniet, ka faila izplatīšana atbilst tam, ko prasa materiāls. Tas ir mazāks darbs nekā no jauna izveidot strādājošu PKI, un tieši uz to visu laiku norādīja trīs nosacījumi.