Mae rhywun wedi dirymu tystysgrif yng nghonsol y CA ac nawr ni all defnyddiwr gysylltu. Y reddf gyntaf yw dod o hyd i'r dad-wneud, ac i'r rhan fwyaf o PKI nid oes un: mae dirymu yn ffaith a ddywedwyd am rif cyfresol, a'r llwybr cefn â chymorth yw tystysgrif newydd, nid cofnod wedi'i wrthdroi. Ewch drwy'r gwiriadau isod yn eu trefn, oherwydd mae pa gyweiriad y cewch ei ddefnyddio yn dibynnu ar y cod rheswm ac ar a fu'r allwedd erioed yn agored.

Nodwch y dystysgrif, nid y person

Mae enwau cyffredin yn ailadrodd. Gall defnyddiwr a ailenrolodd y chwarter diwethaf fod â dwy dystysgrif gyda'r un CN a rhifau cyfresol gwahanol, ac mae dirymu un yn gadael y llall yn gweithio. Sefydlwch yr union wrthrych yn gyntaf:

openssl x509 -in client.crt -noout -serial -issuer -subject -dates
openssl crl -in ca.crl -noout -text | head -40

Nodwch y rhif cyfresol, y dyroddwr, dyddiad y dirymu a'r rheswm a gofnodwyd yn y CRL. Yna cadarnhewch pa ddyfeisiau sy'n cyflwyno'r rhif cyfresol hwnnw, oherwydd gall tystysgrif ddirymedig fod wedi'i gosod o hyd ar liniadur, ffôn a llwybrydd sbâr, ac mae amnewidiad sy'n cyrraedd un ohonynt yn unig yn creu ail ddigwyddiad.

Mae gwiriad ymddygiad cyflym yn cadarnhau'r cyflwr heb newid dim:

openssl verify -crl_check -CAfile ca.crt -CRLfile ca.crl client.crt

Os yw'n adrodd bod y dystysgrif wedi'i dirymu, mae'r CRL a'r cleient yn cytuno; os yw'n dilysu'n lân, nid y cleient sydd gennych yw'r un dirymedig, ac mae'r chwilio yn parhau.

Gwiriwch a ddefnyddiodd y CA ddal neu ddirymu parhaol

Mae RFC 5280 yn diffinio certificateHold fel cyflwr dros dro, a removeFromCRL fel y signal sy'n ei ryddhau. Mae'r cylch bywyd hwnnw'n real, ond nid yw'n botwm dad-wneud cyffredinol. Mae darllen y cod rheswm yn dweud wrthych a fu'r dyroddwr erioed yn bwriadu cefnogi rhyddhau.

Y trap yw tybio bod bwriad dros dro yn golygu cofnod dros dro. Os yw cofnod y CA yn cynnwys keyCompromise neu cessationOfOperation, mae'r dystysgrif wedi'i dirymu'n barhaol waeth beth oedd bwriad y person a wasgodd y botwm. I'r gwrthwyneb, mae cofnod wedi'i farcio certificateHold ar CA nad yw'n gweithredu rhyddhau dal yn barhaol yn ymarferol, oherwydd ni fydd unrhyw beth byth yn cyhoeddi'r rhyddhau.

Mae CAau sy'n seiliedig ar OpenSSL yn dangos y terfyn. Mae'r gorchymyn ca yn derbyn gwerthoedd -crl_reason, gan gynnwys certificateHold a removeFromCRL, ond nid yw'n cynhyrchu CRLau delta — mae dogfennaeth OpenSSL CA yn nodi'r cyfyngiad hwnnw ar gyfer ei allbwn CRL. Mae CRL lawn sy'n hepgor y rhif cyfresol yn syml yn fodel cyhoeddi gwahanol i delta sy'n dweud "mae'r cofnod hwn wedi'i ryddhau", felly nid yw gludo removeFromCRL i CA VPN sy'n seiliedig ar OpenSSL yn cynhyrchu'r rhyddhau a ddiffinnir gan y safonau.

Os gallai'r allwedd fod wedi bod yn agored, disodlwch hi

Mae tystysgrif ddirymedig yn ddatganiad na ellir ymddiried yn yr allwedd hon mwyach. Os oedd y dirymu yn gywir yn ei hanfod — liniadur wedi'i golli, allwedd wedi'i chopïo i sbâr a rennir, allwedd breifat wedi'i gludo i docyn — mae adfer yr un dystysgrif yn gwrthdroi penderfyniad diogelwch a oedd yn gweithio fel y bwriadwyd.

