Tu je konfiguracija strežnika, ki ob certifikatu z RSA navaja dh none, skupaj z nadležnim sumom, da mora biti eno od tega napačno. Nič ni napačno. Certifikat podpiše in overi; izmenjava ključev vzpostavi skupno skrivnost. To sta dve različni opravili v istem rokovanju, in TLS dovoli certifikatu RSA, da overi rokovanje, ki uporablja efemerni dogovor na eliptični krivulji.

Zmeda običajno pride z vodnikom za migracijo. Pravi, naj se datoteka s parametri DH nadomesti z dh none, bralec opazi, da certifikat ni certifikat eliptične krivulje, in dejstvi se obravnavata kot protislovje.

Zakaj se nastavitvi zdita povezani

Starejša konfiguracija OpenVPN je zahtevala datoteko s parametri DH, ker Diffie-Hellman v končnem polju potrebuje domenske parametre, s katerimi se obe strani strinjata. Direktiva dh je kazala na to datoteko. Ko namestitev preide na ECDH, parametri prihajajo iz imenovane krivulje, in datoteka ni več potrebna, kar izraža dh none.

Certifikati so ločena os. Nosijo javni ključ in podpis, ki dokazujeta identiteto strežnika, in ta ključ je lahko RSA ali eliptična krivulja ne glede na to, kako se dogovori sejni ključ. Rokovanje, ki uporablja ECDHE za dogovor o ključu in RSA za overjanje, je običajno in široko razširjeno.

Poimenovanje poslabša prekrivanje. Eliptična krivulja se pojavlja v imenih paketov ECDHE in ECDSA, zato je lahko domnevati, da mora vsaka povezava, ki omenja krivuljo, vsebovati certifikat krivulje. Ni tako.

Kako pravilno brati ime paketa TLS 1.2

Vzemite ECDHE-RSA-AES256-GCM-SHA384. Prvi žeton je družina izmenjave ključev: efemerni Diffie-Hellman na eliptični krivulji. Drugi je družina overjanja: RSA. Ostalo opisuje zaščito zapisov in zgoščevalno funkcijo, uporabljeno v rokovanju.

Paket ECDHE-ECDSA uporablja isto družino izmenjave ključev z drugačno metodo overjanja, zato potrebuje certifikat eliptične krivulje. Paket DHE-RSA uporablja efemerni Diffie-Hellman v končnem polju z overjanjem RSA, in ta res potrebuje parametre DH.

Berite ime paketa od leve proti desni in vsak del dodelite njegovemu opravilu. Ko so žetoni ločeni, se vprašanje spremeni iz »ali se moj certifikat ujema z dh none« v »ali moj strežnik dovoljuje paket, katerega izmenjava ključev ne potrebuje datoteke DH«.

Kaj dh none dejansko onemogoči

dh none strežniku reče, naj ne naloži datoteke s parametri DH v končnem polju. Ne onemogoči overjanja, preverjanja certifikatov ali samega TLS. Zahteva pa, da dogovorjena izmenjava ključev ne potrebuje teh parametrov, kar v praksi pomeni paket ECDHE ali rokovanje TLS 1.3.

Prav iz te zahteve izhaja okvara. Če je politika šifer TLS strežnika omejena na pakete DHE ali odjemalec ponuja le te, odstranitev datoteke s parametri ne pusti nobene uporabne metode izmenjave ključev in rokovanje spodleti. Napaka se običajno pojavi med rokovanjem krmilnega kanala, pred kakršnim koli overjanjem uporabnika. Preberite seznam šifer, preden krivite manjkajočo datoteko.

Na strani eliptične krivulje krivuljo izbere konfiguracija TLS strežnika, in OpenVPN ponuja možnost, da jo izberete na starejših vejah. TLS 1.3 obravnava dogovor o skupini znotraj protokola in datoteke DH sploh ne pregleda.

dh none samo po sebi ni zmanjšanje varnosti. Moč izmenjave je takrat odvisna od krivulje in paketa, o katerih se dejansko dogovorita strani, zato je naslednji korak pogledati, kaj sta izbrali strani, in ne manjkajoče datoteke.

Potrditev dogovora pred urejanjem

Povečajte podrobnost strežnika in odjemalca ter preberite vrstico krmilnega kanala, ki jo OpenVPN natisne po povezavi. Navaja različico TLS in dogovorjeno šifro ter poroča o vrsti ključa certifikata nasprotne strani. Ta ena vrstica odgovori na vprašanje, ki ga konfiguracijska datoteka le nakazuje.

Če prikazuje TLS 1.2 s paketom ECDHE-RSA in certifikatom RSA, je kombinacija natanko tisto, kar pričakuje dh none, in ničesar ni treba popraviti. Če prikazuje paket DHE ali neuspeh rokovanja brez skupne šifre, je popravek v politiki šifer ali zmožnostih odjemalca, ne v certifikatu.

Preizkusite najstarejšega odjemalca, ki ga nameravate podpirati, ker se aktualni odjemalec lahko dogovori za TLS 1.3, medtem ko je starejši omejen na pakete TLS 1.2. Če se najstarejši odjemalec ne prekriva, razširite dovoljene pakete ali posodobite to končno točko.

Ne izklopite preverjanja certifikatov, da bi obšli neuspeh rokovanja. Neuspeh vam pove, da se strani nista mogli dogovoriti o izmenjavi ključev, in izklop preverjanja odstrani jamstvo identitete, ne da bi rešil dogovor.

Kontrolni seznam: je certifikat RSA, je paket ECDHE dovoljen, dnevnik prikazuje ta paket in ali se tudi najstarejši podprti odjemalec zanj dogovori? Če so vsi štirje pritrdilni, dh none opravlja svoje delo.

Sorodni članki