Ինչպես DNSCrypt-ը լուծեց ժամկետանց վկայականների խնդիրը՝ ներդնելով 24-ժամյա վավերականության ժամկետ

Ինչպես DNSCrypt-ը լուծեց ժամկետանց վկայականների խնդիրը՝ ներդնելով 24-ժամյա վավերականության ժամկետ

Նախկինում վկայականների ժամկետը հաճախ սպառվում էր, քանի որ դրանք պետք է ձեռքով թարմացվեին: Մարդիկ պարզապես մոռացել են դա անել։ Let’s Encrypt-ի գալուստով և ավտոմատ թարմացման ընթացակարգով, թվում է, որ խնդիրը պետք է լուծվի: Բայց վերջերս Firefox-ի պատմությունը ցույց է տալիս, որ այն, ըստ էության, դեռ ակտուալ է։ Ցավոք, վկայագրերի ժամկետը շարունակում է սպառվել:

Եթե ​​դուք բաց եք թողել պատմությունը, 4 թվականի մայիսի 2019-ի կեսգիշերին, Firefox-ի գրեթե բոլոր ընդլայնումները հանկարծակի դադարեցին աշխատել։

Ինչպես պարզվեց, զանգվածային ձախողումը տեղի է ունեցել այն պատճառով, որ Mozilla-ն վկայականի ժամկետը լրացել է, որն օգտագործվում էր ընդլայնումների ստորագրման համար։ Հետևաբար, դրանք նշվել են որպես «անվավեր» և չեն ստուգվել (տեխնիկական մանրամասներ) Ֆորումներում, որպես լուծում, առաջարկվեց անջատել ընդլայնման ստորագրության ստուգումը մասին: config կամ փոխելով համակարգի ժամացույցը:

Mozilla-ն արագ թողարկեց Firefox 66.0.4 պատչը, որը լուծում է անվավեր վկայագրի խնդիրը, և բոլոր ընդլայնումները վերադառնում են նորմալ: Մշակողները խորհուրդ են տալիս տեղադրել այն և չեն օգտագործում ստորագրության ստուգումը շրջանցելու համար լուծումներ չկան, քանի որ դրանք կարող են հակասել կարկատմանը:

Այնուամենայնիվ, այս պատմությունը ևս մեկ անգամ ցույց է տալիս, որ վկայականի ժամկետի ավարտն այսօր մնում է հրատապ խնդիր:

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

DNSCrypt

Ինչպես DNSCrypt-ը լուծեց ժամկետանց վկայականների խնդիրը՝ ներդնելով 24-ժամյա վավերականության ժամկետDNSCrypt-ը DNS երթևեկության գաղտնագրման արձանագրություն է: Այն պաշտպանում է DNS հաղորդակցությունները ընդհատումներից և MiTM-ից, ինչպես նաև թույլ է տալիս շրջանցել արգելափակումը DNS հարցումների մակարդակում:

Արձանագրությունը փաթեթավորում է DNS տրաֆիկը հաճախորդի և սերվերի միջև գաղտնագրային կառուցվածքով, որը գործում է UDP և TCP տրանսպորտային արձանագրությունների վրա: Այն օգտագործելու համար և՛ հաճախորդը, և՛ DNS լուծիչը պետք է աջակցեն DNSCrypt-ին: Օրինակ, 2016 թվականի մարտից այն միացված է իր DNS սերվերներում և Yandex բրաուզերում: Մի քանի այլ մատակարարներ նույնպես հայտարարել են աջակցության մասին, ներառյալ Google-ը և Cloudflare-ը: Ցավոք, դրանցից շատերը չկան (152 հանրային DNS սերվերներ նշված են պաշտոնական կայքում): Բայց ծրագիրը dnscrypt-proxy կարող է ձեռքով տեղադրվել Linux, Windows և MacOS հաճախորդների վրա: Այնտեղ կան նաեւ սերվերի իրականացում.

Ինչպես DNSCrypt-ը լուծեց ժամկետանց վկայականների խնդիրը՝ ներդնելով 24-ժամյա վավերականության ժամկետ

Ինչպե՞ս է աշխատում DNSCrypt-ը: Մի խոսքով, հաճախորդը վերցնում է ընտրված մատակարարի հանրային բանալին և օգտագործում այն ​​իր վկայականները ստուգելու համար: Նիստի կարճաժամկետ հանրային բանալիները և ծածկագրման փաթեթի նույնացուցիչն արդեն կան: Հաճախորդները խրախուսվում են յուրաքանչյուր հարցման համար ստեղծել նոր բանալի, իսկ սերվերներին խրախուսվում է փոխել բանալիները յուրաքանչյուր 24 ժամը մեկ. Բանալիները փոխանակելիս օգտագործվում է X25519 ալգորիթմը, ստորագրման համար՝ EdDSA, բլոկի կոդավորման համար՝ XSalsa20-Poly1305 կամ XChaCha20-Poly1305։

