Proxy-rotasie en 'n VPN verander jou openbare adres op verskillende lae, en daardie verskil bepaal wat lek. 'n VPN skuif elke pakket in 'n tonnel, so die bronadres wat die teiken sien, is die tonnel se eindpunt. 'n Proxy sit bo die netwerklaag: net die versoeke wat jy daardeur stuur, verskyn van die uitgang, terwyl alles anders op die masjien die regte adres behou. Om daardie skeiding reg te kry, verander rotasie van 'n blokkie in 'n ontwerpbesluit.

Waar die openbare adres werklik vandaan kom

Die adres wat 'n teiken sien, is die een waarvan jou verkeer laas vertrek het, en op 'n tuisverbinding is dit die verskaffer se adres op jou router, nie iets wat die masjien besit nie. Om die router te herbegin kan dieselfde huurkontrak teruggee, en om sy MAC-adres te verander lewer soms 'n nuwe een op, maar nie een van die twee gee jou 'n landkeuse nie. 'n VPN vervang die bronadres op die IP-laag, so elke pakket van die masjien, insluitend DNS en agtergrondopdaterings, vertrek van die tonnel se eindpunt. 'n Proxy werk een laag hoër: dit aanvaar 'n versoek, maak sy eie verbinding na die teiken oop, en net daardie versoek verskyn van die uitgang. Alles anders op die masjien gebruik steeds die regte adres.

Daardie skeiding verduidelik die meeste verrassings. 'n Blaaieruitbreiding wat na 'n proxy wys, verander wat die blaaier stuur en niks anders nie, so 'n tweede toepassing op dieselfde gasheer lek steeds die oorspronklike adres. 'n Stelselwye VPN het die teenoorgestelde foutmodus: dit dek verkeer wat jy plaaslik wou hou en sluit net toe as die kliënt so ingestel is. Om tussen die twee te kies, is eintlik om te kies watter verkeer moet beweeg.

Rotasie geld dan vir watter laag jy ook al gekies het. Met 'n proxy beteken rotasie dat die volgende versoek 'n ander uitgang gebruik. Met 'n VPN beteken dit die tonnel afbreek en weer opbou, wat stadiger is en as 'n sigbare herverbinding wys.

Wat 'n HTTP-proxy kan lees, en wat nie

Vir gewone HTTP sien die proxy 'n absolute URI in die versoekreël, elke kop en die liggaam. Dit kan alles daarvan log en enigiets daarvan herskryf, en daarom doen 'n gratis proxy wat 'n script in response inspuit presies wat die protokol toelaat. Verifikasie gebruik Proxy-Authorization, en 'n ontbrekende of verkeerde geloofsbrief lewer 407 Proxy Authentication Required eerder as 'n verbindingsfout.

Vir HTTPS stuur die kliënt CONNECT host:port en die proxy maak 'n rou tonnel oop, waarna dit geënkripteerde grepe sien. Dit leer steeds die gasheernaam uit die CONNECT-reël en gewoonlik uit die SNI-veld in die TLS-handdruk, so gasheernaamvlak-logging oorleef selfs al oorleef die loonvrag nie. Om die loonvrag te lees, vereis die beëindiging van TLS met 'n sertifikaat wat die kliënt vertrou, wat 'n ander produk met 'n ander risiko is. Die HTTP-semantiekspesifikasie definieer CONNECT as 'n tonnelversoek, wat die regte denkmodel is vir wat 'n uitgang kan en nie kan sien nie.

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

Die uitvoer met -v wys die CONNECT-reël voor enige TLS-verkeer, en dit is die oomblik waarop die proxy jou bestemming leer. 'n Proxy wat met 407 antwoord, het nooit die tonnel oopgemaak nie, so om met ander TLS-instellings te probeer, sal nie help nie.

Rotasie-granulariteit bepaal wat breek

Om by elke versoek te roteer, is die instelling wat die veiligste lyk en die meeste breek. Koekies, CSRF-tekens en bedienerkant-sessies is aan 'n identiteit gebind, en 'n identiteit wat tussen die aanmelding en die volgende oproep verander, lyk vir die teiken soos sessiekaping. Baie verskaffers bied 'n klewerige sessie deur dit in die proxy-gebruikersnaam te enkodeer, so die uitgang bly vas vir 'n gekose venster.

Kies die granulariteit volgens die taak, nie volgens die verskaffer se verstek nie. 'n Kruiper wat onafhanklike blaaie haal, kan per versoek roteer, terwyl 'n betaalstroom of 'n geauthentiseerde API een uitgang vir die hele stroom moet hou. Die twee oproepe hieronder wys 'n klewerige gebruikersnaam en 'n gewone roterende eindpunt, en die socks5h skema los name by die proxy op eerder as plaaslik.

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

Plaaslike DNS is 'n stille lek. As die kliënt die naam oplos voordat dit verbind, leer die oplosser steeds elke gasheer wat jy besoek, selfs al gaan die HTTP-versoek elders uit. Die socks5h vorm en oplossing aan die proxykant vermy dit, en om hulle te gebruik kos niks.

Wat die teiken buiten die adres klassifiseer

Adresreputasie is een inset onder verskeie. Teikens kombineer die ASN en sy datacentrum-of-residensiële etiket, die TLS-vingerafdruk van die kliënt, HTTP/2-instellings, koporde, versoektempo en die vorm van die navigasie. 'n Residensiële uitgang wat deur 'n kop-lose blaaier gedryf word, kan faal waar 'n datacentrum-uitgang wat deur 'n regte sessie gedryf word, slaag.

Die tipe uitgang bepaal wat jy eerlik oor die verkeer kan beweer, en elkeen dra 'n ander koste.

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

'n Gedeelde uitgang is nie neutraal nie. Wat ook al anders van daardie adres af loop, beland in dieselfde reputasie-emmer, en 'n adres wat al deur ander huurders verbrand is, faal voordat jou eerste versoek gelees word.

Kies 'n uitgang wat jy in 'n beleid kan beskryf

Die nuttige vraag is nie hoe om die adres te verberg nie, maar wie verantwoordelik is vir die verkeer wat daaruit vertrek. Jou eie wolkuittrede per taak, 'n gekontrakteerde verskaffer met 'n dataverwerkingsooreenkoms en gepubliseerde bewaring, en 'n self-gehoste VPN met een identiteit per taak is almal in een sin beskryfbaar. 'n Gratis lys is nie, want sy operateur het geen verpligting teenoor jou nie en elke aansporing om te log.

Hou jou eie tempolimiete onder wat die teiken verdra, en versamel net die velde wat die taak nodig het, sodat 'n fout klein bly. Om vinniger te roteer om 'n blok te ontsnap, verhoog gewoonlik die versoektempo wat dit veroorsaak het.

Skryf die gekose uitgang, sy rotasievenster en sy eienaar in die taakkonfigurasie voor die eerste lopie. Wanneer die blok opdaag, is dit die nota wat jou sê of jy die uitgang moet verander of die gedrag.

Verwante artikels