Ինչ-որ մեկը CA-ի վահանակում չեղարկել է վկայական, և այժմ օգտատերը չի կարողանում միանալ։ Առաջին բնազդը չեղարկումը հետարկելն է, և PKI-ների մեծ մասում այն գոյություն չունի՝ չեղարկումը սերիական համարի մասին հայտարարված փաստ է, և աջակցվող վերադարձի ուղին նոր վկայականն է, ոչ թե շրջված գրառումը։ Անցեք ստորև բերված ստուգումները հերթականությամբ, քանի որ թույլատրված վերանորոգումը կախված է պատճառի կոդից և այն բանից, թե արդյոք բանալին երբևէ բացահայտվել է։

Նույնականացրեք վկայականը, ոչ թե անձին

Ընդհանուր անունները կրկնվում են։ Անցյալ եռամսյակում վերագրանցված օգտատերը կարող է ունենալ նույն CN-ով և տարբեր սերիական համարներով երկու վկայական, և մեկի չեղարկումը թողնում է մյուսին աշխատունակ։ Նախ սահմանեք ճշգրիտ օբյեկտը՝

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

Գրեք սերիական համարը, թողարկողին, չեղարկման ամսաթիվը և CRL-ում գրանցված պատճառը։ Այնուհետև հաստատեք, թե որ սարքերն են ներկայացնում այդ սերիական համարը, քանի որ չեղարկված վկայականը դեռ կարող է տեղադրված լինել նոթբուքում, հեռախոսում և պահուստային երթուղղիչում, և փոխարինումը, որը հասնում է դրանցից միայն մեկին, ստեղծում է երկրորդ միջադեպ։

Արագ վարքային ստուգումը հաստատում է վիճակը՝ առանց որևէ բան փոխելու՝

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

Եթե այն հաղորդում է վկայականը որպես չեղարկված, CRL-ը և հաճախորդը համաձայն են․ եթե այն մաքուր ստուգվում է, ձեր ձեռքում եղած հաճախորդը չեղարկվածը չէ, և որոնումը շարունակվում է։

Ստուգեք՝ CA-ն պահում, թե մշտական չեղարկում է օգտագործել

RFC 5280-ը certificateHold-ը սահմանում է որպես ժամանակավոր վիճակ, իսկ removeFromCRL-ը՝ որպես այն ազատող ազդանշան։ Այդ կենսացիկլը իրական է, բայց սա ընդհանուր հետարկման կոճակ չէ։ Պատճառի կոդը կարդալը ձեզ ասում է՝ արդյոք թողարկողը երբևէ մտադիր է եղել աջակցել ազատմանը։

Ծուղակը ենթադրությունն է, որ ժամանակավոր մտադրությունը նշանակում է ժամանակավոր գրառում։ Եթե CA-ի գրառումը կրում է keyCompromise կամ cessationOfOperation, վկայականը մշտապես չեղարկված է՝ անկախ նրանից, թե ինչ էր մտադիր կոճակը սեղմած անձը։ Հակառակը՝ certificateHold նշված գրառումը CA-ում, որը չի իրականացնում պահման ազատում, գործնականում մշտական է, որովհետև ոչինչ երբեք չի հրապարակի ազատումը։

OpenSSL-ի վրա հիմնված CA-ները ցույց են տալիս սահմանը։ ca հրամանը ընդունում է -crl_reason արժեքներ, ներառյալ certificateHold-ը և removeFromCRL-ը, բայց դելտա CRL-ներ չի ստեղծում — OpenSSL CA փաստաթղթերը նշում են այդ սահմանափակումը իրենց CRL ելքի համար։ Ամբողջական CRL-ը, որը պարզապես բաց է թողնում սերիական համարը, տարբեր հրապարակման մոդել է, քան դելտան, որն ասում է «այս գրառումն ազատված է», ուստի removeFromCRL-ը OpenSSL-ի վրա հիմնված VPN CA-ում տեղադրելը չի տալիս ստանդարտներով սահմանված ազատումը։

Եթե բանալին կարող է բացահայտված լինել, փոխարինեք այն

Չեղարկված վկայականը հայտարարություն է, որ այս բանալին այլևս չի կարելի վստահել։ Եթե չեղարկումը էականորեն ճիշտ էր — նոթբուքը կորել է, բանալին պատճենվել է ընդհանուր սկավառակի վրա, գաղտնի բանալին տեղադրվել է տոմսի մեջ — ապա նույն վկայականի վերականգնումը շրջում է անվտանգության որոշում, որը աշխատում էր ինչպես նախատեսված էր։

