Jūsų šliuzas priima kliento sertifikatą, kurio niekada nematė, nes tai, kuo jis sukonfigūruotas, yra patikimas išdavėjas, o sertifikatas atvyksta per rankos paspaudimą. Taip protokolas ir turi veikti, ir būtent todėl katalogo sąrašas serveryje yra prastas inventorius. Išdavėjas žino, ką sukūrė, serveris žino, kas prisijungė, o panaikinimo būsena žino, kas buvo atšaukta. Inventorius, kuris sumaišo šiuos tris įrašus, galiausiai tvirtina tai, ko nė vienas jų nesakė.

Šliuzas pasitiki išdavėju, o ne failų sąrašu

Tikrinimas lygina pateiktą sertifikatą su pasitikėjimo inkaru, todėl tapatybė, kurią tas pats išdavėjas sukūrė vakar, prisijungia niekada neegzistavusi serverio diske. Kad taip atsitiktų, nieko nereikia kopijuoti, ir niekas neturi to patvirtinti ranka. Todėl paties serverio įrašai aprašo atvykimus, o ne tapatybių, kurios galėtų atvykti, visumą.

Priešinga spraga tokia pat nepatogi. Aplanke gali būti pasibaigusių sertifikatų, panaikintų ir tapatybių, išduotų įrenginiams, kurie niekada nebuvo įdiegti. Failų skaičiavimas atsako, kiek failų yra, o tai klausimas, kurio niekas neuždavė. Verčiau pradėkite nuo įrašų, kurie turi prasmę.

Keturi klausimai, keturi skirtingi įrašai

Kiekvienas įrašo tipas į vieną klausimą atsako gerai, o į kitus prastai, todėl juos sujungianti ataskaita atrodo išsami, nors yra konkrečiai klaidinga. Toliau pateikta lentelė rikiuoja juos pagal klausimą, kurį jie išsprendžia, o ne pagal sistemą, kuri juos sukuria.

Question you are answeringWhere the answer livesHow quickly it changesWhat it will never show
Was this identity ever created?The issuer's issuance databaseOnly when something is issuedWhether the device still exists
Is a copy sitting on this host?The paths you actually inspectedWhenever anyone copies filesCertificates that were never copied here
Has the issuer withdrawn it?Published revocation stateWhen the issuer next publishesWithdrawals that are not published yet
Is it connected right now?The live session tableContinuouslyAnything about past or future sessions

Viešųjų sertifikatų archyvas nėra paslaptis, nes jame nėra privačių raktų, bet jo ir negalima bendrinti. Subjektai ir įrenginių pavadinimai atskleidžia veiklos detales, o ataskaita turėtų likti pas tą auditoriją, kuriai jos reikia. Privatūs raktai lieka visiškai už inventoriaus ribų, nes inventoriui reikia metaduomenų, o ne prisijungimo duomenų.

Išdavėjas ir serijos numeris yra vienintelis stabilus raktas

Subjektai perdirbami, o failų pavadinimai naudojami iš naujo, todėl pavadinimas, kuris pernai žymėjo vieną įrenginį, dabar gali žymėti kitą. Nė vienas jų nėra raktas, o ataskaita, pagrįsta bet kuriuo iš jų, galiausiai sujungs dvi tapatybes į vieną eilutę.

Išdavėjo ir serijos numerio pora unikaliai identifikuoja sertifikatą, ir abu laukai paimami iš paties sertifikato. Užrašykite juos kartu su subjektu, galiojimo datomis, šaltiniu, iš kurio atėjo kopija, ir atsakingu asmeniu ar įrenginiu. Pridėkite panaikinimo ir įdiegimo būseną kaip atskirus laukus su savo stebėjimo laikais, nes galiojimo laikotarpio viduje esantis sertifikatas nėra automatiškai įgaliotas. Šie du faktai gyvena skirtingose sistemose, o jų sujungimas paslepia atvejį, kai tapatybė buvo atšaukta, nors jos failas vis dar atrodo aktualus.

Skaitykite po vieną sertifikatą

Pakaitos simbolis, kuris išsiplečia per aplanką, nėra paketų sąsaja, ir jis paslepia, kuris failas davė kurią išvestį. Skaitykite metaduomenis pagal kiekvieną sertifikatą, o panaikinimo pusę skaitykite iš jo paties artefakto. OpenSSL x509 nuoroda išvardija laukus, kuriuos spausdina tos parinktys.

openssl x509 -in <cert>.pem -noout -issuer -serial -subject -dates -fingerprint -sha256
openssl crl -in <issuer>.crl -noout -text | head -n 40

Valdomai Easy-RSA PKI užklauskite išdavimo duomenų bazę per darbo eigą, kurią palaiko įrankis užuot darę prielaidą apie katalogų išdėstymą, ir laikykite originalus tik skaitomais, kol inventorius surenkamas. Registro formatas yra pakankamai reguliarus, kad galėtumėte suskaičiuoti galiojančius įrašus ir išvardyti atšauktus neatidarę duomenų bazės ranka.

grep -c '^V' pki/index.txt
grep '^R' pki/index.txt | cut -f4,5

Inventorius, kuris išgyvena kitą išdavimą

Vienkartinis aplanko išmetimas pasensta tą akimirką, kai išduodamas kitas sertifikatas, todėl kurkite ataskaitą iš išdavimo darbo eigos ir leiskite jai atsinaujinti kaip įprasto veikimo daliai. Tai taip pat daro ataskaitą atkuriamą, o tai svarbu, kai du žmonės nesutaria, kas buvo išduota.

Naudokite rezultatą atnaujinimo ir eksploatacijos nutraukimo sprendimams, o ne kaip skaičiuoklės pratimą. Vietinės kopijos ištrynimas nepanaikina jau egzistuojančių nuotolinių kopijų. Atšaukite tapatybę per sukonfigūruotą panaikinimo ir įgaliojimo darbo eigą, tada užregistruokite atšaukimą su jo data. Tapatybė, kuri dingo iš serverio, bet išdavėjas ja vis dar pasitiki, nebuvo nutraukta, ir būtent šis skirtumas atskiria tikslų inventorių nuo tokio, kuris tik ramina.

Susiję straipsniai