Արձանագրությունների մշակողներից Ֆրենկ Դենիս գրումայդ 24 ժամը մեկ ավտոմատ փոխարինումը լուծում էր ժամկետանց վկայականների խնդիրը։ Սկզբունքորեն, dnscrypt-proxy տեղեկատու հաճախորդը ընդունում է հավաստագրերը ցանկացած վավերականության ժամկետով, սակայն նախազգուշացում է տալիս «Այս սերվերի համար dnscrypt-proxy հիմնական ժամանակահատվածը չափազանց երկար է», եթե այն վավեր է ավելի քան 24 ժամ: Միևնույն ժամանակ թողարկվեց Docker պատկերը, որում իրականացվեց բանալիների (և վկայագրերի) արագ փոփոխություն։

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

Բայց ամենակարևորը, գրում է Դենիսը, կարճաժամկետ բանալիները ստիպում են սերվերներին կարգավորել ավտոմատացումն առաջին իսկ օրվանից: Եթե ​​սերվերը միանում է ցանցին, և բանալիների փոփոխման սկրիպտները կազմաձևված չեն կամ չեն աշխատում, դա անմիջապես կհայտնաբերվի:

Երբ ավտոմատացումը փոխում է բանալիները մի քանի տարին մեկ, դրա վրա չի կարելի հույս դնել, և մարդիկ կարող են մոռանալ վկայագրի ժամկետի ավարտի մասին: Եթե ​​ամեն օր փոխեք ստեղները, դա անմիջապես կհայտնաբերվի:

Միևնույն ժամանակ, եթե ավտոմատացումը կարգավորվում է նորմալ, ապա կարևոր չէ, թե որքան հաճախ են փոխվում ստեղները՝ ամեն տարի, յուրաքանչյուր քառորդ կամ օրական երեք անգամ: Եթե ​​ամեն ինչ աշխատի ավելի քան 24 ժամ, այն կաշխատի ընդմիշտ, գրում է Ֆրենկ Դենիսը։ Նրա խոսքով, արձանագրության երկրորդ տարբերակում բանալիների ամենօրյա ռոտացիայի առաջարկը, այն իրականացնող Docker պատկերի հետ միասին, արդյունավետորեն նվազեցրեց ժամկետանց սերտիֆիկատներով սերվերների թիվը՝ միաժամանակ բարելավելով անվտանգությունը։

Այնուամենայնիվ, որոշ մատակարարներ, այնուամենայնիվ, որոշ տեխնիկական պատճառներով որոշեցին վկայագրի վավերականության ժամկետը սահմանել ավելի քան 24 ժամ: Այս խնդիրը հիմնականում լուծվել է մի քանի տող կոդով dnscrypt-proxy-ում. օգտատերերը ստանում են տեղեկատվական նախազգուշացում վկայագրի ժամկետի ավարտից 30 օր առաջ, ևս մեկ հաղորդագրություն՝ ավելի բարձր խստության մակարդակով, ժամկետի ավարտից 7 օր առաջ, և կրիտիկական հաղորդագրություն, եթե վկայականում որևէ մնացորդ կա: վավերականությունը 24 ժամից պակաս: Սա վերաբերում է միայն այն վկայագրերին, որոնք սկզբում ունեն երկար գործողության ժամկետ:

Այս հաղորդագրությունները օգտվողներին հնարավորություն են տալիս տեղեկացնել DNS օպերատորներին մոտալուտ վկայականի ժամկետի ավարտի մասին, քանի դեռ շատ ուշ չէ:

Միգուցե, եթե Firefox-ի բոլոր օգտատերերը ստանային նման հաղորդագրություն, ապա ինչ-որ մեկը հավանաբար կտեղեկացներ մշակողներին, և նրանք կկանխեին վկայագրի ժամկետը: «Ես չեմ հիշում մեկ DNSCrypt սերվեր հանրային DNS սերվերների ցանկում, որի վկայագրի ժամկետը սպառվել է վերջին երկու կամ երեք տարում», - գրում է Ֆրենկ Դենիսը: Ամեն դեպքում, երևի ավելի լավ է նախ օգտատերերին զգուշացնել, քան առանց նախազգուշացման անջատել ընդլայնումները:

Ինչպես DNSCrypt-ը լուծեց ժամկետանց վկայականների խնդիրը՝ ներդնելով 24-ժամյա վավերականության ժամկետ


Source: www.habr.com

Добавить комментарий