Kaks faili, kaks direktiivi ja harjumus nimetada mõlemad selle järgi, mida need seadistavad. Nii satub dh.pem tls-auth-reale ja klient ebaõnnestub teatega ootamatu võtmevormingu kohta. Otsus sinu ees ei ole see, milline fail on tugevam. See on, millist rolli juurutus tegelikult vajab, ja kolm tingimust otsustavad selle: millist võtmevahetust sinu TLS-pinu läbiräägib, kas sa üldse tahad juhtkanali autentimist ja kas materjal peab jääma salajaseks.

Vasta nendele järjekorras ja failiküsimus vastab ise. Jäta need vahele ja direktiivide nimed hakkavad tunduma vahetatavad, mis on täpselt see seisund, kust viga tuleb.

Loe silti enne failinime

Faili esimene rida on teaberikkam kui selle nimi, sest nimi on inimlik konventsioon ja sildi toodab tööriist. Diffie-Hellmani parameetrid kannavad PEM-silti BEGIN DH PARAMETERS. OpenVPN-i staatiline võti on hoopis teine struktuur, oma päise ja kuueteistkümnendkoormaga.

Ümbernimetamine ei teisenda midagi. Parameetrifail nimega ta.key on ikka parameetrid ja staatiline võti nimega dh.pem on ikka staatiline võti; parser loeb sisu ja lükkab ebakõla tagasi. Kontrolli enne profiili muutmist:

head -n 1 dh.pem
head -n 1 ta.key

Kolm tingimust, mis otsustavad, millist faili vajad

Esimene tingimus on vahetus. Lõpliku välja Diffie-Hellmani kätlus vajab gruppi ja direktiiv dh on koht, kus server selle jaoks parameetrid nimetab. Elliptilise kõvera kätlus ei vaja seda faili üldse, sest kõver on parameetrite hulk. Kui sinu server läbiräägib ainult ECDHE komplekte, on DH-fail pigem surnud raskus kui lisatugevus.

Teine tingimus on juhtkanali autentimine, omaette funktsioon oma materjaliga. Fail tls-auth on jagatud staatiline võti, mida mõlemad osapooled hoiavad ja mida kasutatakse juhtkanali pakettide allkirjastamiseks, et autentimata osapool ei saaks kätlust isegi lõpule viia. See on olemas olenemata sellest, kas kasutad lõpliku välja DH-d, ja sellel pole grupiparameetritega mingit seost.

Kolmas tingimus on salastatus ja levitamine. DH-parameetreid tohib avaldada ilma seanssi nõrgendamata, sest salajased väärtused genereeritakse iga kätluse jaoks ja ei lahku kunagi osapooltest. Staatilist võtit ei tohi avaldada: see on mõlemas otsas samad baidid, see ei pöördu iseenesest ja igaüks, kes seda hoiab, saab luua kehtivaid juhtkanali allkirju. Need kaks vastust viivad täiesti erinevate käsitsemisreegliteni, mistõttu üks fail võib seista hoidlas ja teine mitte.

Loo iga rolli jaoks õige materjal

Kasuta tööriista, mis toodab direktiivi ootatud vormingu, mitte ei teisenda nende vahel. OpenVPN 2.6 jagatud võtme jaoks nimetab generaatori tüübistatud vorm eesmärgi selgesõnaliselt.

openvpn --genkey tls-auth ta.key

See käsk loob uue salajase materjali; see ei paranda ega kontrolli olemasolevat võtit ja uuesti käivitamine annab sulle teistsuguse võtme, mida teistel osapooltel pole. Kopeeri saadud fail neile osapooltele, kes seda vajavad, kanali kaudu, mida kasutaksid iga jagatud saladuse jaoks, ja hoia suunakonventsioon ühtlane: tls-auth puhul kasutab üks pool key-direction 0 ja teine key-direction 1.

DH-parameetrid tulevad siis, kui neid vajad, parameetrite genereerimisest, mitte võtmegeneraatorist, ja nende päritolu loeb ka siis, kui väljund on avalik. Tundmatust allikast võetud grupp ei muutu usaldusväärseks sellepärast, et on avalik; see peab endiselt olema grupp, millega sinu osapooled nõustuvad, ja selline, mida selle suurus ega ehitus ei nõrgenda.

Mida dh none teeb ja mida mitte

dh none on tõeline kitsa tähendusega direktiiv: ühtki lõpliku välja parameetrifaili ei laadita, sest kätlus kasutab elliptilise kõvera Diffie-Hellmani. See ei ole lühend „jäta DH-samm vahele“ tähenduses midagi nõrgendada ja kindlasti ei ütle see OpenVPN-ile mõnda teist faili asendajana aktsepteerida.

Sellest valesti lugemisest tuleneb kaks viga. Esimene on eeldada, et dh none kaotab vajaduse tls-auth järele, kuigi need kaks juhivad eri asju. Teine on hoida aegunud dh-rida ainult kõvera konfiguratsiooni kõrval ja siis imestada, millist faili server tegelikult kasutab; kui direktiiv on olemas, loetakse faili, ja katkine tee seal nurjab käivituse põhjusel, mis pole seotud läbiräägitava vahetusega.

Kui vale fail on juba juurutatud

Taasta kavandatud saladus profiili omanikult ja jäta sertifikaadi kontrollimine selle ajal puutumata. Tõrge on vormingu ebakõla, mitte usalduse tõrge, ja kontrollimise väljalülitamine vea möödaminekuks asendab käivitusprobleemi vaikse probleemiga.

Seejärel eralda kaks juhtumit, mida inimesed kipuvad ühendama. DH-parameetrifaili avaldamine on peaaegu kahjutu, sest parameetrid olid kavandatult avalikud. Võtme tls-auth paljastamine on teine sündmus: võti autendib juhtkanali pakette iga osapoole jaoks, kes seda hoiab, seega tuleb asendust koordineerida kogu juurutuse ulatuses, mitte rakendada ühel hostil.

Viie minuti kontroll otsustab, millises olukorras oled: loe iga faili esimest rida, kinnita direktiiv, mis sellele viitab, ja kinnita, et faili levitamine vastab sellele, mida materjal nõuab. See on väiksem töö kui töötava PKI uuesti loomine, ja just sellele osutasid kolm tingimust kogu aeg.

Seotud artiklid