Dyroddwch bâr allwedd newydd drwy'r broses gofrestru, dosbarthwch y proffil newydd, a gadewch y rhif cyfresol hen wedi'i ddirymu am ei oes gyfan. Diweddarwch bopeth sy'n pinio hunaniaeth drwy rif cyfresol neu olion bysedd, gan gynnwys rhestrau derbyn, rhestr dyfeisiau a monitro sy'n disgwyl tystysgrif benodol.

Mae'r ddadl hwylustod dros adfer yr hen un yn real ond dylid ei hateb yn benodol yn hytrach nag yn dawel. Mae "mae angen mynediad ar y defnyddiwr heddiw" yn rheswm dros gyflymu dyroddi, nid yn rheswm dros ddad-ddirymu allwedd na allwch roi cyfrif amdani.

Os oedd yn gamgymeriad gweinyddol, disodlwch dan reolaeth

Pan oedd y dirymu yn syml yn anghywir ac na fu'r allwedd byth yn agored, mae'r cyweiriad yn dal yn amnewidiad rheoledig yn hytrach nag yn olygu. Defnyddiwch broses â chymorth y dyroddwr, cadwch y rhif cyfresol a hanes dyroddi yn gyfan, ac osgoi'r ddau lwybr byr deniadol: troi'r nod statws yn index.txt o R yn ôl i V, a dileu'r rhes ddyroddi fel y gall tystysgrif newydd ailddefnyddio'r rhif cyfresol.

Ar CA OpenSSL mae'r gronfa ddata wedi'i gwahanu â thabiau ac yn hawdd ei darllen yn anghywir, a dyna sy'n gwneud golygu â llaw yn ddeniadol:

awk -F'\t' '$1=="R" {print $4, $3, $6}' index.txt

Darllenwch hi, peidiwch â'i hysgrifennu. Mae golygu'r ffeil yn newid y CRL nesaf heb unrhyw ôl archwilio, a bydd unrhyw ail enghraifft CA neu gopi wrth gefn sy'n dal y rhes wreiddiol yn anghytuno â hi yn ddiweddarach.

Ar ôl dyroddi'r amnewidiad, cyhoeddwch CRL newydd drwy'r mecanwaith arferol a gadewch i gleientiaid ei godi. Mae tynnu CRL, byrhau ei oes i ddim neu analluogi gwirio dirymu ym mhroffil y cleient yn trwsio un defnyddiwr drwy wanhau pob dirymu arall y mae'r CA erioed wedi'i chyhoeddi.

Cadarnhewch dderbyniad newydd a chadwch y cofnod

Profwch gyda chysylltiad newydd, nid y sesiwn a oedd eisoes ar agor. Efallai na fydd twnnel byw yn ail-redeg y gwiriadau derbyn a wneir gan ysgwyd llaw newydd, ac mae cache CRL yn golygu y gall cleient barhau i gysylltu nes iddo adnewyddu. Datgysylltwch, ailgysylltwch, a chadarnhewch yn log y gweinydd pa rif cyfresol a dderbyniwyd.

Cofnodwch yr hyn a ddigwyddodd tra bo'n dal yn ffres: pa rif cyfresol a ddirymwyd, gan bwy, â pha reswm, pa amnewidiad a ddyroddwyd, a phryd y cyhoeddwyd y CRL eto. Y cofnod hwnnw sy'n gwneud yr adolygiad dirymu nesaf yn bosibl, ac ef hefyd yw'r dystiolaeth fod y camgymeriad wedi'i drin yn hytrach na'i guddio.

Ar gyfer ataliadau byr yn y dyfodol, defnyddiwch fecanwaith oedi derbyn os oes gan y defnyddiad un — cyfrif wedi'i analluogi ar y haen hunaniaeth, aelodaeth grŵp wedi'i thynnu, proffil cleient wedi'i atal. Mae hynny'n cadw penderfyniad polisi dros dro ar wahân i'r cwestiwn a yw tystysgrif a ddyroddwyd yn dal yn ddibynadwy, a dyna'n union y gwahaniaeth a gollwyd y tro cyntaf.

Erthyglau cysylltiedig