Savarankiškai pasirašytas kliento sertifikatas? VPN serveris vis tiek jį atmeta
Kliento sertifikatas turi jungtis į CA, kuria serveris pasitiki, o savarankiškai pasirašytas to niekada nepadarys. Štai ką gali padaryti CSR ir ko reikėtų prašyti.
Operatorius atsiunčia adresą ir naudotojo vardą, o klientas prašo CA failo, sertifikato ir rakto. Šiuos tris sukurti vietoje atrodo akivaizdus kitas žingsnis. Gaunamas sertifikatas, kuriuo tiki tik jūsų pačių kompiuteris. Serverio pasitikėjimas įtvirtintas CA, kurios jūs nekontroliuojate, todėl rankos paspaudimas baigiasi prieš prasidedant.
Pasitikėjimas gyvena serveryje, ne jūsų profilyje
Autentifikavimas sertifikatu yra palyginimas. Klientas pateikia sertifikatą; vartai patikrina, ar jį pasirašė viena iš CA jo konfigūracijoje.
Jūsų profilis nurodo CA failą, kurį klientas turi naudoti serveriui patikrinti. Jis negali nurodyti CA, kurią serveris turi naudoti jums patikrinti. Ši konfigūracijos pusė ne jūsų.
Pačių sukurtas sertifikatas nepraeina šio palyginimo net tada, kai jis techniškai tobulas. Jis turi galiojantį parašą, subjektą ir datas, bet išdavėjas yra CA, apie kurią vartai niekada negirdėjo. Klaida pasirodo rankos paspaudimo metu, kai serveris jau paprašė sertifikato. Niekas kliento profilyje negali pakeisti atsakymo.
Kodėl savarankiškai pasirašytas sertifikatas negali jo pakeisti
Savarankiškai pasirašytas sertifikatas pasirašytas savo paties raktu. Parašas tikrinamas pagal tą patį failą, todėl sertifikatas yra savikonsistentiškas ir netinkamas kaip kito vartų prisijungimo duomenys.
Vartai neklausia, ar sertifikatas viduje nuoseklus. Jie klausia, ar jį pasirašė patikimas išdavėjas.
Štai kodėl klaidų pranešimai klaidina. Klientas gali pranešti apie patikrinimo klaidą, kuri skamba kaip serverio problema, o serveris registruoja nežinomą išdavėją. Abi pusės aprašo tą patį neatitikimą iš priešingų galų.
CSR kelias išsaugo jūsų privatų raktą
Didžiąją dalį darbo vis dar galite atlikti vietoje. Sukurkite raktų porą, aplink viešąją pusę sukurkite sertifikato pasirašymo užklausą ir nusiųskite ją operatoriui. Iš jūsų kompiuterio išvyksta tik užklausa. Privati pusė lieka ten, kur ją sukūrėte.
openssl req -new -newkey rsa:3072 -nodes -keyout client.key -out client.csr -subj "/CN=laptop-01"
Operatorius pasirašo užklausą savo CA ir grąžina sertifikatą. Jūsų privatus raktas niekada nekeliavo, o rezultatas jungiasi prie inkaro, kuriuo vartai pasitiki.
Valdomos paslaugos dažnai praleidžia CSR ir išduoda visą paketą. Tai pagrįstas mainas, kai tas pats teikėjas jau užbaigia tunelį ir turi CA. Rakto saugojimas nepagerėja jį pasiliekant, nes teikėjas bet kada gali nukalti naują.
Paketai importuojami, o ne įdiegiami
Tiekėjų paketai saugiai skambančiais pavadinimais dažnai yra OpenVPN profiliai. Juose yra konfigūracija ir kartais sertifikatai, ir jie nieko neįdiegia. Importuokite failą į klientą, kuris kalba protokolu, ir ryšys bus sukonfigūruotas.
Tvarkymo taisyklė kyla iš turinio. Jei profilis turi įterptą privatų raktą, tai prisijungimo duomenys, verti tokios pačios priežiūros kaip slaptažodis: jokio el. pašto, jokios saugyklos, jokio bendro atsisiuntimų aplanko. Kai operatorius pateikia ca.crt, client.crt ir client.key atskirai, laikykite juos kartu su ribotomis teisėmis ir nukreipkite profilį į juos.
Pridėkite patikrinimus, kuriuos operatorius galėjo praleisti
Maršrutizatoriaus sugeneruotam profiliui kartais trūksta partnerio patikros. remote-cert-tls server reikalauja, kad partnerio sertifikatas turėtų serverio autentifikavimo paskirtį, todėl kliento sertifikato negalima pakartoti kaip serverio. Ta viena eilutė yra mažas pakeitimas su aiškiu pagrindimu.
verify-x509-name eina toliau, kai operatorius gali nurodyti laukiamą subjektą arba SAN. Abu yra maži profilio papildymai ir abu yra pateisinami. Apžiūrėkite, ką gavote, prieš importuodami.
openssl x509 -in client.crt -noout -issuer -subject -dates
openssl verify -CAfile ca.crt client.crt
Patikros nustatymai nėra sulaužytos grandinės taisymas. Jei išdavėjas neteisingas, atsakymas yra sertifikatas iš tinkamos CA, o ne vėliavėlė, kuri išjungia patikrą. Patikros išjungimas autentifikavimo klaidą paverčia neaptikta.
Paprašykite vieno paketo: institucijos sertifikatą PEM formatu, tos institucijos pasirašytą kliento sertifikatą, raktą, kurį sukūrėte patys arba kuris atėjo kanalu, kuriuo pasitikite, ir tikslų serverio vardą, kurį sertifikatas turi pateikti. Tame pačiame pranešime pažymėkite galiojimo pabaigos datą, nes pasibaigęs sertifikatas po kelių mėnesių atrodo kaip tinklo gedimas.