Memutar IP proksi tanpa VPN: apa yang dilihat oleh eksit
Putar eksit proksi tanpa VPN: apa yang boleh dibaca oleh proksi HTTP, bagaimana sesi melekit menghalang keadaan rosak dan eksit mana yang boleh anda pertahankan dalam dasar.
Putaran proksi dan VPN mengubah alamat awam anda pada lapisan yang berbeza, dan perbezaan itulah yang menentukan apa yang bocor. VPN memindahkan setiap paket ke dalam terowong, jadi alamat sumber yang dilihat oleh sasaran ialah titik akhir terowong. Proksi terletak di atas lapisan rangkaian: hanya permintaan yang anda hantar melaluinya muncul dari eksit, manakala semua yang lain pada mesin mengekalkan alamat sebenar. Melakukan pemisahan ini dengan betul menjadikan putaran daripada kotak semak kepada keputusan reka bentuk.
Dari mana alamat awam sebenarnya datang
Alamat yang dilihat oleh sasaran ialah alamat terakhir trafik anda keluar, dan pada sambungan rumah itu alamat penyedia pada penghala anda, bukan sesuatu yang dimiliki mesin. Memulakan semula penghala mungkin mengembalikan pajakan yang sama, dan menukar alamat MAC-nya kadangkala menghasilkan yang baharu, tetapi kedua-duanya tidak memberi anda pemilih negara. VPN menggantikan alamat sumber pada lapisan IP, jadi setiap paket dari mesin, termasuk DNS dan kemas kini latar belakang, keluar dari titik akhir terowong. Proksi berfungsi satu lapisan lebih tinggi: ia menerima permintaan, membuka sambungannya sendiri ke sasaran, dan hanya permintaan itu muncul dari eksit. Semua yang lain pada mesin masih menggunakan alamat sebenar.
Pemisahan itu menjelaskan kebanyakan kejutan. Sambungan pelayar yang dihalakan ke proksi hanya mengubah apa yang dihantar oleh pelayar dan tiada yang lain, jadi aplikasi kedua pada hos yang sama masih membocorkan alamat asal. VPN seluruh sistem mempunyai mod kegagalan yang bertentangan: ia meliputi trafik yang anda mahu kekalkan setempat dan hanya gagal tertutup jika klien dikonfigurasikan begitu. Memilih antara keduanya sebenarnya memilih trafik mana yang perlu bergerak.
Putaran kemudian terpakai pada lapisan yang anda pilih. Dengan proksi, putaran bermaksud permintaan seterusnya menggunakan eksit yang berbeza. Dengan VPN, ia bermaksud merobohkan dan membina semula terowong, yang lebih perlahan dan kelihatan sebagai penyambungan semula yang nyata.
Apa yang boleh dibaca oleh proksi HTTP, dan apa yang tidak
Pada HTTP biasa proksi melihat URI mutlak dalam baris permintaan, setiap pengepala dan badan. Ia boleh merekodkan semuanya dan menulis semula mana-mana bahagian, itulah sebabnya proksi percuma yang menyuntik skrip ke dalam respons melakukan tepat apa yang dibenarkan oleh protokol. Pengesahan menggunakan Proxy-Authorization, dan kelayakan yang hilang atau salah menghasilkan 407 Proxy Authentication Required bukannya ralat sambungan.
Pada HTTPS klien menghantar CONNECT host:port dan proksi membuka terowong mentah, selepas itu ia melihat bait yang disulitkan. Ia masih mempelajari nama hos dari baris CONNECT dan biasanya dari medan SNI dalam jabat tangan TLS, jadi pengelogan pada peringkat nama hos kekal walaupun muatan tidak. Membaca muatan memerlukan penamatan TLS dengan sijil yang dipercayai oleh klien, yang merupakan produk lain dengan risiko lain. Spesifikasi semantik HTTP mentakrifkan CONNECT sebagai permintaan terowong, yang merupakan model mental yang betul untuk apa yang boleh dan tidak boleh dilihat oleh eksit.
curl -v -x http://proxy.example.net:8080 https://example.com 2>&1 | grep -E 'CONNECT|Proxy-'
Output terperinci menunjukkan baris CONNECT sebelum sebarang trafik TLS, dan itulah saat proksi mempelajari destinasi anda. Proksi yang menjawab dengan 407 tidak pernah membuka terowong, jadi mencuba semula dengan tetapan TLS yang lain tidak akan membantu.
Granulariti putaran menentukan apa yang rosak
Memutar pada setiap permintaan ialah tetapan yang kelihatan paling selamat dan paling banyak merosakkan. Kuki, token CSRF dan sesi sebelah pelayan terikat pada identiti, dan identiti yang berubah antara log masuk dan panggilan seterusnya kelihatan seperti pembajakan sesi kepada sasaran. Banyak penyedia menawarkan sesi melekit dengan mengekodkannya dalam nama pengguna proksi, jadi eksit kekal untuk tetingkap yang dipilih.
Pilih granulariti daripada tugas, bukan daripada lalai penyedia. Perayap yang mengambil halaman bebas boleh berputar setiap permintaan, manakala aliran pembayaran atau API yang disahkan mesti mengekalkan satu eksit sepanjang aliran. Dua panggilan di bawah menunjukkan nama pengguna melekit dan titik akhir berputar biasa, dan socks5h skim menyelesaikan nama di proksi dan bukan secara setempat.
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
DNS setempat ialah kebocoran senyap. Jika klien menyelesaikan nama sebelum menyambung, penyelesai masih mempelajari setiap hos yang anda lawati walaupun permintaan HTTP keluar di tempat lain. Bentuk socks5h dan penyelesaian sebelah proksi mengelakkannya, dan menggunakannya tidak memakan apa-apa.
Apa yang dikelaskan oleh sasaran selain alamat
Reputasi alamat ialah satu input antara beberapa. Sasaran menggabungkan ASN dan label pusat data atau kediamannya, cap jari TLS klien, tetapan HTTP/2, susunan pengepala, kadar permintaan dan bentuk navigasi. Eksit kediaman yang dipandu oleh pelayar tanpa kepala boleh gagal di tempat eksit pusat data yang dipandu oleh sesi sebenar lulus.
Jenis eksit menetapkan apa yang boleh anda dakwa dengan jujur tentang trafik, dan setiap satu membawa kos yang berbeza.
| 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 |
Eksit kongsi tidak neutral. Apa-apa lagi yang berjalan dari alamat itu mendarat dalam baldi reputasi yang sama, dan alamat yang sudah dibakar oleh penyewa lain gagal sebelum permintaan pertama anda dibaca.
Pilih eksit yang boleh anda terangkan dalam dasar
Soalan yang berguna bukan bagaimana menyembunyikan alamat tetapi siapa yang bertanggungjawab atas trafik yang keluar daripadanya. Eksit awan anda sendiri bagi setiap tugas, penyedia berkontrak dengan perjanjian pemprosesan data dan penyimpanan yang diterbitkan, dan VPN yang dihoskan sendiri dengan satu identiti bagi setiap tugas semuanya boleh diterangkan dalam satu ayat. Senarai percuma tidak, kerana pengendalinya tidak mempunyai kewajipan kepada anda dan mempunyai setiap insentif untuk merekod.
Kekalkan had kadar anda sendiri di bawah apa yang ditoleransi sasaran, dan kumpulkan hanya medan yang diperlukan tugas, supaya kesilapan kekal kecil. Berputar lebih pantas untuk melepaskan blok biasanya menaikkan kadar permintaan yang menyebabkannya.
Tulis eksit yang dipilih, tetingkap putarannya dan pemiliknya ke dalam konfigurasi kerja sebelum larian pertama. Apabila blok datang, nota itulah yang memberitahu anda sama ada hendak menukar eksit atau menukar tingkah laku.