Geografické omezení je rozhodnutí o IP adrese a VPN mění, kterou adresu služba vidí. Tato jediná věta vysvětluje většinu matoucích hlášení, která se dostanou do fronty podpory: „web doma funguje a v tunelu selhává“ a „web v tunelu funguje, ale nikdo jiný v kanceláři ho nenačte“ jsou stejný mechanismus s opačnými výsledky. Tato příručka vede diagnostiku v pořadí, které vylučuje příčiny, počínaje tím, co vám edge skutečně řekl. Stejná výstupní adresa může projít jednou kontrolou a selhat u další, protože každá kontrola hodnotí jinou vlastnost této adresy.

Přečtěte si 403, než cokoli změníte

Geoblok i blok WAF přicházejí jako 403 a opravují se na různých místech. Zachyťte hlavičky odpovědi a první řádek těla, protože CloudFront přidává hlavičku mezipaměti a řetězec důvodu, které vám řeknou, která vrstva odpověděla:

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

Když distribuce sama zablokovala požadavek kvůli geografii, tělo nese zprávu jmenující omezení země. Když ho zablokovalo pravidlo WAF, tělo je obvykle obecná stránka se zákazem a identifikátor požadavku distribuce v hlavičkách je to, co si vezmete do logů WAF. Chyba v tom vás pošle do seznamu povolených zemí kvůli problému s pravidlem založeným na rychlosti, což je den práce, který nemůže uspět.

Krok 1: ověřte, kterou adresu distribuce vidí

Zeptejte se sítě, co vidí vnější svět, ze stejného stroje a stejnou trasou, kterou používá selhávající prohlížeč. curl -s https://checkip.amazonaws.com vrací veřejnou adresu volajícího, což je u klienta VPN výstup, nikoli domácí připojení předplatitele:

curl -s https://checkip.amazonaws.com
nslookup d111111abcdef8.cloudfront.net

Pokud tato adresa patří výstupu vašeho poskytovatele v jiné zemi, geografické rozhodnutí už padlo a nic na klientovi ho nezmění. Zapište adresu do tiketu, než sáhnete na nastavení, protože je to jediný fakt ve hlášení, na kterém se vy i služba shodnete.

Krok 2: oddělte zemi od reputace

CloudFront určuje polohu diváka z databáze GeoIP třetí strany vázané na zdrojovou adresu požadavku a mapování je přibližné a regionální, nikoli přesné určení. Když polohu nelze určit, dokumentovaným výchozím chováním je obsah přesto doručit. Existují tedy tři možné stavy: výstup se mapuje na blokovanou zemi, na povolenou zemi, nebo databáze nemá názor a požadavek projde.

Uživatel v blokované zemi může vypadat jako v povolené, pokud tam poskytovatel má výstup, a uživatel v povolené zemi může být blokován, protože výstup je registrován jinde. Ani jeden výsledek nedokazuje, že je omezení rozbité. Oba jsou omezením pracujícím s adresou, která mu byla dána, jak popisuje dokumentace CloudFront ke geografickým omezením.

Reputace je druhá osa a tunelem přežije. Spravovaná skupina pravidel AWS WAF pro anonymní IP je postavena tak, aby blokovala požadavky z VPN, proxy, uzlů Tor a poskytovatelů hostingu, takže požadavek, který projde kontrolou země, může být stále odmítnut kvůli tomu, co adresa je, ne kde je. Pokud blokování začalo, když jste tunel přesunuli na cloudový host, je to pravděpodobně tato vrstva.

Krok 3: zkontrolujte chování kvóty

Sdílené výstupy selhávají třetím způsobem. Limity rychlosti na IP a počty relací považují jednu adresu za jednoho klienta a spotřebitelský výstup nese mnoho předplatitelů najednou, takže vzor požadavků, který je z domácího připojení nenápadný, vypadá z výstupu jako automatizace. Příznakem je omezování nebo dočasný blok, který sám zmizí, nikoli geografická chybová zpráva.

Distribuce může také záměrně počítat relace na adresu, například funkcí Lambda@Edge zapisující do DynamoDB. To neidentifikuje osobu za výstupem, ale způsobí, že se jedna adresa chová jako jeden klient, což je často skutečný záměr. Zaznamenejte různé adresy za stížností, než začnete ladit jakýkoli práh, protože podnikový NAT před dvěma sty stoly vypadá zvenčí přesně jako zaneprázdněný výstup. Očekávejte falešné poplachy od podnikového NAT, univerzitní sítě nebo velké domácnosti, které všechny představují jednu adresu.

Podívejte se na vzorkované požadavky WAF a metriky pravidel založených na rychlosti, než obviníte geografii. Pravidlo, které se spustí na objem požadavků výstupu, zanechává jasný podpis a také vám řekne, zda je opravou úprava limitu, nebo jiná výstupní cesta.

Co změnit a v jakém pořadí

Nejprve rozhodněte, k čemu kontrola slouží. Udržovat regionální katalog, omezovat zneužívání a vynucovat smlouvu jsou tři různé cíle a jen první řeší seznam zemí. Pokud je cílem kontrola zneužívání, výstup je špatná jednotka identity a žádné množství povolených seznamů neudělá sdílenou adresu důvěryhodnou.

Pokud je pro povolený seznam skutečně potřeba stabilní adresa, pomůže vyhrazený nebo statický výstup, protože adresu lze zaregistrovat a nerotuje. Neudělá z adresy rezidenční a nezmění zemi, kterou jí databáze GeoIP přiřazuje. Rotování výstupů, dokud jeden nefunguje, je dočasná změna reputace, ne oprava politiky.

Potom zapište výsledek termíny, které použil žadatel: tato adresa je blokována podle země, podle reputace nebo podle rychlosti, a toto je kontrola, která se změní. Cokoli vágnějšího zve stejný tiket příští týden s jiným výstupem.

Související články