Сертификати којима је остало још месеци и пријаве које одмах не успевају упућују на два различита објекта са два различита сата. Сервер одбија везе зато што је листа опозваних сертификата коју консултује прешла сопствени датум истека, а не зато што су сертификати корисника постали неважећи. Обнављање корисничког сертификата не чини ништа за ту листу.

Раздвајање та два распореда је цела дијагноза и мења то какав облик поправка мора да има.

Два сата, а само један од њих је сертификат

Сертификат носи прозор важења. Листа опозваних сертификата носи сопствени прозор, плус издаваоца и потпис, а верификатори одбијају да верују листи чије је време следећег ажурирања прошло. Када се то догоди, клијент представи потпуно важећи сертификат, а сервер ипак прекине везу уз поруку о листи. Корисници ту поруку читају као „сертификат је истекао“, што захтев за обнављање шаље на погрешно место.

Та два објекта имају и различите власнике: сертификат долази од CA која га је издала, док листу по распореду генерише онај ко том CA управља. Корисник не може да је освежи, а поновно издавање сертификата не може да је продужи.

Прочитајте листу коју услуга заиста учитава

Почните од конфигурације која је у раду, а не од датотеке коју очекујете. Путања crl-verify може бити апсолутна, релативна у односу на профил или копија уграђена у слику, а верификатор чита управо ту копију. Прегледајте је на месту помоћу openssl crl -in /etc/openvpn/crl.pem -noout -issuer -lastupdate -nextupdate и упоредите датуме са сатом сервера.

Затим потврдите да је та датотека заиста она која се користи: проверите њен потпис помоћу openssl crl -in /etc/openvpn/crl.pem -CAfile /etc/openvpn/ca.crt -noout, који извештава резултат провере уместо да тихо испише поља. Листа коју је потписала друга CA, или застарела копија остављена у другом директоријуму, не успева исто као истекла.

Поново генеришите из базе опозива, а не од нуле

Нова листа мора да дође из тренутне базе опозива CA, кроз одобрени поступак потписивања. Генерисање празне листе, или поновно генерисање из старе резервне копије индекса, тихо поништава опозив сваког идентитета додатог после те копије. То кварење пријаве претвара у безбедносну регресију, и нико то не примети јер симптом нестане.

Корак генерисања држите у контроли верзија са осталим алатима CA, тако да интервал и кључ за потписивање буду документовани, а не запамћени. Довољан је запис у оперативном приручнику који наводи команду, потписника и циљ објављивања. Свако ко је у приправности може затим да поново генерише листу без нагађања која је индексна датотека меродавна. Серијски број листе и време следећег ажурирања сачувајте уз запис о распоређивању.

Распоредите тамо где верификатор гледа

Копирајте нову листу на путању коју услуга чита, подесите власништво и режим тако да сервисни налог може да је чита, а остали не, и поново је учитајте или рестартујте према документованом понашању. Ако демон кешира листу при покретању, замена датотеке без поновног учитавања не мења ништа што би процес у раду приметио. Потврдите временску ознаку коју процес извештава после поновног учитавања.

Ако клијенте верификује више услуга, распоредите листу на сваку од њих. Ажурирање једне крајње тачке и остављање друге са старом копијом производи отказ који се појављује само код корисника који заврше на другој. Кратак списак тих крајњих тачака држите у истом оперативном приручнику. Након увођења проверите датум листе који свака од њих извештава, уместо да претпоставите да је копија стигла.

Учините следећи рок видљивим пре него што прође

Дужи интервал објављивања смањује учесталост овог догађаја без стварања процеса. Изаберите интервал према политици оператера, а затим подесите упозорења на поље следећег ажурирања распоређене листе са довољно времена за поновно генерисање и распоређивање. Упозоравајте на распоређену копију, а не на домаћина CA, јер отказује управо распоређена копија.

После распоређивања проверите оба смера: дозвољени корисник се повезује, а познати опозвани идентитет и даље не успева. Друга провера хвата непотпуно поновно генерисање и захтева једну команду против тест профила који држите управо за ту сврху.

Повезани чланци