Datoteka DH ali ključ tls-auth? Razlikovanje dveh datotek OpenVPN
Ena datoteka vsebuje javne parametre skupine, druga je skupni tajni material. Trije pogoji določajo, kateri direktivi pripada katera.
Dve datoteki, dve direktivi in navada, da obe poimenujemo po tem, kar nastavljata. Tako dh.pem pristane v vrstici tls-auth in odjemalec spodleti s sporočilom o nepričakovanem formatu ključa. Odločitev pred vami ni, katera datoteka je močnejša. Je, katero vlogo namestitev zares potrebuje, in trije pogoji to razrešijo: kakšno izmenjavo ključev bo pogajala vaša zbirka TLS, ali sploh želite overjanje krmilnega kanala in ali mora material ostati tajen.
Odgovorite nanje po vrsti in vprašanje datoteke se odgovori samo. Če jih izpustite, se imena direktiv začnejo zdeti zamenljiva, in natanko iz tega stanja izhaja napaka.
Preberite oznako pred imenom datoteke
Prva vrstica datoteke pove več kot njeno ime, ker je ime človeška konvencija, oznako pa ustvari orodje. Parametri Diffie-Hellman nosijo oznako PEM BEGIN DH PARAMETERS. Statični ključ OpenVPN je povsem drugačna zgradba, z lastno glavo in šestnajstiškim tovorom.
Preimenovanje ničesar ne pretvori. Datoteka s parametri z imenom ta.key je še vedno parametri, statični ključ z imenom dh.pem pa je še vedno statični ključ; razčlenjevalnik prebere vsebino in neskladje zavrne. Preverite, preden uredite profil:
head -n 1 dh.pem
head -n 1 ta.keyTrije pogoji, ki določijo, katero datoteko potrebujete
Prvi pogoj je izmenjava. Rokovanje Diffie-Hellman v končnem polju potrebuje skupino, in direktiva dh je mesto, kjer strežnik poimenuje parametre zanjo. Rokovanje na eliptični krivulji te datoteke sploh ne potrebuje, ker je krivulja sama nabor parametrov. Če vaš strežnik pogaja samo zbirke ECDHE, je datoteka DH mrtva teža in ne dodatna moč.
Drugi pogoj je overjanje krmilnega kanala, ločena funkcija z lastnim materialom. Datoteka tls-auth je skupni statični ključ, ki ga imata obe strani, uporabljen za podpisovanje paketov krmilnega kanala, da neoverjena stran ne more niti dokončati rokovanja. Obstaja ne glede na to, ali uporabljate DH v končnem polju, in nima nobene zveze s parametri skupine.
Tretji pogoj sta tajnost in razdeljevanje. Parametre DH je dovoljeno objaviti, ne da bi oslabili sejo, ker se tajne vrednosti ustvarijo za vsako rokovanje in nikoli ne zapustijo strani. Statičnega ključa ni dovoljeno objaviti: to so isti bajti na obeh koncih, sam se ne vrti, in kdor ga ima, lahko ustvari veljavne podpise krmilnega kanala. Ta dva odgovora vodita k povsem različnim pravilom ravnanja, zato lahko ena datoteka stoji v shrambi, druga pa ne.
Ustvarite pravi material za vsako vlogo
Uporabite orodje, ki ustvari obliko, ki jo direktiva pričakuje, namesto pretvarjanja med njima. Za skupni ključ v OpenVPN 2.6 tipizirana oblika generatorja izrecno navaja namen.
openvpn --genkey tls-auth ta.keyTa ukaz ustvari nov tajni material; ne popravi in ne pregleda obstoječega ključa, ponovna izvedba pa vam da drugačen ključ, ki ga druge strani nimajo. Kopirajte nastalo datoteko stranem, ki jo potrebujejo, po kanalu, ki bi ga uporabili za vsako skupno skrivnost, in ohranite konvencijo smeri dosledno: z tls-auth ena stran uporablja key-direction 0, druga pa key-direction 1.
Parametri DH, ko jih potrebujete, izhajajo iz ustvarjanja parametrov in ne iz generatorja ključev, in njihov izvor je pomemben tudi takrat, ko je rezultat javen. Skupina, vzeta iz neznanega vira, ne postane zaupanja vredna zato, ker je javna; še vedno mora biti skupina, s katero se vaše strani strinjajo, in taka, ki je ne oslabita njena velikost ali zgradba.
Kaj dh none pomeni in kaj ne
dh none je resnična direktiva z ozkim pomenom: nobena datoteka parametrov končnega polja se ne naloži, ker rokovanje uporablja Diffie-Hellman na eliptični krivulji. Ni okrajšava za »preskoči korak DH« v smislu slabitve česarkoli in zagotovo ne pove OpenVPN, naj sprejme drugo datoteko kot nadomestilo.
Iz napačnega branja izhajata dve napaki. Prva je domneva, da dh none odpravi potrebo po tls-auth, čeprav oba uravnavata različne stvari. Druga je zadrževanje zastarele vrstice dh ob konfiguraciji samo s krivuljo in nato ugibanje, katero datoteko strežnik dejansko uporablja; če je direktiva prisotna, se datoteka prebere, in zlomljena pot tam podre zagon iz razloga, ki ni povezan z izmenjavo, o kateri se bo pogajalo.
Če je napačna datoteka že nameščena
Obnovite predvideno skrivnost pri lastniku profila in medtem ne tikajte preverjanja potrdila. Napaka je neskladje oblike, ne napaka zaupanja, in izklop preverjanja, da bi se izognili napaki, nadomesti težavo zagona s tiho težavo.
Nato ločite dogodka, ki ju ljudje radi združijo. Objava datoteke s parametri DH je skoraj neškodljiva, ker so bili parametri po zasnovi javni. Izpostavitev ključa tls-auth je drug dogodek: ključ overja pakete krmilnega kanala za vsako stran, ki ga ima, zato je treba zamenjavo uskladiti po celotni namestitvi in ne izvesti na enem gostitelju.
Pregled v petih minutah razsodi, v katerem primeru ste: preberite prvo vrstico vsake datoteke, potrdite direktivo, ki se nanjo sklicuje, in potrdite, da razdeljevanje datoteke ustreza temu, kar material zahteva. To je manj dela kot znova ustvariti delujoč PKI, in natanko na to so trije pogoji ves čas kazali.