Հաշվի կողպում ընդդեմ հասցեի արգելքի. որտեղ է OpenVPN-ը իրականում հաշվում
Աղբյուրի արգելքը և հաշվի կողպումը տարբեր բաներ են հաշվում։ Գտեք այն պահոցը, որն ունի ձախողումների հաշվիչը, նախքան PAM-ի վրա հիմնված VPN-ի համար շեմ ընտրելը։
Հասցե արգելափակելը և հաշիվ կողպելը երկու տարբեր մեխանիզմներ են, և դրանք ձախողվում են հակառակ ուղղություններով։ Հասցեի արգելքը կանգնեցնում է մեկ աղբյուր և թիրախ հաշիվը մնում է հասանելի այլ տեղից. հաշվի կողպումը կանգնեցնում է այդ ինքնությունը ամենուր, նաև օգտատիրոջ սեփական նոթբուքում։
VPN-ի համար, որը նույնականացումը պատվիրակում է PAM-ին, հաշվիչը այն է, ինչին հասնում է PAM-ի կույտը, ոչ այն, ինչ գրանցել է լսողը։
Երկու հաշվիչ, երկու տարբեր զոհ
Արագության սահմանափակիչը նայում է աղբյուրին և հարցնում, թե վերջերս քանի փորձ է եկել դրանից։ Կողպումը նայում է ինքնությանը և հարցնում, թե այդ հաշիվը քանի ձախողում է կուտակել։ Առաջինը պաշտպանում է հասանելիությունը, երկրորդը՝ հավատարմագրերը. ոչ մեկը չի փոխարինում մյուսին։
Այդ պատճառով հինգ ձախողումից հետո արգելափակում ենք IP-ն արտահայտությունը պատասխան չէ հավատարմագրերի լցման մասին հաշվետվությանը։ Հարձակվողը փոխում է աղբյուրները, յուրաքանչյուրը ստանում է քիչ փորձեր, և հաշիվը երբեք չի հաշվվում։ Հակառակ դեպքում, առանց աղբյուրի վերահսկման կողպումը թույլ է տալիս հարձակվողին դիտավորյալ ձախողվելով հաշիվը անժամկետ կողպված պահել։
Երկու վերահսկիչներն էլ ունեն տարբեր վերականգնման պատմություն։ Հասցեի արգելքը լրանում է ժամանակաչափով, որի մասին ոչ ոք պետք չէ մտածել. հաշվի կողպումը կարող է պահանջել ադմինիստրատոր, փաստաթղթավորված սպասման ժամկետ կամ ինքնասպասարկման վերակայում։
Գտեք պահոցը, որն արդեն ունի հաշվարկը
Նախքան որևէ բան ավելացնելը, պարզեք՝ արդյոք ձախողումների պահոց արդեն կա։ Տեղական Linux հաշիվը, գրացուցակի ծառայությունը և արտաքին ինքնության մատակարարը յուրաքանչյուրն ունի իր հաշվարկը, և նրանց առջև դրված PAM մոդուլը ստեղծում է երկրորդը՝ առաջինը ընդլայնելու փոխարեն։
grep -rnE 'faillock|pam_tally|pam_unix' /etc/pam.d/
ls -l /etc/pam.d/ | head -20
Կարդացեք այն ծառայության ֆայլը, որը VPN-ն իսկապես նշում է, և հետևեք ներառման տողերին։ Շատ տարածումներում VPN ծառայությունը ներառում է ընդհանուր ֆայլ, ինչը նշանակում է, որ ձեր կարգավորած հաշվարկը վերաբերում է նաև SSH-ին և տեղական մուտքերին։
Եթե գրացուցակն արդեն կիրառում է կողպում, օգտակար հարցն այն է, թե ինչպես է PAM զրույցը հասնում այդ որոշմանը և ինչպես է VPN-ը հաղորդում դրա մասին։ Վերևում ավելացված տեղական հաշվարկը չի դառնում գրացուցակի հաշվիչը, և երկու քաղաքականությունները կարող են չհամաձայնել, թե երբ է հաշիվը բացվում։
pam_faillock-ն ունի երեք կանչի տեղ, ոչ մեկը
Մոդուլը առանձնացնում է երեք գործողություն, որոնք մեկ պատճենված տողը սովորաբար մշուշում է. ստուգել, թե արդյոք հաշիվն արդեն կողպված է, գրանցել ձախողումը և մաքրել պատմությունը հաջողությունից հետո։
Այստեղ է, որ հին հաշվիչ մոդուլից անցումը սովորաբար սխալվում է։ Աշխատող pam_tally2 օրինակից տողը pam_faillock կույտ պատճենելը վերանվանում չէ. փաստաթղթավորված կարգավորումը տարբեր է, և սխալ տեղում դրված կանչը կարող է ձախողումներ գրանցել առանց դրանք երբևէ ստուգելու։
faillock --user alice
faillock --user alice --reset
Ստուգման գործիքը ամենաարագ ձևն է տեսնելու՝ արդյոք հաշվիչն իրական է. այն ցույց է տալիս հաշվի գրանցված ձախողումները և կարող է մաքրել դրանք։ Եթե վերահսկվող ձախողումը չի փոխում այդ ելքը, կանչի տեղը սխալ է։
Առանձին ծառայության անունը մեկուսացում չէ
VPN-ին սեփական PAM ծառայության ֆայլ տալը տեսանելի է դարձնում նախատեսված քաղաքականությունը, բայց չի սահմանափակում ազդեցությունը։ Ընդհանուր ֆայլի ցանկացած ներառում բերում է այն, ինչ անում է այդ ֆայլը, ներառյալ ամբողջ համակարգի հաշվարկները։
Հստակ որոշեք՝ կողպումը ծածկում է միայն VPN հասանելիությունը, թե նույն հաշիվը նույնականացնող յուրաքանչյուր ծառայություն։ Երկու պատասխաններն էլ պաշտպանելի են. ձախողումն այն է, երբ կարծում եք, թե ընտրել եք մեկը, մինչ կույտը կիրառում է մյուսը։
Այնուհետև հաշվի առեք արժեքը։ Հարձակվողը կարող է առաջացնել կողպումը, և տուժող օգտատերը հաշվի սեփականատերն է։ Շեմը, սպասման ժամկետը և վարչական վերականգնման ուղին քաղաքականության մաս են, և վերականգնումը չպետք է կախված լինի միջադեպի ընթացքում VPN-ի վերակազմավորումից։
Ընդունեք հաջորդականությունը, ոչ թե մեկ մերժում
Փորձարկեք նշանակված ինքնություններով՝ հաստատված ծրագրի համաձայն, և փորձարկեք շղթա, ոչ թե մեկ իրադարձություն. վավեր հաշիվը նույնականացվում է, դիտավորյալ սխալ գաղտնաբառը տեղափոխում է հաշվիչը, կարգավորված կողպումն ուժի մեջ է մտնում, և փաստաթղթավորված վերականգնումը վերադարձնում է հասանելիությունը։
faillock --user test-vpn-01
journalctl -u openvpn-server@lab -n 30 --no-pager | grep -i 'auth\|pam'
Հաջողության վարքը դիտեք նույնքան ուշադիր, որքան ձախողմանը։ Եթե հաջող մուտքը չի մաքրում պատմությունը, հաշիվը կկողպվի սովորական սխալների դանդաղ կուտակումից հետո։ Եթե այն ամեն ինչ մաքրում է յուրաքանչյուր ծառայությունից, հաշվիչը ավելի թույլ է, քան պնդում է քաղաքականությունը։
Վերջում կանգնեցրեք առանց հսկողության հաճախորդներին՝ նախքան հաղթանակ հայտարարելը։ Պահպանված հավատարմագրերը, որոնք ֆոնում նորից փորձում են, վերականգնումից րոպեներ անց նորից ձախողումներ կստեղծեն և հաշիվը կրկին կկողպեն։ Աղբյուրի վրա հիմնված արագության սահմանափակումը կարող է մնալ որպես լրացուցիչ վերահսկիչ, բայց դա հաշվի քաղաքականությունը չէ։