Pag-ikot ng proxy IP nang walang VPN: ano ang nakikita ng exit
Iikot ang mga exit ng proxy nang walang VPN: ano ang mababasa ng HTTP proxy, paano pinipigilan ng malagkit na session ang sirang estado at aling exit ang maipagtatanggol mo sa isang patakaran.
Binabago ng pag-ikot ng proxy at ng VPN ang pampublikong address mo sa magkaibang layer, at ang pagkakaibang iyon ang nagtatakda kung ano ang tumutulo. Inililipat ng VPN ang bawat packet papasok sa isang tunnel, kaya ang source address na nakikita ng target ay ang dulo ng tunnel. Nasa ibabaw ng network layer ang proxy: ang mga request na ipinapadala mo sa pamamagitan nito lang ang lumilitaw mula sa exit, habang ang lahat ng iba pa sa makina ay nagpapanatili ng totoong address. Kapag nakuha nang tama ang paghahating ito, nagiging desisyon sa disenyo ang pag-ikot mula sa isang kahon ng tsek.
Saan talaga nagmumula ang pampublikong address
Ang address na nakikita ng target ay ang huling pinaglabasan ng trapiko mo, at sa koneksyon sa bahay iyon ang address ng provider sa router mo, hindi isang bagay na pag-aari ng makina. Maaaring ibalik ng pag-restart ng router ang parehong lease, at ang pagbabago ng MAC address nito ay kung minsan ay gumagawa ng bago, pero wala sa dalawa ang nagbibigay sa iyo ng tagapili ng bansa. Pinapalitan ng VPN ang source address sa layer ng IP, kaya bawat packet mula sa makina, kasama ang DNS at mga update sa background, ay lumalabas mula sa dulo ng tunnel. Gumagana ang proxy nang isang layer na mas mataas: tumatanggap ito ng request, binubuksan ang sarili nitong koneksyon sa target, at ang request na iyon lang ang lumilitaw mula sa exit. Ang lahat ng iba pa sa makina ay gumagamit pa rin ng totoong address.
Ipinapaliwanag ng paghahating iyon ang karamihan ng sorpresa. Ang extension ng browser na nakaturo sa proxy ay binabago lang ang ipinapadala ng browser at wala nang iba, kaya ang pangalawang application sa parehong host ay naglalabas pa rin ng orihinal na address. Ang VPN sa buong sistema ay may kabaligtarang mode ng pagpalya: tinatakpan nito ang trapikong gusto mong manatiling lokal at nagsasara lang kung ang kliyente ay naka-configure nang ganoon. Ang pagpili sa pagitan ng dalawa ay talagang pagpili kung aling trapiko ang kailangang gumalaw.
Pagkatapos, ang pag-ikot ay nalalapat sa layer na pinili mo. Sa proxy, ang pag-ikot ay nangangahulugang ang susunod na request ay gumagamit ng ibang exit. Sa VPN, nangangahulugan itong gibain at itayong muli ang tunnel, na mas mabagal at lumilitaw bilang isang nakikitang muling pagkonekta.
Ano ang mababasa ng HTTP proxy, at ano ang hindi
Sa plain HTTP nakikita ng proxy ang isang absolute URI sa linya ng request, bawat header at ang body. Maaari nitong i-log ang lahat ng iyon at isulat muli ang anumang bahagi, kaya ang isang libreng proxy na nag-inject ng script sa mga tugon ay ginagawa mismo ang pinapayagan ng protocol. Gumagamit ang authentication ng Proxy-Authorization, at ang kulang o maling kredensyal ay gumagawa ng 407 Proxy Authentication Required sa halip na error sa koneksyon.
Sa HTTPS, ipinapadala ng kliyente ang CONNECT host:port at binubuksan ng proxy ang isang hilaw na tunnel, at pagkatapos ay nakikita nito ang mga naka-encrypt na byte. Natututuhan pa rin nito ang hostname mula sa linya ng CONNECT at karaniwang mula sa field ng SNI sa TLS handshake, kaya ang pag-log sa antas ng hostname ay nabubuhay kahit hindi ang payload. Ang pagbasa ng payload ay nangangailangan ng pagtatapos ng TLS gamit ang sertipiko na pinagkakatiwalaan ng kliyente, na isa pang produkto na may isa pang panganib. At ang espesipikasyon ng semantika ng HTTP ay tumutukoy sa CONNECT bilang isang request ng tunnel, na siyang tamang modelong pangkaisipan para sa kung ano ang nakikita at hindi nakikita ng isang exit.
curl -v -x http://proxy.example.net:8080 https://example.com 2>&1 | grep -E 'CONNECT|Proxy-'
Ipinapakita ng detalyadong output ang linya ng CONNECT bago ang anumang trapikong TLS, at iyon ang sandaling natututuhan ng proxy ang destinasyon mo. Ang proxy na sumasagot ng 407 ay hindi kailanman nagbukas ng tunnel, kaya hindi makakatulong ang muling pagsubok gamit ang ibang mga setting ng TLS.
Ang granularity ng pag-ikot ang nagtatakda kung ano ang nasisira
Ang pag-ikot sa bawat request ang setting na pinakaligtas tingnan at pinakamaraming nasisira. Ang mga cookie, token ng CSRF at session sa panig ng server ay nakatali sa isang pagkakakilanlan, at ang pagkakakilanlang nagbabago sa pagitan ng pag-login at ng susunod na tawag ay mukhang pagnanakaw ng session sa target. Maraming provider ang nag-aalok ng malagkit na session sa pamamagitan ng pag-encode nito sa username ng proxy, kaya nananatiling fixed ang exit para sa isang piniling window.
Piliin ang granularity mula sa gawain, hindi mula sa default ng provider. Ang crawler na kumukuha ng mga malayang pahina ay maaaring mag-ikot sa bawat request, habang ang daloy ng pagbabayad o isang authenticated na API ay dapat humawak ng isang exit sa buong daloy. Ang dalawang tawag sa ibaba ay nagpapakita ng malagkit na username at isang simpleng umiikot na endpoint, at ang socks5h scheme ay nilulutas ang mga pangalan sa proxy sa halip na lokal.
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
Ang lokal na DNS ay isang tahimik na pagtagas. Kung nilulutas ng kliyente ang pangalan bago kumonekta, natututuhan pa rin ng resolver ang bawat host na binibisita mo kahit lumalabas ang HTTP request sa ibang lugar. At ang socks5h hugis at ang solusyon sa panig ng proxy ay umiiwas diyan, at walang gastos ang paggamit ng mga ito.
Ano ang inuuri ng target bukod sa address
Ang reputasyon ng address ay isang input sa ilang. Pinagsasama ng mga target ang ASN at ang label nitong data center o tirahan, ang TLS fingerprint ng kliyente, mga setting ng HTTP/2, pagkakasunod-sunod ng header, rate ng request at hugis ng nabigasyon. Ang exit na tirahan na pinapatakbo ng headless na browser ay maaaring mabigo kung saan ang exit ng data center na pinapatakbo ng tunay na session ay pumapasa.
Ang uri ng exit ay nagtatakda kung ano ang matapat mong maipapahayag tungkol sa trapiko, at bawat isa ay may ibang gastos.
| Exit type | What the target sees | Main cost |
|---|---|---|
| Datacenter proxy | Hosting ASN, cheap, often pre-blocked | Low reputation, easy to detect |
| Residential network | A consumer ISP address belonging to someone else | Consent and terms-of-service exposure |
| Mobile carrier | A carrier NAT address shared by many subscribers | Price, plus shared blame for abuse |
| Your own cloud egress | An address you are accountable for | Recognisable, but defensible |
Ang pinagsasaluhang exit ay hindi neutral. Lahat ng iba pang tumatakbo mula sa address na iyon ay nahuhulog sa parehong balde ng reputasyon, at ang address na sinunog na ng ibang nangungupahan ay pumapalya bago pa mabasa ang una mong request.
Pumili ng exit na kaya mong ilarawan sa isang patakaran
Ang kapaki-pakinabang na tanong ay hindi kung paano itago ang address kundi kung sino ang may pananagutan sa trapikong lumalabas dito. Ang sarili mong exit sa cloud kada gawain, isang kontratadong provider na may kasunduan sa pagproseso ng data at nai-publish na pagpapanatili, at isang self-hosted na VPN na may isang pagkakakilanlan kada gawain ay mailalarawan lahat sa isang pangungusap. Ang libreng listahan ay hindi, dahil ang operator nito ay walang obligasyon sa iyo at may bawat insentibo na mag-log.
Panatilihin ang sarili mong mga limitasyon sa rate sa ilalim ng kung ano ang tinatanggap ng target, at kolektahin lamang ang mga field na kailangan ng gawain, para manatiling maliit ang isang pagkakamali. Ang mas mabilis na pag-ikot para makatakas sa isang block ay karaniwang nagpapataas ng rate ng request na naging sanhi nito.
Isulat ang piniling exit, ang bintana ng pag-ikot at ang may-ari sa configuration ng trabaho bago ang unang pagtakbo. Kapag dumating ang block, ang tala na iyon ang magsasabi sa iyo kung babaguhin ang exit o babaguhin ang pag-uugali.