Rotácia proxy a VPN menia vašu verejnú adresu v rôznych vrstvách a ten rozdiel rozhoduje o tom, čo uniká. VPN presúva každý paket do tunela, takže zdrojová adresa, ktorú cieľ vidí, je koncový bod tunela. Proxy stojí nad sieťovou vrstvou: z výstupu sa objavujú len požiadavky, ktoré cez ňu pošlete, zatiaľ čo všetko ostatné na stroji si zachováva skutočnú adresu. Keď to rozdelenie sedí, premení rotáciu zo zaškrtávacieho poľa na dizajnové rozhodnutie.

Odkiaľ verejná adresa vlastne pochádza

Adresa, ktorú cieľ vidí, je tá, z ktorej váš prenos naposledy vyšiel, a na domácom pripojení je to adresa poskytovateľa na vašom routeri, nie niečo, čo stroj vlastní. Reštart routera môže vrátiť ten istý prenájom a zmena jeho MAC adresy niekedy vytvorí novú, ale ani jedno vám nedá voľbu krajiny. VPN nahrádza zdrojovú adresu na vrstve IP, takže každý paket zo stroja, vrátane DNS a aktualizácií na pozadí, vychádza z koncového bodu tunela. Proxy pracuje o vrstvu vyššie: prijme požiadavku, otvorí vlastné spojenie k cieľu a z výstupu sa objaví len táto požiadavka. Všetko ostatné na stroji naďalej používa skutočnú adresu.

Toto rozdelenie vysvetľuje väčšinu prekvapení. Rozšírenie prehliadača nasmerované na proxy mení len to, čo prehliadač odosiela, a nič iné, takže druhá aplikácia na tom istom hostiteľovi stále prezrádza pôvodnú adresu. Systémová VPN má opačný režim zlyhania: pokrýva prenos, ktorý ste chceli nechať lokálny, a zavrie sa len vtedy, keď je klient tak nastavený. Vybrať medzi nimi vlastne znamená vybrať, ktorý prenos sa musí hýbať.

Rotácia sa potom vzťahuje na vrstvu, ktorú ste vybrali. Pri proxy rotácia znamená, že ďalšia požiadavka použije iný výstup. Pri VPN to znamená strhnúť a znova postaviť tunel, čo je pomalšie a prejaví sa ako viditeľné opätovné pripojenie.

Čo HTTP proxy prečítať dokáže a čo nie

Pri obyčajnom HTTP proxy vidí absolútny URI v riadku požiadavky, každú hlavičku a telo. Môže to všetko zaznamenať a ktorúkoľvek časť prepísať, a preto bezplatná proxy, ktorá do odpovedí vkladá skript, robí presne to, čo protokol dovoľuje. Autentifikácia používa Proxy-Authorization, a chýbajúci alebo nesprávny prihlasovací údaj vytvorí 407 Proxy Authentication Required namiesto chyby pripojenia.

Pri HTTPS klient posiela CONNECT host:port a proxy otvorí surový tunel, po ktorom vidí šifrované bajty. Stále sa učí meno hostiteľa z riadku CONNECT a zvyčajne z poľa SNI v TLS podaní rúk, takže protokolovanie na úrovni mena hostiteľa prežije, aj keď obsah nie. Čítanie obsahu vyžaduje ukončenie TLS certifikátom, ktorému klient dôveruje, čo je iný produkt s iným rizikom. A špecifikácia sémantiky HTTP definuje CONNECT ako tunelovú požiadavku, čo je správny mentálny model toho, čo výstup môže a nemôže vidieť.

curl -v -x http://proxy.example.net:8080 https://example.com 2>&1 | grep -E 'CONNECT|Proxy-'

Podrobný výstup ukazuje riadok CONNECT pred akýmkoľvek prenosom TLS, a to je okamih, keď sa proxy dozvie váš cieľ. Proxy, ktorá odpovie 407, tunel nikdy neotvorila, takže opakovanie s iným nastavením TLS nepomôže.

