CloudFront-ի աշխարհագրական արգելափակումը VPN-ի հետևում. ելքի ախտորոշում
Եզրը որոշում է ընդունում այն հասցեով, որը տեսնում է, իսկ ընդհանուր ելքը փոխում է և՛ երկիրը, և՛ հեղինակությունը։ Փորձարկեք յուրաքանչյուր վերահսկողություն առանձին՝ ելքի հանգույցները փոխելուց առաջ։
Աշխարհագրական սահմանափակումը որոշում է IP հասցեի մասին, իսկ VPN-ը փոխում է, թե որ հասցեն է տեսնում ծառայությունը։ Այս մեկ նախադասությունը բացատրում է աջակցության հերթ հասնող շփոթեցնող զեկույցների մեծ մասը. «կայքը տանը աշխատում է, իսկ թունելով ձախողվում է» և «կայքը թունելով աշխատում է, բայց գրասենյակում ոչ ոք չի կարող այն բեռնել» նույն մեխանիզմն են՝ հակառակ արդյունքներով։ Այս ուղեցույցը ախտորոշումն անցկացնում է այն հերթականությամբ, որը բացառում է պատճառները՝ սկսելով նրանից, ինչ եզրն իրականում ասել է ձեզ։ Նույն ելքի հասցեն կարող է անցնել մեկ վերահսկողություն և ձախողվել հաջորդում, քանի որ յուրաքանչյուր վերահսկողություն գնահատում է այդ հասցեի տարբեր հատկություն։
Կարդացեք 403-ը նախքան որևէ բան փոխելը
Աշխարհագրական արգելափակումը և WAF-ի արգելափակումը երկուսն էլ գալիս են 403-ով, և դրանք ուղղվում են տարբեր տեղերում։ Գրանցեք պատասխանի վերնագրերը և մարմնի առաջին տողը, քանի որ CloudFront-ը ավելացնում է քեշի վերնագիր և պատճառի տող, որոնք ասում են, թե որ շերտն է պատասխանել.
curl -sS -o /tmp/body.txt -D /tmp/headers.txt https://d111111abcdef8.cloudfront.net/
grep -i "x-cache\|via" /tmp/headers.txt
head -c 300 /tmp/body.txt
Երբ տարածումն ինքն է արգելափակել հարցումը աշխարհագրության պատճառով, մարմինը կրում է հաղորդագրություն, որը նշում է երկրի սահմանափակումը։ Երբ այն արգելափակել է WAF-ի կանոնը, մարմինը սովորաբար ընդհանուր արգելված էջ է, և վերնագրերում տարածման հարցման ID-ն այն է, ինչ տանում եք WAF-ի մատյաններ։ Այստեղ սխալվելը ձեզ ուղարկում է թույլատրելի երկրների ցանկ՝ արագության վրա հիմնված կանոնի խնդրի համար, ինչը մեկ օրվա աշխատանք է, որը չի կարող հաջողվել։
Քայլ 1. հաստատեք, թե որ հասցեն է տեսնում տարածումը
Հարցրեք ցանցին, թե ինչ է տեսնում արտաքին աշխարհը՝ նույն մեքենայից և նույն երթուղով, որն օգտագործում է ձախողվող բրաուզերը։ curl -s https://checkip.amazonaws.com-ը վերադարձնում է զանգահարողի հանրային հասցեն, որը VPN հաճախորդի համար ելքն է, ոչ թե բաժանորդի տնային կապը.
curl -s https://checkip.amazonaws.com
nslookup d111111abcdef8.cloudfront.net
Եթե այդ հասցեն պատկանում է ձեր մատակարարի ելքին այլ երկրում, աշխարհագրական որոշումն արդեն կայացված է, և ոչինչ հաճախորդում չի փոխի այն։ Գրեք հասցեն տոմսի մեջ նախքան որևէ կարգավորում դիպչելը, քանի որ դա զեկույցի միակ փաստն է, որի շուրջ դուք և ծառայությունը համաձայն եք։
Քայլ 2. առանձնացրեք երկիրը հեղինակությունից
CloudFront-ը դիտողի տեղը որոշում է երրորդ կողմի GeoIP տվյալների բազայից, որը հիմնված է հարցման աղբյուրի հասցեի վրա, և քարտեզագրումը մոտավոր ու տարածաշրջանային է, ոչ թե ճշգրիտ որոշում։ Երբ տեղը հնարավոր չէ որոշել, փաստաթղթավորված լռելյայնը բովանդակությունը մատուցելն է։ Այսպիսով կան երեք հնարավոր վիճակներ. ելքը քարտեզագրվում է արգելափակված երկրի, թույլատրված երկրի, կամ տվյալների բազան կարծիք չունի, և հարցումը շարունակվում է։
Արգելափակված երկրի օգտատերը կարող է երևալ թույլատրված երկրում, եթե մատակարարն այնտեղ ելք ունի, իսկ թույլատրված երկրի օգտատերը կարող է արգելափակվել, քանի որ ելքը գրանցված է այլ տեղ։ Արդյունքներից ոչ մեկը չի ապացուցում, որ սահմանափակումը կոտրված է։ Երկուսն էլ սահմանափակումն է, որ աշխատում է իրեն տրված հասցեի վրա, ինչպես նկարագրում է CloudFront-ի աշխարհագրական սահմանափակումների փաստաթուղթը։
Հեղինակությունը երկրորդ առանցքն է և այն գոյատևում է թունելից։ AWS WAF-ի անանուն IP-ների կառավարվող կանոնների խումբը կառուցված է VPN-ների, վստահված սերվերների, Tor հանգույցների և հոսթինգ մատակարարների հարցումները արգելափակելու համար, ուստի երկրի ստուգումն անցած հարցումը դեռ կարող է մերժվել այն պատճառով, թե ինչ է հասցեն, ոչ թե որտեղ է այն։ Եթե արգելափակումը սկսվել է, երբ թունելը տեղափոխեցիք ամպային հոսթ, հավանաբար այդ շերտն է։
Քայլ 3. ստուգեք քվոտայի վարքը
Ընդհանուր ելքերը ձախողվում են երրորդ եղանակով։ Մեկ IP-ի արագության սահմանները և նստաշրջանների հաշվարկը մեկ հասցեն դիտարկում են որպես մեկ հաճախորդ, իսկ սպառողական ելքը միաժամանակ կրում է շատ բաժանորդներ, ուստի տնային կապից աննկատ հարցումների օրինաչափությունը ելքի կողմից թվում է ավտոմատացում։ Ախտանշանը սահմանափակումն է կամ ժամանակավոր արգելափակումը, որն ինքն իրեն անհետանում է, ոչ թե աշխարհագրական սխալի հաղորդագրություն։
Տարածումը կարող է նաև դիտավորյալ հաշվել նստաշրջաններ ըստ հասցեի, օրինակ DynamoDB-ում գրող Lambda@Edge ֆունկցիայով։ Դա չի նույնականացնում ելքի հետևում գտնվող մարդուն, բայց ստիպում է մեկ հասցեին վարվել որպես մեկ հաճախորդ, ինչը հաճախ իրական մտադրությունն է։ Գրանցեք բողոքի հետևում եղած տարբեր հասցեները նախքան որևէ շեմ կարգավորելը, քանի որ երկու հարյուր սեղանի առջև գտնվող կորպորատիվ NAT-ը դրսից ճիշտ զբաղված ելքի տեսք ունի։ Սպասեք կեղծ դրական արդյունքների կորպորատիվ NAT-ից, համալսարանական ցանցից կամ մեծ տնտեսությունից, որոնք բոլորը ներկայացնում են մեկ հասցե։
Նայեք WAF-ի նմուշառված հարցումներին և արագության վրա հիմնված կանոնների չափիչներին նախքան աշխարհագրությանը մեղադրելը։ Ելքի հարցումների ծավալի վրա գործարկվող կանոնը հստակ ստորագրություն է թողնում, և նաև ասում է՝ ուղղումը սահմանի ճշգրտում է, թե այլ ելքի ուղի։
Ինչ փոխել և ինչ հերթականությամբ
Նախ որոշեք, թե ինչի համար է վերահսկողությունը։ Տարածաշրջանային կատալոգ պահելը, չարաշահումը սահմանափակելը և պայմանագիր կիրառելը երեք տարբեր նպատակներ են, և միայն առաջինին է անդրադառնում երկրների ցանկը։ Եթե նպատակը չարաշահման վերահսկումն է, ելքը ինքնության սխալ միավորն է, և թույլատրելի ցանկերի ոչ մի քանակություն ընդհանուր հասցեն վստահելի չի դարձնի։
Եթե թույլատրելի ցանկի համար իսկապես կայուն հասցե է պետք, նվիրված կամ ստատիկ ելքը օգնում է, քանի որ հասցեն կարելի է գրանցել և այն չի պտտվում։ Դա հասցեն բնակելի չի դարձնում և չի փոխում այն երկիրը, որը GeoIP տվյալների բազան նրան վերագրում է։ Ելքերը պտտելը, մինչև մեկը աշխատի, հեղինակության ժամանակավոր փոփոխություն է, ոչ թե քաղաքականության ուղղում։
Այնուհետև գրեք արդյունքը այն տերմիններով, որոնք օգտագործել է հարցումը ներկայացնողը. այս հասցեն արգելափակված է երկրով, հեղինակությամբ կամ արագությամբ, և սա է այն վերահսկողությունը, որը կփոխվի։ Ավելի անորոշ ցանկացած բան հաջորդ շաբաթ նույն տոմսն է հրավիրում այլ ելքով։