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 адреси и бројања сесија третирају једну адресу као једног клијента, а потрошачки излаз носи много претплатника одједном, па образац захтева који је са кућне везе неупадљив изгледа као аутоматизација са излаза. Симптом је ограничавање или привремена блокада која сама прође, а не географска порука о грешци.
Дистрибуција може и намерно да броји сесије по адреси, на пример функцијом Lambda@Edge која пише у DynamoDB. То не идентификује особу иза излаза, али чини да се једна адреса понаша као један клијент, што је често стварна намера. Забележите различите адресе иза пријаве пре него што прилагодите било који праг, јер корпоративни NAT испред двеста радних столова споља изгледа управо као заузет излаз. Очекујте лажне позитивне резултате од корпоративног NAT-а, универзитетске мреже или великог домаћинства који сви представљају једну адресу.
Погледајте узорковане захтеве WAF-а и метрике правила заснованих на стопи пре него што оптужите географију. Правило које се активира на обим захтева излаза оставља јасан потпис и такође вам каже да ли је поправка прилагођавање границе или други излазни пут.
Шта променити и којим редом
Прво одлучите чему контрола служи. Одржавање регионалног каталога, ограничавање злоупотребе и спровођење уговора три су различита циља, а само први се решава списком држава. Ако је циљ контрола злоупотребе, излаз је погрешна јединица идентитета, и никаква количина дозвољених листа неће учинити заједничку адресу поузданом.
Ако је за дозвољени списак заиста потребна стабилна адреса, наменски или статички излаз помаже јер адреса може да се региструје и не ротира. То не чини адресу стамбеном и не мења државу коју јој GeoIP база додељује. Ротирање излаза док један не проради привремена је промена репутације, не поправка политике.
Затим запишите исход терминима које је подносилац захтева користио: ова адреса је блокирана по држави, по репутацији или по стопи, и ово је контрола која ће се променити. Све нејасније позива исти тикет следеће недеље са другим излазом.