CloudFront geoblokavimas už VPN: išėjimo diagnostika
Edge sprendžia pagal matomą adresą, o bendras išėjimas keičia ir šalį, ir reputaciją. Kiekvieną kontrolę tikrinkite atskirai prieš keisdami išėjimo mazgus.
Geografinis apribojimas yra sprendimas dėl IP adreso, o VPN pakeičia, kokį adresą mato paslauga. Šis vienas sakinys paaiškina daugumą painių pranešimų, patenkančių į palaikymo eilę: „svetainė veikia namuose ir nepavyksta tunelyje“ ir „svetainė veikia tunelyje, bet niekas kitas biure negali jos įkelti“ yra tas pats mechanizmas, duodantis priešingus rezultatus. Šis vadovas atlieka diagnostiką ta tvarka, kuri atmeta priežastis, pradedant nuo to, ką edge jums iš tikrųjų pasakė. Tas pats išėjimo adresas gali praeiti vieną kontrolę ir nepavykti kitoje, nes kiekviena kontrolė vertina skirtingą to adreso savybę.
Perskaitykite 403 prieš ką nors keisdami
Geoblokas ir WAF blokas abu ateina kaip 403, ir jie taisomi skirtingose vietose. Užfiksuokite atsakymo antraštes ir pirmąją kūno eilutę, nes CloudFront prideda talpyklos antraštę ir priežasties eilutę, kurios nurodo, kuris sluoksnis atsakė:
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
Kai pats paskirstymas užblokavo užklausą dėl geografijos, kūne yra pranešimas, įvardijantis šalies apribojimą. Kai ją užblokavo WAF taisyklė, kūnas paprastai yra bendras uždraustas puslapis, o paskirstymo užklausos ID antraštėse yra tai, ką nešatės į WAF žurnalus. Klaida čia nukreipia jus į leidžiamų šalių sąrašą dėl taisyklės, pagrįstos greičiu, problemos, o tai yra darbo diena, kuri negali pavykti.
1 žingsnis: patvirtinkite, kokį adresą mato paskirstymas
Paklauskite tinklo, ką mato išorinis pasaulis, iš tos pačios mašinos ir tuo pačiu maršrutu, kurį naudoja nepavykstanti naršyklė. curl -s https://checkip.amazonaws.com grąžina skambinančiojo viešąjį adresą, kuris VPN klientui yra išėjimas, o ne abonento namų ryšys:
curl -s https://checkip.amazonaws.com
nslookup d111111abcdef8.cloudfront.net
Jei tas adresas priklauso jūsų teikėjo išėjimui kitoje šalyje, geografinis sprendimas jau priimtas ir niekas kliente jo nepakeis. Įrašykite adresą į bilietą prieš liesdami nustatymą, nes tai vienintelis faktas ataskaitoje, dėl kurio jūs ir paslauga sutariate.
2 žingsnis: atskirkite šalį nuo reputacijos
CloudFront nustato žiūrovo vietą iš trečiosios šalies GeoIP duomenų bazės, susietos su užklausos šaltinio adresu, o susiejimas yra apytikslis ir regioninis, o ne tikslus nustatymas. Kai vietos nustatyti negalima, dokumentuotas numatytasis veiksmas yra vis tiek tiekti turinį. Taigi yra trys galimos būsenos: išėjimas susiejamas su užblokuota šalimi, su leidžiama šalimi, arba duomenų bazė neturi nuomonės ir užklausa tęsiama.
Užblokuotos šalies naudotojas gali atrodyti esantis leidžiamoje, jei teikėjas ten turi išėjimą, o leidžiamos šalies naudotojas gali būti užblokuotas, nes išėjimas registruotas kitur. Nė vienas rezultatas neįrodo, kad apribojimas sudužęs. Abu yra apribojimas, veikiantis jam duotu adresu, kaip aprašo CloudFront geografinių apribojimų dokumentacija.
Reputacija yra antroji ašis ir ji išgyvena tunelį. AWS WAF valdomoji anoniminių IP taisyklių grupė sukurta blokuoti užklausas iš VPN, proxy, Tor mazgų ir prieglobos teikėjų, todėl užklausa, praėjusi šalies patikrą, vis tiek gali būti atmesta dėl to, kas adresas yra, o ne kur jis yra. Jei blokavimas prasidėjo, kai perkėlėte tunelį į debesijos hostą, tai greičiausiai tas sluoksnis.
3 žingsnis: patikrinkite kvotos elgseną
Bendri išėjimai nepavyksta trečiuoju būdu. Greičio limitai pagal IP ir sesijų skaičiavimas vieną adresą laiko vienu klientu, o vartotojo išėjimas vienu metu neša daug abonentų, todėl užklausų modelis, niekuo neišsiskiriantis iš namų ryšio, iš išėjimo atrodo kaip automatizavimas. Simptomas yra ribojimas arba laikinas blokavimas, kuris praeina savaime, o ne geografinė klaidos žinutė.
Paskirstymas taip pat gali sąmoningai skaičiuoti sesijas pagal adresą, pavyzdžiui, su Lambda@Edge funkcija, rašančia į DynamoDB. Tai neidentifikuoja žmogaus už išėjimo, bet priverčia vieną adresą elgtis kaip vieną klientą, o tai dažnai yra tikrasis tikslas. Užregistruokite skirtingus adresus už skundo, prieš koreguodami bet kokią ribą, nes įmonės NAT priešais du šimtus stalų iš išorės atrodo būtent kaip užimtas išėjimas. Tikitės klaidingų teigiamų rezultatų iš įmonės NAT, universiteto tinklo ar didelės šeimos, kurie visi pateikia vieną adresą.
Pažiūrėkite į WAF atrinktas užklausas ir greičiu pagrįstų taisyklių metrikas, prieš kaltindami geografiją. Taisyklė, kuri suveikia pagal išėjimo užklausų apimtį, palieka aiškų parašą ir taip pat pasako, ar pataisa yra limito koregavimas, ar kitas išėjimo kelias.
Ką keisti ir kokia tvarka
Pirmiausia nuspręskite, kam skirta kontrolė. Regioninio katalogo palaikymas, piktnaudžiavimo ribojimas ir sutarties vykdymas yra trys skirtingi tikslai, ir tik pirmąjį sprendžia šalių sąrašas. Jei tikslas yra piktnaudžiavimo kontrolė, išėjimas yra netinkamas tapatybės vienetas, ir joks leidžiamų sąrašų kiekis nepadarys bendro adreso patikimo.
Jei leidžiamam sąrašui tikrai reikia stabilaus adreso, skirtasis arba statinis išėjimas padeda, nes adresą galima registruoti ir jis nesisuka. Tai nepadaro adreso gyvenamuoju ir nepakeičia šalies, kurią jam priskiria GeoIP duomenų bazė. Išėjimų sukimas, kol vienas veikia, yra laikinas reputacijos pokytis, o ne politikos pataisa.
Tada užrašykite rezultatą tais terminais, kuriuos naudojo prašymo autorius: šis adresas užblokuotas pagal šalį, reputaciją arba greitį, ir tai yra kontrolė, kuri pasikeis. Viskas neaiškesnio kviečia tą patį bilietą kitą savaitę su kitu išėjimu.