Pašparakstīts klienta sertifikāts? VPN serveris joprojām to noraida
Klienta sertifikātam jāsasaistās ar CA, kurai serveris uzticas, un pašparakstīts to nekad nedarīs. Lūk, ko var darīt CSR un ko lūgt.
Operators nosūta adresi un lietotājvārdu, un klients pieprasa CA failu, sertifikātu un atslēgu. Šo trīs ģenerēšana lokāli šķiet acīmredzamais nākamais solis. Rodas sertifikāts, kuram tic tikai jūsu paša mašīna. Servera uzticēšanās ir noenkurota CA, ko jūs nekontrolējat, tāpēc rokasspiediens beidzas pirms tā sākuma.
Uzticēšanās dzīvo serverī, nevis jūsu profilā
Autentifikācija ar sertifikātu ir salīdzinājums. Klients uzrāda sertifikātu; vārteja pārbauda, vai to parakstījusi kāda no CA tās konfigurācijā.
Jūsu profils nosauc CA failu, kas klientam jāizmanto servera pārbaudei. Tas nevar nosaukt CA, kas serverim jāizmanto, lai pārbaudītu jūs. Šī konfigurācijas puse nav jūsu.
Pašu veidots sertifikāts šajā salīdzinājumā neiztur pat tad, ja tas ir tehniski nevainojams. Tam ir derīgs paraksts, subjekts un datumi, bet izdevējs ir CA, par kuru vārteja nekad nav dzirdējusi. Kļūda parādās rokasspiediena laikā, pēc tam, kad serveris jau ir pieprasījis sertifikātu. Nekas klienta profilā nevar mainīt atbildi.
Kāpēc pašparakstīts sertifikāts nevar to aizstāt
Pašparakstīts sertifikāts ir parakstīts ar savu atslēgu. Paraksts tiek pārbaudīts pret to pašu failu, kas padara to paškonsekventu un nederīgu kā cita vārtejas akreditācijas datus.
Vārteja nejautā, vai sertifikāts ir iekšēji konsekvents. Tā jautā, vai to parakstījis uzticams izdevējs.
Tāpēc kļūdu ziņojumi mulsina. Klients var ziņot par pārbaudes kļūmi, kas izklausās kā servera problēma, kamēr serveris reģistrē nezināmu izdevēju. Abi apraksta to pašu neatbilstību no pretējiem galiem.
CSR ceļš saglabā jūsu privāto atslēgu
Lielāko daļu darba joprojām varat veikt lokāli. Ģenerējiet atslēgu pāri, izveidojiet sertifikāta parakstīšanas pieprasījumu ap publisko pusi un nosūtiet to operatoram. Mašīnu pamet tikai pieprasījums. Privātā puse paliek tur, kur to izveidojāt.
openssl req -new -newkey rsa:3072 -nodes -keyout client.key -out client.csr -subj "/CN=laptop-01"
Operators paraksta pieprasījumu ar savu CA un atgriež sertifikātu. Jūsu privātā atslēga nekad nav ceļojusi, un rezultāts sasaistās ar enkursaiti, kurai vārteja uzticas.
Pārvaldīti pakalpojumi bieži izlaiž CSR un izsniedz visu komplektu. Tas ir saprātīgs maiņas darījums, ja tas pats pakalpojumu sniedzējs jau pārtrauc tuneli un tur CA. Atslēgas glabāšana neuzlabojas, to paturot, jo sniedzējs jebkurā brīdī var izkalt jaunu.
Komplekti tiek importēti, nevis instalēti
Piegādātāju komplekti ar drošības skaņu nosaukumiem bieži ir OpenVPN profili. Tie satur konfigurāciju un dažkārt sertifikātus, un tie neko neinstalē. Importējiet failu klientā, kas runā protokolā, un savienojums ir konfigurēts.
Apstrādes noteikums izriet no satura. Ja profils ietver privāto atslēgu, tas ir akreditācijas dati un pelna tādu pašu rūpību kā parole: nekāda e-pasta, nekāda repozitorija, nekādas koplietotas lejupielādes mapes. Kad operators piegādā ca.crt, client.crt un client.key atsevišķi, glabājiet tos kopā ar ierobežotām atļaujām un norādiet profilu uz tiem.
Pievienojiet pārbaudes, ko operators varēja izlaist
Maršrutētāja ģenerētam profilam dažkārt trūkst pārējā dalībnieka pārbaudes. remote-cert-tls server prasa, lai pārējā dalībnieka sertifikātam būtu servera autentifikācijas mērķis, tāpēc klienta sertifikātu nevar atskaņot kā serveri. Šī viena rinda ir maza izmaiņa ar skaidru pamatojumu.
verify-x509-name iet tālāk, kad operators var nosaukt gaidīto subjektu vai SAN. Abi ir mazi profila papildinājumi, un abi ir aizstāvami. Pārbaudiet, ko saņēmāt, pirms importējat.
openssl x509 -in client.crt -noout -issuer -subject -dates
openssl verify -CAfile ca.crt client.crt
Pārbaudes iestatījumi nav salauztas ķēdes remonts. Ja izdevējs ir nepareizs, atbilde ir sertifikāts no pareizās CA, nevis karodziņš, kas izslēdz pārbaudi. Pārbaudes izslēgšana autentifikācijas kļūdu pārvērš nekonstatētā kļūdā.
Lūdziet vienu komplektu: iestādes sertifikātu PEM formātā, šīs iestādes parakstītu klienta sertifikātu, atslēgu, ko izveidojāt pats vai kas atnāca pa kanālu, kuram uzticaties, un precīzu servera nosaukumu, kas sertifikātam jāuzrāda. Tajā pašā ziņojumā atzīmējiet derīguma termiņu, jo beidzies sertifikāts pēc mēnešiem izskatās kā tīkla atteice.