Գրանցման գործընթացով թողարկեք նոր բանալու զույգ, տարածեք նոր պրոֆիլը և թողեք հին սերիական համարը չեղարկված իր ամբողջ կյանքի ընթացքում։ Թարմացրեք այն ամենը, ինչը նույնականությունը ամրացնում է սերիական համարով կամ մատնահետքով, ներառյալ ընդունելության ցանկերը, սարքերի գույքագրումը և կոնկրետ վկայական սպասող մոնիթորինգը։

Հինը վերականգնելու հարմարության փաստարկը իրական է, բայց դրան պետք է պատասխանել բացահայտ, ոչ լուռ։ «Օգտատերն այսօր մուտք է պետք»-ը թողարկումն արագացնելու պատճառ է, ոչ թե այն բանալու չեղարկումը հետ վերցնելու պատճառ, որի համար չեք կարող հաշիվ տալ։

Եթե դա վարչական սխալ էր, փոխարինեք վերահսկվող ձևով

Երբ չեղարկումը պարզապես սխալ էր, և բանալին երբեք չի բացահայտվել, վերանորոգումը դեռ վերահսկվող փոխարինում է, ոչ խմբագրում։ Օգտագործեք թողարկողի աջակցվող ընթացակարգը, պահեք սերիական համարը և թողարկման պատմությունը անձեռնմխելի, և խուսափեք երկու գայթակղիչ կարճուղիներից՝ index.txt-ում կարգավիճակի նիշը R-ից հետ դարձնել V-ի, և թողարկման տողը ջնջել, որպեսզի նոր վկայականը կարողանա կրկին օգտագործել սերիական համարը։

OpenSSL CA-ում տվյալների բազան բաժանված է ներդիրներով և հեշտ է սխալ կարդալ, ինչը ձեռքի խմբագրումը գրավիչ է դարձնում՝

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

Կարդացեք այն, մի գրեք։ Ֆայլը խմբագրելը փոխում է հաջորդ CRL-ը՝ առանց որևէ աուդիտի հետքի, և ցանկացած երկրորդ CA օրինակ կամ պահուստային պատճեն, որը դեռ պահում է բնօրինակ տողը, ավելի ուշ կհակասի դրան։

Փոխարինումը թողարկելուց հետո հրապարակեք թարմ CRL սովորական մեխանիզմով և թույլ տվեք հաճախորդներին վերցնել այն։ CRL-ի հեռացումը, դրա կյանքի տևողությունը զրոյի կրճատելը կամ հաճախորդի պրոֆիլում չեղարկման ստուգումն անջատելը վերանորոգում է մեկ օգտատիրոջ՝ թուլացնելով CA-ի երբևէ հրապարակած յուրաքանչյուր այլ չեղարկում։

Հաստատեք թարմ ընդունելություն և պահպանեք գրառումը

Փորձարկեք նոր միացումով, ոչ թե արդեն բացված սեսիայով։ Կենդանի թունելը կարող է չկրկնել թարմ ձեռքսեղմման ընդունելության ստուգումները, և CRL քեշերը նշանակում են, որ հաճախորդը կարող է շարունակել միանալ մինչև թարմացումը։ Անջատեք, նորից միացեք և սերվերի մատյանում հաստատեք, թե որ սերիական համարն ընդունվեց։

Գրանցեք, թե ինչ պատահեց, քանի դեռ թարմ է՝ որ սերիական համարը չեղարկվեց, ում կողմից, ինչ պատճառով, ինչ փոխարինում թողարկվեց և երբ CRL-ը վերահրապարակվեց։ Հենց այդ գրառումն է հնարավոր դարձնում չեղարկման հաջորդ վերանայումը, և այն նաև ապացույցն է, որ սխալը կառավարվել է, ոչ թե թաքցվել։

Ապագայում կարճ կասեցումների համար օգտագործեք ընդունելության դադարի մեխանիզմ, եթե տեղաբաշխումն ունի այն՝ ինքնության շերտում անջատված հաշիվ, հեռացված խմբի անդամակցություն, պահված հաճախորդի պրոֆիլ։ Դա ժամանակավոր քաղաքականության որոշումը առանձին է պահում այն հարցից, թե արդյոք թողարկված վկայականը դեռ վստահելի է, և հենց այդ տարբերությունն էր կորել առաջին անգամ։

Առնչվող հոդվածներ