Վերաբերվեք գաղտնի հաշվի համարին որպես հավատարմագրի. ստուգեք այն
Եթե համարի իմացությունը մեկին մուտք է գործում կամ ներբեռնում է կազմաձև, դա հավատարմագիր է։ Կատարեք լիազորությունների, պահման, գուշակման արագության և պտույտի ստուգումները։
«Հաշվի համար» պիտակավորված դաշտը ինքնաբերաբար հրապարակային հղում չէ, և պիտակը փորձարկումը չէ։ Փորձարկումը այն է, ինչ թույլատրում է տիրապետումը. եթե համարի իմացությունը մեկին մուտք է գործում, ներբեռնում է միացման պրոֆիլ կամ լիազորում է սարք, այդ համարը կենսացիկլով հավատարմագիր է։ Ես կատարում եմ ստորև նշված հինգ ստուգումները ամեն անգամ, երբ ծառայությունը թողարկում է թվային ինքնություն և անվանում այն անվնաս։ Յուրաքանչյուրը տող է ավելացնում կարճ արձանագրության մեջ, և արձանագրությունը արդյունքն է, ոչ թե արտադրանքի դատավճիռ։
Թվարկեք, թե ինչ է իրականում տալիս տիրապետումը
Առանձին գրեք յուրաքանչյուր գործողություն, որը բացում է համարը։ Պորտալ մուտք գործելը, կազմաձևի ֆայլ ներբեռնելը, նոր սարք լիազորելը և ընդունված թունելային մուտք տրամադրելը տարբեր լիազորություններ են, և ծառայությունը կարող է իրականացնել մեկը մյուսներից առանց։ Համարը որպես միակ դաշտ ընդունող պորտալը ոչինչ չի ասում այն մասին, թե ինչպես է թունելը նույնականացնում իր գործընկերոջը ավելի ուշ կամ թե ինչպես են ստացվում երթևեկության բանալիները։
Ընդհանուր մոդելը հեշտ է ձևակերպել. bearer հավատարմագիրն այն է, որը տերը կարող է օգտագործել առանց առանձին գաղտնագրային բանալու տիրապետումն ապացուցելու, և դա այն տարբերությունն է, որը RFC 6750 սահմանում է նշանների համար։ Սա համեմատություն է, ոչ թե պնդում, որ համարի վրա հիմնված ծառայությունը ներդնում է OAuth։ Եթե տերն այլ բան չի պահանջում, համարը դիտարկեք որպես bearer գաղտնիք և դիզայնի մնացած մասը դասակարգեք համապատասխանաբար։
Պաշտպանեք այն որպես գաղտնիք, ոչ որպես հղում
Պահումը բխում է դասակարգումից։ Մուտք գործող արժեքը տեղ ունի գաղտնաբառերի կառավարիչում, ոչ թե էկրանի պատկերում, փոխանակման բուֆերի պատմության մեջ, չաթի հաղորդագրության կամ զննարկիչի նշումի մեջ։ Էկրանի պատկերները սովորական արտահոսք են. համարը կարճ է և անվնաս թվում, ուստի հայտնվում է աջակցության թեմայում, որն ապրում է ավելի երկար, քան այն սարքը, որտեղից եկել է։
Ֆիշինգը երկրորդ խափանման ռեժիմն է, և նրան չի հետաքրքրում, թե որքան պատահական է համարը։ Խաբեբան, ով ուզում է արժեքը, կխնդրի տեղադրել այն ձևաթղթում, և երբեք չլրանացող, երկրորդ գործոն չունեցող հավատարմագիրը արժե ջանքը։ Մուտքի ուղուն հասեք էջանիշով կամ հայտնի հասցեով, ոչ թե հաղորդագրության հղումով, որը նույնպես խնդրում է համարը։
Վերականգնման նյութը դիտարկեք որպես գաղտնիքի մաս։ Եթե օպերատորը տրամադրել է նաև վերականգնման կոդ, PIN կամ էլ. փոստի հասցե, որով կարելի է վերականգնել հաշիվը, դրանք առանձին հավատարմագրեր են նույն պաշտպանության պահանջով։ Մեկ անպաշտպան վերականգնման ուղին մնացած բոլոր վերահսկիչները դարձնում է զարդարանք։
Ստուգեք գուշակման դիմադրողականությունը և արագության սահմանափակումը միասին
Երկարությունը իմաստ ունի միայն գեներացման մեթոդի կողքին։ Կանխատեսելի հաջորդականությունից ստացված երկար համարը ավելի թույլ է, քան գաղտնագրային գեներատորի կարճ արժեքը, և տպավորիչ թվանշանների քանակը չի ապացուցում անկանխատեսելիությունը։ Հարցրեք, թե ինչպես է արժեքը գեներացվում, նախքան մտածելը, թե որքան դժվար է այն գուշակել։
Գուշակման դիմադրողականությունն ինքնին նույնպես չի դիմանում անսահմանափակ փորձերի արագությանը։ Կարևոր են օպերատորի իրականացրած վերահսկիչները. ձախողված փորձերի հաշվիչներ, կողպումներ, աղբյուրի սահմանափակում և արդյոք սխալ համարը տարբերվում է գոյություն չունեցողից։ Եթե ծառայությունը դա աջակցում է, մեկ ձախողված փորձը ցույց է տալիս, թե ինչպիսին է սխալը և արդյոք հայտնվում է կրկնակի փորձերի հաշվիչ.
# one attempt, then read the response and any counter or delay
# do not script repeated guesses against a live account
curl -i -X POST https://portal.example.invalid/login -d "account=000000000000"
Գրանցեք, թե ինչ է բացահայտում պատասխանը։ Անհայտ հաշվի համար առանձնացված սխալը թվարկման օրակուլ է նույնիսկ այն դեպքում, երբ համարը հնարավոր չէ գուշակել, և այդ եզրակացությունը պատկանում է արձանագրությանը՝ անկախ նրանից, թե կարող եք շտկել այն հաճախորդի կողմից, թե ոչ։
Պլանավորեք պտույտը և չեղարկումը մինչև դրանց կարիքը
Գտեք կորսված կամ բացահայտված համարի աջակցվող գործընթացը և գրեք այն, քանի դեռ ամեն ինչ աշխատում է։ Կարելի՞ է ընդհանրապես փոխարինել հաշվի հավատարմագիրը։ Արդյոք փոխարինումը անվավեր է դարձնում արդեն գրանցված սարքերը, ակտիվ նստաշրջանները կամ ներբեռնված կազմաձևը։ Ի՞նչ վերականգնման նյութ է պահանջում գործընթացը։ Էլ. փոստից կախվածություն չունեցող ծառայությունը կարող է ավելի շատ վերականգնման պատասխանատվություն փոխանցել օգտատիրոջը, ինչը գործընթացը դարձնում է ավելի կարևոր, ոչ պակաս։
Առանձնացրեք հաշվի փոխարինումը հավատարմագրի չեղարկումից։ Եթե համարը լիազորում է բանալու, վկայագրի կամ պրոֆիլի ներբեռնումը, համարի փոխարինումը կարող է թողնել ներբեռնված նյութը վավերական, իսկ ներբեռնված նյութի չեղարկումը կարող է լինել այլ գործողություն այլ սեփականատիրոջ հետ։ Մի ենթադրեք, որ մեկ փոփոխված դաշտը դադարեցնում է բոլոր միացումները. ստուգեք օպերատորի փաստացի մոդելը և նշեք, թե որտեղ եք դա հաստատել։
Փաստաթղթավորեք որոշումը և ավելի ուշ նորից ստուգեք
Յուրաքանչյուր ծառայության համար պահեք մեկ էջանոց արձանագրություն. ինչ լիազորություններ է տալիս համարը, որտեղ է պահվում, ով կարող է վերականգնել այն, ինչ օգտագործման ապացույցներ կան և ինչ կանեիք բացահայտումից հետո առաջին ժամին։ Հենց այդ արձանագրությունն է տերմինաբանության վեճը դարձնում որոշում, որը ինչ-որ մեկը կարող է աուդիտ անել։
Գաղտնիության մասին պնդումները պահանջում են իրենց սեփական շրջանակը։ Պատահականորեն գեներացված համարը դեռ կարող է լինել կայուն նույնացուցիչ, որը կապում է հաշվի իրադարձությունները ժամանակի ընթացքում. անկանխատեսելիությունը կապակցվածության բացակայություն չէ, և ոչ մի հատկություն ոչինչ չի ասում պահված ցանցային մետատվյալների մասին։ Համեմատեք ամբողջական դիզայնները, ոչ թե հաշվեք դաշտերը մուտքի էկրանին։
Նախքան այն պահելը՝
- Թվարկված են համարի տրամադրած բոլոր լիազորությունները, ներառյալ ներբեռնումները և սարքի լիազորումը։
- Պահման և վերականգնման ուղիները պաշտպանված են նույն չափանիշով, ինչ ինքը համարը։
- Գեներացման մեթոդը և արագության սահմանափակումները հայտնի են, ոչ թե ենթադրված երկարությունից։
- Գոյություն ունեն փոխարինման և չեղարկման ընթացակարգեր, և դուք գիտեք, թե որն է որը չեղարկում։
- Արձանագրությունը նշում է, թե ով կարող է վերականգնել արժեքը և ինչ ապացույցներ են մնում օգտագործումից հետո։