Երկու պրոֆիլներն էլ տալիս են ca.crt անունով ֆայլ, մեկ թունելը բարձրանում է, մյուսը ձախողվում է շղթայի սխալով։ Երկու ֆայլերը կողք-կողքի բացելը հազվադեպ է լուծում դա, իսկ ստուգումն անջատելը լուծում է սխալ ուղղությամբ։ Սխալի իրական հարցն ավելի նեղ է՝ ո՞ր վկայագիրն է յուրաքանչյուր գործընթաց բեռնում որպես իր վստահության խարիսխ, և արդյոք երկուսը նույն օբյեկտն են։ Նախ պատասխանեք դրան, և ախտորոշման մնացած մասը ուղղություն կստանա։ Ֆայլի անունը փաթեթավորման պիտակ է, և պրոֆիլում գրված ուղին նույնպես հեղինակավոր չէ, ուստի ամեն ինչ կախված է նրանից, թե գործընթացն ինչ է իրականում կարդում։

Գտեք այն վկայագիրը, որը հաճախորդն իրականում բեռնում է

OpenVPN-ը ընդունում է իշխանությունը երկու ձևով, և ձևն է որոշում, թե որ բայթերն են կարևոր։ Պրոֆիլը կարող է ca-ով մատնանշել արտաքին ֆայլ, կամ վկայագիրը ներդնել հենց պրոֆիլի <ca> բլոկում։ Երբ երկուսն էլ կան, հաղթում է ներդրված բլոկը, և պրոֆիլի կողքի ֆայլը երբեք չի բացվում։

Կարդացեք ձախողված պրոֆիլը և պարզեք, թե որ ձևն է օգտագործում, նախքան որևէ բան համեմատելը։ Հարևան պանակից կամ այն փաթեթից վերցված պատճենը, որտեղից եկել է մյուս պրոֆիլը, ոչինչ չի ասում այն մասին, թե ինչի է վստահում այս գործընթացը։ Նույնը վերաբերում է կոնֆիգուրացիայի ուղուն. այն լուծվում է այն վայրի նկատմամբ, որտեղ գործարկվել է հաճախորդը, ինչը միշտ չէ, որ այն պանակն է, որին նայում եք։ Կարդացեք պրոֆիլը, ոչ թե պանակը։

Վկայագրերը նույնացվում են իրենց բովանդակությամբ՝ հանրային բանալին, սուբյեկտը և թողարկողը, վավերականության պատուհանը և այդ ամենի վրա դրված ստորագրությունը։ Նույնական բայթերով երկու ֆայլ նույն վկայագիրն են, ինչ անուն էլ ունենան, և նույն անունով երկու ֆայլ կարող են լինել անկապ իշխանություններ։ Անունը փաթեթավորման պիտակ է, ոչ ինքնություն։

Վերցրեք երկու պատճենների մատնահետքը openssl-ով

Մատնահետքը հեշ է վկայագրի DER կոդավորման վրա՝ այն ձևի, որը ծածկում է ստորագրությունը, ուստի տողերի վերջավորություններն ու վերնագրի տեքստը չեն կարող ազդել դրա վրա։ Հաշվեք այն յուրաքանչյուր ֆայլի համար և կստանաք երկու հաստատուն կետով բաժանված hex տող, որոնք կա՛մ համընկնում են, կա՛մ ոչ։ Համեմատության հարցին պատասխանելու համար վկայագրում այլ բան կարդալ պետք չէ։

openssl x509 -in /etc/openvpn/office/ca.crt -noout -fingerprint -sha256
openssl x509 -in ~/profiles/lab-ca.pem -noout -fingerprint -sha256

Գայթակղիչ է openssl-ը ուղղել հենց պրոֆիլին, բայց այն կարդում է ֆայլում առաջին հանդիպած վկայագրի բլոկը, և պրոֆիլը սովորաբար <cert>-ը կրում է <ca>-ից առաջ։ Հանեք իշխանության բլոկը, ապա վերցրեք հանված ֆայլի մատնահետքը, որովհետև դա է այն պատճենը, որը հաճախորդն իրականում կօգտագործի։

sed -n '/^<ca>$/,/^<\/ca>$/p' office.ovpn | sed '1d;$d' > /tmp/office-ca.pem
openssl x509 -in /tmp/office-ca.pem -noout -fingerprint -sha256

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

Կարդացեք անհամապատասխանությունը՝ նախքան հարձակում ենթադրելը

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

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

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

Վերականգնեք վստահությունը՝ չանջատելով ստուգումը

Կարճաժամկետ լուծումը ստուգումն անջատելն է կամ շղթայի յուրաքանչյուր վկայագիր որպես խարիսխ ավելացնելը։ Երկուսն էլ վերացնում են հաղորդագրությունը, և երկուսն էլ փոխում են, թե հաճախորդն այսուհետ որ սերվերներին կընդունի։ Նորից միացրեք ստուգումը, տեղադրեք նախատեսված խարիսխը և նորից փորձարկեք։

Եթե շղթան հիմա կառուցվում է, բայց հայտնվում է այլ սխալ, դա առաջընթաց է. անվան ստուգումը, վավերականության ամսաթվերը և չեղարկումը առանձին ստուգումներ են՝ առանձին հաղորդագրություններով։ Պահեք մատնահետքերի զույգը և սկզբնական սխալի տեքստը միասին տոմսում, որպեսզի հաջորդ մարդը տեսնի, թե որ խարիսխն է բեռնվել և որն էր սպասվում։ Մատնահետքերի զույգը բավական փոքր է հանձնման նշման մեջ տեղադրելու համար, և հաջորդ դեպքն այդ ժամանակ կտևի հինգ րոպե՝ կես օրվա փոխարեն։

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

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