Napaka „ni skupne šifre“ zveni kot ena nastavitev, ki jo je treba spremeniti, in nastavitev, ki jo spreminja večina, je napačna. OpenVPN hrani ločene politike za nadzorni kanal, ki izvede rokovanje TLS, in za podatkovni kanal, ki prenaša pakete znotraj tunela, napaka pa imenuje prvega, medtem ko ljudje urejajo drugega. Primerjava tega, kar dovoljuje vsaka stran, v pravem vrstnem redu spremeni ugibanje v dve ali tri odločitve: različica, nato seznam kompletov, nato poverilnice.

Če se zmotite pri tem vrstnem redu, lahko porabite uro za dodajanje imena AES na seznam, ki ni bil nikoli pregledan.

Dva seznama šifer in samo eden pokvari rokovanje

Nadzorni kanal se pogaja o seji TLS, njegova politika pa se zapiše z tls-cipher za TLS 1.2 in tls-ciphersuites za TLS 1.3. Podatkovni kanal se nastavi ločeno z data-ciphers, kjer neskladje ustvari povezavo, ki se vzpostavi in nato ne more prepustiti prometa. Oba dajeta napake, ki omenjajo šifre, zato ju zamenjujejo. Rokovanje, ki se nikoli ne konča, kaže na nadzorni kanal, medtem ko vzpostavljen tunel, ki spušča pakete, kaže na podatkovni kanal.

Preberite celo sporočilo, ne prve vrstice. Neskladje različic, manjkajoči komplet, algoritem podpisa potrdila, ki ga stran zavrne, in neuspešno preverjanje imena gostitelja se vsi končajo z napako TLS, in le eden od njih se nanaša na vaš seznam kompletov. Ločevanje teh kategorij je večji del diagnoze.

Primerjajte različice, preden primerjate komplete

Stran, omejena na TLS 1.2, in stran, ki zahteva 1.3, si ne delita nobene različice in noben niz šifer tega ne premosti. Zapišite tls-version-min in tls-version-max na obeh straneh ali privzete vrednosti uporabljenih graditev, ker lahko politika OpenSSL v distribuciji dvigne spodnjo mejo, ne da bi katera koli možnost OpenVPN to povedala. Če je ena stran naprava ali odjemalec tretje strani, je njegovo okno tisto, kar dovoljuje njegova vdelana programska oprema. Primerjava kompletov ima smisel šele, ko se okna prekrijejo.

Ti zapisi bi morali navesti tudi dejanske binarne datoteke. Ukazni openvpn v vrstici na vašem prenosniku ni nujno odjemalec, ki obravnava uvožen profil.

Seznama za TLS 1.2 in TLS 1.3 se ne mešata

Imena kompletov za TLS 1.2 izgledajo tako: ECDHE-RSA-AES256-GCM-SHA384 in spadajo v tls-cipher, ki sprejme niz šifer OpenSSL. Kompleti TLS 1.3 se imenujejo TLS_AES_256_GCM_SHA384 in spadajo v tls-ciphersuites; dodajanje enega v niz za 1.2 ne nastavi seznama za 1.3, razčlenjevalnik pa lahko besedilo sprejme, ne da bi ga kdaj uskladil. Filter, pravilen za eno različico, ne pove nič o drugi. Zapišite, za katero različico je kateri seznam.

openvpn --show-tls izpiše, kaj podpira lokalna graditev, in to je popis, ne obljuba: oddaljena stran morda ne dovoljuje teh kompletov, dejavni profil pa jih morda ne omogoča. Uporabite ga, da izključite graditev, ki sploh ne more ponuditi kompleta, nato primerjajte nastavljene sezname.

Dokažite pogajanje na novi povezavi

Uspešno rokovanje je edini dokaz, ki šteje, in mora priti od resničnega odjemalca z resničnim profilom. Zvišajte podrobnost strežnika, povežite se enkrat in iz dnevnika preberite dogovorjeno različico protokola in komplet, namesto da bi domnevali, da je zmagala prva ponujena vrednost. Nato ločeno potrdite podatkovni kanal s prometom skozi tunel, ker sta delujoče rokovanje in odpovedujoč podatkovni kanal različna popravka. Ponovite po vsaki spremembi konfiguracije, ker je zastarel profil odjemalca pogost lažno negativen izid.

Če ni odobrene skupne konfiguracije, je odgovor nadgradnja ali načrt selitve, ne oslabljena politika. Znižanje tls-version-min, izklop preverjanja ali omogočanje vseh starih kompletov odpravi zavrnitev, ne da bi izpolnilo varnostno zahtevo, ki jo je ustvarila.

Zapišite dogovorjeno različico, komplet in podatkovno šifro v zahtevek za spremembo. Naslednja oseba, ki bo naletela na napako TLS, bo začela pri tem zapisu in ne pri nizu šifer iz objave na forumu.

Sorodni članki