Granularita rotácie rozhoduje, čo sa pokazí

Rotácia pri každej požiadavke je nastavenie, ktoré vyzerá najbezpečnejšie a pokazí najviac. Cookies, tokeny CSRF a serverové relácie sú viazané na identitu a identita, ktorá sa medzi prihlásením a ďalším volaním zmení, vyzerá pre cieľ ako únos relácie. Mnohí poskytovatelia ponúkajú lepivú reláciu tak, že ju zakódujú do používateľského mena proxy, takže výstup zostane pre zvolené okno pevný.

Vyberte granularitu podľa úlohy, nie podľa predvoleného nastavenia poskytovateľa. Crawler, ktorý sťahuje nezávislé stránky, môže rotovať pri každej požiadavke, zatiaľ čo platobný tok alebo autentifikované API musí držať jeden výstup po celý tok. Dve volania nižšie ukazujú lepivé používateľské meno a obyčajný rotujúci koncový bod a socks5h schéma rieši mená na proxy, nie lokálne.

curl -sS -x http://user-session-a1b2:[email protected]:8080 https://ifconfig.me
curl -sS -x socks5h://127.0.0.1:1080 https://ifconfig.me

Lokálny DNS je tichý únik. Ak klient preloží meno pred pripojením, resolver sa stále dozvie každého hostiteľa, ktorého navštívite, aj keď HTTP požiadavka vychádza inam. A socks5h forma a riešenie na strane proxy tomu zabránia a ich používanie nič nestojí.

Čo cieľ klasifikuje okrem adresy

Reputácia adresy je jeden vstup medzi viacerými. Ciele kombinujú ASN a jeho označenie dátové centrum alebo rezidenčné, TLS odtlačok klienta, nastavenia HTTP/2, poradie hlavičiek, frekvenciu požiadaviek a tvar navigácie. Rezidenčný výstup riadený headless prehliadačom môže zlyhať tam, kde výstup z dátového centra riadený skutočnou reláciou prejde.

Typ výstupu určuje, čo o prenose môžete poctivo tvrdiť, a každý nesie inú cenu.

Exit typeWhat the target seesMain cost
Datacenter proxyHosting ASN, cheap, often pre-blockedLow reputation, easy to detect
Residential networkA consumer ISP address belonging to someone elseConsent and terms-of-service exposure
Mobile carrierA carrier NAT address shared by many subscribersPrice, plus shared blame for abuse
Your own cloud egressAn address you are accountable forRecognisable, but defensible

Zdieľaný výstup nie je neutrálny. Všetko ostatné, čo z tejto adresy beží, padá do toho istého vedra reputácie, a adresa už spálená inými nájomcami zlyhá skôr, než sa prečíta vaša prvá požiadavka.

Vyberte výstup, ktorý dokážete opísať v zásadách

Užitočná otázka nie je, ako adresu skryť, ale kto zodpovedá za prenos, ktorý z nej vychádza. Váš vlastný cloudový výstup na úlohu, zmluvný poskytovateľ s dohodou o spracovaní údajov a zverejnenou dobou uchovávania a vlastnoručne hostovaná VPN s jednou identitou na úlohu — to všetko sa dá opísať jednou vetou. Bezplatný zoznam nie, pretože jeho prevádzkovateľ voči vám nemá žiadnu povinnosť a má všetky stimuly logovať.

Držte vlastné limity rýchlosti pod tým, čo cieľ znesie, a zbierajte len polia, ktoré úloha potrebuje, aby chyba zostala malá. Rýchlejšia rotácia kvôli úniku z bloku zvyčajne zvyšuje frekvenciu požiadaviek, ktorá ho spôsobila.

Zapíšte zvolený výstup, jeho okno rotácie a jeho vlastníka do konfigurácie úlohy pred prvým spustením. Keď príde blok, práve tá poznámka vám povie, či zmeniť výstup alebo zmeniť správanie.

Súvisiace články