VPN sertifikato patikrinimas neišdavus jo rakto
Skaitykite viešus laukus, datas ir pirštų atspaudus nespausdindami rakto medžiagos. Kokia komanda saugi, priklauso nuo to, ką laiko failas ir kas gaus išvestį.
Sertifikato viešų laukų skaitymas niekada nereikalauja parodyti jį atitinkančio privataus rakto, o tam skirta priemonė yra kiekvienoje sistemoje, kuri užbaigia VPN. Rizika slypi vienu žingsniu anksčiau: failas, kurį jums davė, gali būti visai ne sertifikatas. PEM sertifikatas, DER blob'as, PKCS#12 paketas ir OpenVPN profilis gali atkeliauti tuo pačiu vardu ir laikyti labai skirtingą medžiagą, todėl prieš rinkdamiesi komandą nustatykite, kas tai per konteineris.
Saugią komandą lemia trys faktai: ką failas laiko, ką iš jo reikia perskaityti ir kas matys išvestį. Suklyskite bent viename jų, ir pats patikrinimas taps incidentu.
Kuris iš trijų failų jums įduotas
PEM sertifikatas yra tekstas su matomais BEGIN ir END žymekliais, DER failas yra dvejetainis ir reikalauja įvesties formato vėliavėlės, o paketas yra konteineris, kuriame gali būti raktas šalia sertifikato. file server.crt per sekundę atskiria tekstą nuo dvejetainio, o žvilgsnis į pirmąją eilutę atskiria gryną sertifikatą nuo profilio, kuriame jis įterptas. Spėliojimas čia ir paverčia patikrinimą incidentu.
Jei failas yra profilis, o ne sertifikatas, laikykite jį kredencialu, kol neįrodyta priešingai. Tokia prielaida nieko nekainoja ir užkerta kelią dažniausiai šios užduoties klaidai.
PEM sertifikato viešų laukų skaitymas
Sertifikatui, kurį turite teisę tikrinti, x509 subkomanda su -noout išspausdina tik pasirinktus laukus ir nieko daugiau. Turinio slopinimas išvestį paverčia metaduomenimis, o tai ir daro ją saugią įklijuoti į bilietą. Žemiau pateikti selektoriai yra vieši, o openssl x509 dokumentacija išvardija likusius.
openssl x509 -in server.crt -noout -subject -issuer -dates -fingerprint -sha256
Vietoje sugeneruotame bandymo sertifikate ši komanda išspausdina subjekto ir išdavėjo eilutes, notBefore ir notAfter porą bei vieną SHA-256 pirštų atspaudą. Tie laukai identifikuoja objektą; jie nenustato galiojančio pasitikėjimo kelio, kuris yra atskira patikros užduotis su sava komanda ir savo atsakymu. Grandinės failas taip pat gali išspausdinti tik pirmąjį sertifikatą, nebent patys pereisite per failą. Taip palyginus du failus, užtenka vienos komandos ir paaiškėja, kurį iš jų partneris tikrai pateikia.
Paketai, kuriuose raktas guli šalia sertifikato
.p12 arba .pfx failas gali nešti privatų raktą, o analizės komanda jį išspausdina, nebent tą išvesties dalį nuslopinate. Su -nokeys ta pati komanda vis tiek praneša konteinerio struktūrą, įskaitant paslėptą raktų maišą, neišmesdama jokios raktų medžiagos; pašalinkite tą vėliavėlę, ir rakto blokas pasirodys jūsų terminale bei komandų istorijoje.
openssl pkcs12 -in bundle.p12 -nokeys -info -passin env:P12PASS
OpenVPN profilis įterpia tą pačią medžiagą kaip tekstą, todėl riba matoma, jei žinote, kur žiūrėti. Vieša medžiaga yra tarp BEGIN CERTIFICATE ir END CERTIFICATE, o viskas tarp BEGIN PRIVATE KEY ir atitinkamos END eilutės yra raktas ir neturi palikti host'o. Nukopijuoti profilį visą reiškia paskelbti abu.
Atskaitos vertės gavimas iš kitur
Pirštų atspaudas, nuskaitytas iš jungties, kurią bandote patikrinti, nieko neįrodo, nes jį pateikė šalis, kuria nepasitikite. Tai nėra argumentas prieš pirštų atspaudus; tai argumentas apie kilmę. Palyginkite vertę su ta, gauta kanalu, į kurį partneris negali rašyti, pavyzdžiui, sertifikatu, paskelbtu vidinėje saugykloje, arba maiša, išspausdinta pasirašytame pakeitimo įraše.
Kai patikros saugykla atlieka validavimą, leiskite jai tai daryti ir skaitykite jos pateiktą klaidą, o ne pakeiskite ją savo palyginimu. Svarbus skirtumas yra kas pateikė atskaitą, o ne kuri maišos funkcija buvo naudojama.
Rezultato bendrinimas ir ką daryti po klaidos
Siųskite tikslią validavimo klaidą, atitinkamas datas ir tik tuos tapatybės duomenis, kurių gavėjui reikia. Vidiniai hostų vardai ir paskyrų identifikatoriai išlieka jautrūs net ir nesant rakto, o vieša įklijavimo paslauga yra netinkama vieta bet kam iš to. Įklijuokite į bilietą, o ne į juodraščio buferį, kurį kas nors kitas bendrina.
Jei raktų medžiaga vis dėlto pasirodė ekrane ar faile, laikykite ją kompromituota ir rotuokite, o ne tikėkitės, kad niekas nežiūrėjo. Tada užrašykite, kuris failas tikrintas, kokia komanda naudota ir kur išėjo išvestis, nes būtent šis įrašas iš gąsdinimo daro procedūrą. Rotacija pigi, palyginti su prielaidos, kad niekas nepadarė ekrano kopijos, kaina, ir tas pats įrašas pasako kitam inžinieriui, kurie failai buvo paliesti. Atlikite abu prieš uždarant bilietą.