CloudFront geoblokiranje iza VPN-a: dijagnostika izlaza
Edge odlučuje prema adresi koju vidi, a zajednički izlaz mijenja i zemlju i reputaciju. Testirajte svaku kontrolu zasebno prije rotiranja izlaznih čvorova.
Geografsko ograničenje odluka je o IP adresi, a VPN mijenja koju adresu usluga vidi. Ta jedna rečenica objašnjava većinu zbunjujućih prijava koje stižu u red za podršku: „stranica radi kod kuće, a preko tunela ne radi“ i „stranica radi preko tunela, ali je nitko drugi u uredu ne može učitati“ isti su mehanizam koji daje suprotne ishode. Ovaj priručnik vodi dijagnostiku redom koji isključuje uzroke, počevši od onoga što vam je edge doista rekao. Ista izlazna adresa može proći jednu kontrolu, a pasti na sljedećoj, jer svaka kontrola procjenjuje drugo svojstvo te adrese.
Pročitajte 403 prije nego što išta promijenite
Geoblokada i WAF blokada dolaze obje kao 403, a popravljaju se na različitim mjestima. Zabilježite zaglavlja odgovora i prvi redak tijela jer CloudFront uključuje zaglavlje predmemorije i niz razloga koji vam kažu koja je razina odgovorila:
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
Kada je sama distribucija blokirala zahtjev zbog geografije, tijelo nosi poruku koja imenuje ograničenje zemlje. Kada ga je blokiralo WAF pravilo, tijelo je obično opća stranica zabrane, a ID zahtjeva distribucije u zaglavljima ono je što nosite u WAF zapise. Pogrešna prosudba ovdje šalje vas na popis dopuštenih zemalja zbog problema s pravilom koje se temelji na brzini, a to je dan rada koji ne može uspjeti.
Korak 1: potvrdite koju adresu distribucija vidi
Pitajte mrežu što vidi vanjski svijet, s istog stroja i istom rutom koju rabi preglednik koji ne uspijeva. curl -s https://checkip.amazonaws.com vraća javnu adresu pozivatelja, koja je za VPN klijenta izlaz, a ne kućna veza pretplatnika:
curl -s https://checkip.amazonaws.com
nslookup d111111abcdef8.cloudfront.net
Ako ta adresa pripada izlazu vašeg davatelja usluga u drugoj zemlji, odluka o geografiji već je donesena i ništa je na klijentu neće promijeniti. Upišite adresu u tiket prije nego što dotaknete postavku jer je to jedina činjenica u prijavi oko koje se vi i usluga slažete.
Korak 2: odvojite zemlju od reputacije
CloudFront utvrđuje lokaciju gledatelja iz GeoIP baze treće strane vezane uz izvornu adresu zahtjeva, a mapiranje je približno i regionalno, a ne precizno određivanje. Kada se lokacija ne može utvrditi, dokumentirani je zadani postupak ipak poslužiti sadržaj. Zato postoje tri moguća stanja: izlaz se mapira u blokiranu zemlju, u dopuštenu zemlju ili baza nema mišljenje i zahtjev prolazi.
Korisnik u blokiranoj zemlji može izgledati kao da je u dopuštenoj ako davatelj tamo ima izlaz, a korisnik u dopuštenoj zemlji može biti blokiran jer je izlaz registriran negdje drugdje. Nijedan ishod ne dokazuje da je ograničenje pokvareno. Oba su ograničenje koje radi na adresi koja mu je dana, kako opisuje CloudFront dokumentacija o geografskim ograničenjima.
Reputacija je druga os i preživljava tunel. Upravljana grupa pravila AWS WAF za anonimne IP adrese napravljena je da blokira zahtjeve s VPN-ova, proxyja, Tor čvorova i hosting davatelja, pa zahtjev koji prođe provjeru zemlje ipak može biti odbijen zbog toga što adresa jest, a ne gdje je. Ako je blokada počela kad ste tunel premjestili na cloud host, to je vjerojatno ta razina.
Korak 3: provjerite ponašanje kvote
Zajednički izlazi padaju na treći način. Ograničenja brzine po IP adresi i brojanja sesija tretiraju jednu adresu kao jednog klijenta, a potrošački izlaz nosi mnogo pretplatnika odjednom, pa obrazac zahtjeva koji je s kućne veze neupadljiv izgleda kao automatizacija s izlaza. Simptom je ograničavanje ili privremena blokada koja se sama povlači, a ne geografska poruka o pogrešci.
Distribucija može i namjerno brojati sesije po adresi, primjerice funkcijom Lambda@Edge koja piše u DynamoDB. To ne identificira osobu iza izlaza, ali čini da se jedna adresa ponaša kao jedan klijent, što je često stvarna namjera. Zabilježite različite adrese iza prijave prije nego što prilagodite bilo koji prag jer korporativni NAT ispred dvjesto radnih stolova izvana izgleda upravo kao zauzet izlaz. Očekujte lažne pozitive od korporativnog NAT-a, sveučilišne mreže ili velikog kućanstva koji svi predstavljaju jednu adresu.
Pogledajte WAF-ove uzorkovane zahtjeve i metrike pravila koja se temelje na brzini prije nego što okrivite geografiju. Pravilo koje se aktivira na obujam zahtjeva izlaza ostavlja jasan potpis i također vam kaže je li popravak prilagodba ograničenja ili drugi izlazni put.
Što promijeniti i kojim redom
Najprije odlučite čemu kontrola služi. Održavanje regionalnog kataloga, ograničavanje zlouporabe i provedba ugovora tri su različita cilja, a samo prvi rješava popis zemalja. Ako je cilj kontrola zlouporabe, izlaz je pogrešna jedinica identiteta, i nikakva količina popisa dopuštenih adresa neće zajedničku adresu učiniti pouzdanom.
Ako je stabilna adresa doista potrebna za popis dopuštenih, namjenski ili statički izlaz pomaže jer se adresa može registrirati i ne rotira. To adresu ne čini stambenom i ne mijenja zemlju koju joj dodjeljuje GeoIP baza. Rotiranje izlaza dok jedan ne proradi privremena je promjena reputacije, a ne popravak politike.
Zatim zapišite ishod terminima koje je podnositelj zahtjeva rabio: ova je adresa blokirana po zemlji, po reputaciji ili po brzini, i to je kontrola koja će se promijeniti. Sve nejasnije poziva isti tiket sljedeći tjedan s drugim izlazom.