OpenVPN TLS šifro klaida: pirmiausia palyginkite abi puses
Klaida „nėra bendro šifro“ priklauso TLS valdymo kanalui, o ne data-ciphers. Pirmiausia palyginkite versijas, tada rinkinių sąrašus, galiausiai įrodykite derybas.
Klaida „nėra bendro šifro“ skamba kaip vienas keistinas nustatymas, o nustatymas, kurį keičia dauguma, yra neteisingas. OpenVPN laiko atskiras taisykles valdymo kanalui, atliekančiam TLS rankos paspaudimą, ir duomenų kanalui, gabenančiam paketus tunelio viduje, o klaida įvardija pirmąjį, tuo tarpu žmonės redaguoja antrąjį. Palyginus, ką leidžia kiekviena pusė, teisinga tvarka, spėlionės virsta dviem ar trimis sprendimais: versija, tada rinkinių sąrašas, tada prisijungimo duomenys.
Jei šią tvarką supainiosite, galite praleisti valandą pridėdami AES pavadinimą prie sąrašo, kuris niekada nebuvo tikrintas.
Du šifrų sąrašai, ir tik vienas sugadina rankos paspaudimą
Valdymo kanalas derasi dėl TLS sesijos, o jo taisyklė rašoma su tls-cipher TLS 1.2 ir tls-ciphersuites TLS 1.3. Duomenų kanalas konfigūruojamas atskirai su data-ciphers, kur neatitikimas sukuria ryšį, kuris užmezgamas ir tada negali perduoti srauto. Abu sukuria klaidas, kuriose minimi šifrai, todėl jos painiojamos. Rankos paspaudimas, kuris niekada nebaigiamas, rodo į valdymo kanalą, o užmegztas tunelis, kuris meta paketus, rodo į duomenų kanalą.
Skaitykite visą pranešimą, o ne pirmą eilutę. Versijų neatitikimas, trūkstamas rinkinys, sertifikato parašo algoritmas, kurį pusė atmeta, ir prieglobos vardo patikros nesėkmė visi baigiasi TLS klaida, ir tik vienas iš jų susijęs su jūsų rinkinių sąrašu. Šių kategorijų atskyrimas yra didžioji diagnostikos dalis.
Palyginkite versijas prieš lygindami rinkinius
Pusė, apribota TLS 1.2, ir pusė, reikalaujanti 1.3, nesidalija nė viena versija, ir jokia šifro eilutė to nesujungia. Užrašykite tls-version-min ir tls-version-max abiejose pusėse arba naudojamų sudėčių numatytąsias reikšmes, nes distribucijos OpenSSL taisyklės gali pakelti apatinę ribą, niekam iš OpenVPN parinkčių to nesakant. Jei viena pusė yra įrenginys ar trečiosios šalies klientas, jo langas yra tai, ką leidžia jo programinė įranga. Tik kai langai persidengia, rinkinių palyginimas ką nors reiškia.
Tuose įrašuose turėtų būti nurodyti ir tikrieji binariai failai. Komandinės eilutės openvpn jūsų nešiojamajame kompiuteryje nebūtinai yra klientas, kuris apdoroja importuotą profilį.
TLS 1.2 ir TLS 1.3 sąrašai nesimaišo
TLS 1.2 rinkinių pavadinimai atrodo taip: ECDHE-RSA-AES256-GCM-SHA384 ir priklauso tls-cipher, kuris priima OpenSSL šifro eilutę. TLS 1.3 rinkiniai vadinami taip: TLS_AES_256_GCM_SHA384 ir priklauso tls-ciphersuites; vieno pridėjimas prie 1.2 eilutės nesukonfigūruoja 1.3 sąrašo, o analizatorius gali priimti tekstą taip ir nesutapatinęs jo. Filtras, tinkamas vienai versijai, nieko nesako apie kitą. Užrašykite, kuriai versijai skirtas kuris sąrašas.
openvpn --show-tls išspausdina, ką palaiko vietinė sudėtis, ir tai yra inventorius, o ne pažadas: nutolusi pusė gali neleisti tų rinkinių, o aktyvus profilis gali jų neįjungti. Naudokite jį sudėčiai, kuri apskritai negali pasiūlyti rinkinio, atskirti, tada palyginkite sukonfigūruotus sąrašus.
Įrodykite derybas naujame ryšyje
Sėkmingas rankos paspaudimas yra vienintelis įrodymas, kuris skaitomas, ir jis turi ateiti iš tikro kliento su tikru profiliu. Padidinkite serverio išsamumą, prisijunkite vieną kartą ir perskaitykite iš žurnalo suderėtą protokolo versiją bei rinkinį, o ne manykite, kad laimėjo pirmoji pasiūlyta reikšmė. Tada atskirai patvirtinkite duomenų kanalą srautu per tunelį, nes veikiantis rankos paspaudimas ir nepavykstantis duomenų kanalas yra skirtingi remontai. Pakartokite po bet kurio konfigūracijos pakeitimo, nes pasenęs kliento profilis yra dažnas klaidingai neigiamas rezultatas.
Jei nėra patvirtintos bendros konfigūracijos, atsakymas yra naujinimas arba perkėlimo planas, o ne susilpninta taisyklė. tls-version-min sumažinimas, patikros išjungimas arba visų senų rinkinių įjungimas pašalina atmetimą neįvykdžius saugumo reikalavimo, kuris jį sukūrė.
Užrašykite suderėtą versiją, rinkinį ir duomenų šifrą pakeitimo biliete. Kitas žmogus, susidūręs su TLS klaida, pradės nuo to įrašo, o ne nuo forumo žinutėje rastos šifro eilutės.