Du katalogai, kurie mokymo medžiagoje atrodo panašiai, atlieka visiškai skirtingus darbus. Viename yra sertifikavimo institucija: jos privatusis raktas, serijos numerių skaitiklis ir visko, ką ji pasirašė, įrašas. Kitame yra tai, ko daemonui reikia paleidimui ir klientų aptarnavimui. Abu laikyti tame pačiame hoste po ta pačia paskyra patogu vienai popietei ir brangu visą likusį diegimo gyvavimo laiką, nes daemonas tada veikia šalia vienintelio rakto, galinčio sukurti bet kokią norimą tapatybę.

Ką sudaro CA darbo sritis

PKI katalogas yra išdavėjo būsena, o ne konfigūracija. Jame yra CA privatusis raktas ir sertifikatas, serijos numerio failas, išduotų sertifikatų indeksas ir kiekvienos tapatybės medžiaga, sukurta iš jų.

Užklausos pasirašymas keičia tą būseną, todėl darbo sritis priklauso administratoriaus valdomai paskyrai hoste, kuriame VPN tarnyba neveikia. Kiekvienas, kuris gali perskaityti CA privatųjį raktą, gali išduoti sertifikatą, kuriuo serveris pasitikės, tad rakto apsauga yra visas pasitikėjimo modelis viename faile. Jo kopijavimas į antrą vietą, siekiant sutaupyti žingsnį, sukuria antrą daiktą, kurį reikia saugoti, ir antrą, kurį reikia pamiršti. Kiekvienas parašas taip pat padidina serijos numerį ir prideda įrašą į indeksą, todėl darbo sritis yra viena būsenos kopija, o ne failų aplankas.

Viešasis CA sertifikatas yra kitoks. Jis skirtas platinti, ir juo klientai bei serveriai tikrina vienas kitą.

Ką daemonas skaito paleidžiamas

Veikiantis serveris naudoja nedidelį rinkinį: savo sertifikatą, savo privatųjį raktą, CA sertifikatą partneriams tikrinti ir bet kokią raktų medžiagą, kurios reikalauja pasirinktas režimas. Šiuos kelius jis skaito paleidimo metu ir dar kartą įkeliant iš naujo.

Nuosavybė turi būti vertinama pagal vienetą, kuris iš tikrųjų paleidžiamas, o ne pagal interaktyvų root apvalkalą. Deklaruotas smėlio dėžės izoliavimas gali padaryti dalį failų sistemos tik skaitoma arba nematoma, net kai rankinis bandymas kaip root pavyksta.

systemctl show -p User -p Group -p ReadOnlyPaths [email protected]
stat -c '%a %U:%G' /etc/openvpn/server/server.key
runuser -u openvpn -- test -r /etc/openvpn/server/server.key; echo $?

Trečią eilutę žmonės praleidžia. Ji klausia pačios daemono paskyros, ar ji gali perskaityti raktą, ir tai vienintelė klausimo versija, kuri svarbi, kai privilegijos jau atiduotos. Nulinis išėjimas kaip root nieko nesako apie tai, kas vyksta po atidavimo.

Abu gedimų kelius verta atskirti prieš keičiant bet kokią teisę. Pasirašymo gedimas nurodo PKI katalogą, jo tėvinių katalogų paieškos teisę ir paskyrą, kuri paleidžia išdavėją. Paleidimo gedimas nurodo vienetą, jo darbo katalogą ir kelius, nurodytus serverio konfigūracijoje. Viso medžio padarymas skaitomu visiems neišsprendžia nė vieno jų ir pašalina ribą, nuo kurios priklauso abu.

Kodėl CA rakto kopijavimas į serverį vėliau nepavyksta

Kopija paprastai prasideda kaip derinimo žingsnis: kas nors nori atnaujinti klientą VPN hoste, todėl CA raktas atsiduria /etc/openvpn ir atnaujinimas pavyksta. Tiesioginė užduotis pavyksta, o riba dingsta.

Tada serveris daromas atsarginė kopija, o pasirašymo institucija patenka į kopijas. Momentinė kopija, palaikymo paketas ar konfigūracijos katalogo kopija dabar neša galimybę išduoti patikimas tapatybes tol, kol CA galioja. Kas turi tą kopiją, gali sukurti sertifikatą bet kokiam serverio priimamam vardui, įskaitant vardus, kurie niekada nebuvo išduoti. Vienintelis tos išdavimo įrašas yra tas, kurį jie nusprendžia pasilikti.

Atsigauti iš tokios būsenos nėra failo trynimo klausimas. Turite nuspręsti, ar raktas buvo atskleistas, pasukti CA, jei taip, ir perskirstyti pasitikėjimą kiekvienam partneriui. Atskira darbo sritis išvengia viso pokalbio.

Paskyros, katalogai, atsarginės kopijos

Suteikite išdavėjui savo paskyrą ir namų katalogą, laikomą atokiau nuo VPN hosto, kai tai praktiška. Suteikite daemonui kitą paskyrą su skaitymo prieiga prie įdiegtos medžiagos ir rašymo prieiga prie nieko, kas išduoda sertifikatus. Diegkite kopijuodami viešuosius sertifikatus į išorę ir niekada netraukdami privacios išdavėjo būsenos į vidų. Darykite dviejų vaidmenų atsargines kopijas atskirai, nes jų jautrumas ir atkūrimo istorijos skiriasi.

Po panaikinimo atnaujinkite CRL failą, kurį nurodo serverio konfigūracija, tada iš naujo įkelkite tarnybą, kad nauji prisijungimai jį perskaitytų. Easy-RSA dokumentacija aprašo darbo srities išdėstymą ir pasirašymo eigą; nuosavybės taisyklės aplink ją lieka sprendimas apie jūsų hostą. Patikrinkite, ką tarnyba įkėlė, naudodami openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate užuot darę prielaidą, kad įkėlimas iš naujo tai paėmė.

Testas, įrodantis atskyrimą

Patikrinkite neigiamą atvejį, o ne tik veikiantį. Pasirašykite sertifikatą iš išdavėjo paskyros, kaip numatyta, tada patvirtinkite, kad ta pati paskyra negali paleisti tarnybos ar perskaityti serverio privataus rakto. Tada patvirtinkite, kad daemono paskyra negali perskaityti CA privataus rakto.

Tie trys patikrinimai trunka kelias minutes ir išgyvena personalo pasikeitimus, nes tai teiginiai apie teises, o ne apie įpročius. Užrašykite rezultatą su keliais ir paskyromis, kuriuos jis apėmė, ir data, kada juos atlikote. Kitas žmogus, paveldėjęs šį diegimą, kitaip vėl išves ribą iš mokymo medžiagos, kurioje jos niekada nebuvo. Datiruotas įrašas taip pat yra tai, kas leidžia kitai peržiūrai užtrukti minutes, o ne popietę.

Susiję straipsniai