Rotasi proxy dan VPN mengubah alamat publik Anda pada lapisan yang berbeda, dan perbedaan itulah yang menentukan apa yang bocor. VPN memindahkan setiap paket ke dalam terowongan, jadi alamat sumber yang dilihat target adalah titik akhir terowongan. Proxy berada di atas lapisan jaringan: hanya permintaan yang Anda kirim melaluinya yang muncul dari eksit, sementara semua yang lain di mesin tetap memakai alamat asli. Menemukan pembagian itu dengan benar mengubah rotasi dari kotak centang menjadi keputusan desain.

Dari mana alamat publik sebenarnya berasal

Alamat yang dilihat target adalah alamat terakhir tempat lalu lintas Anda keluar, dan pada koneksi rumah itu alamat penyedia di router Anda, bukan sesuatu yang dimiliki mesin. Menyalakan ulang router bisa mengembalikan sewa yang sama, dan mengubah alamat MAC-nya kadang menghasilkan yang baru, tetapi keduanya tidak memberi Anda pemilih negara. VPN mengganti alamat sumber di lapisan IP, jadi setiap paket dari mesin, termasuk DNS dan pembaruan latar belakang, keluar dari titik akhir terowongan. Proxy bekerja satu lapisan lebih tinggi: ia menerima permintaan, membuka koneksinya sendiri ke target, dan hanya permintaan itu yang muncul dari eksit. Semua yang lain di mesin tetap memakai alamat asli.

Pembagian itu menjelaskan sebagian besar kejutan. Ekstensi peramban yang diarahkan ke proxy hanya mengubah apa yang dikirim peramban dan tidak yang lain, jadi aplikasi kedua di host yang sama masih membocorkan alamat asli. VPN seluruh sistem memiliki mode kegagalan yang berlawanan: ia menutupi lalu lintas yang ingin Anda pertahankan lokal dan hanya gagal tertutup jika klien dikonfigurasi begitu. Memilih di antara keduanya sebenarnya memilih lalu lintas mana yang harus bergerak.

Rotasi lalu berlaku pada lapisan yang Anda pilih. Dengan proxy, rotasi berarti permintaan berikutnya memakai eksit berbeda. Dengan VPN, itu berarti membongkar dan membangun ulang terowongan, yang lebih lambat dan tampak sebagai penyambungan ulang yang terlihat.

Apa yang bisa dibaca proxy HTTP, dan apa yang tidak

Pada HTTP biasa proxy melihat URI absolut di baris permintaan, setiap header dan isi. Ia bisa mencatat semuanya dan menulis ulang bagian mana pun, itulah sebabnya proxy gratis yang menyuntikkan skrip ke respons melakukan tepat apa yang diizinkan protokol. Autentikasi memakai Proxy-Authorization, dan kredensial yang hilang atau salah menghasilkan 407 Proxy Authentication Required alih-alih galat koneksi.

Pada HTTPS klien mengirim CONNECT host:port dan proxy membuka terowongan mentah, setelah itu ia melihat byte terenkripsi. Ia masih mempelajari nama host dari baris CONNECT dan biasanya dari bidang SNI dalam jabat tangan TLS, jadi pencatatan pada tingkat nama host bertahan meskipun muatannya tidak. Membaca muatan memerlukan penghentian TLS dengan sertifikat yang dipercaya klien, yang merupakan produk lain dengan risiko lain. Spesifikasi semantik HTTP mendefinisikan CONNECT sebagai permintaan terowongan, yang merupakan model mental yang tepat untuk apa yang bisa dan tidak bisa dilihat eksit.

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

Keluaran rinci menunjukkan baris CONNECT sebelum lalu lintas TLS apa pun, dan itulah saat proxy mempelajari tujuan Anda. Proxy yang menjawab dengan 407 tidak pernah membuka terowongan, jadi mencoba lagi dengan pengaturan TLS lain tidak akan membantu.

Granularitas rotasi menentukan apa yang rusak

Merotasi pada setiap permintaan adalah pengaturan yang tampak paling aman dan paling banyak merusak. Cookie, token CSRF, dan sesi sisi server terikat pada identitas, dan identitas yang berubah antara login dan panggilan berikutnya tampak seperti pembajakan sesi bagi target. Banyak penyedia menawarkan sesi lengket dengan mengodekannya di nama pengguna proxy, sehingga eksit tetap untuk jendela yang dipilih.

Pilih granularitas dari tugas, bukan dari default penyedia. Perayap yang mengambil halaman independen dapat merotasi per permintaan, sedangkan alur pembayaran atau API terautentikasi harus menahan satu eksit sepanjang alur. Dua panggilan di bawah menunjukkan nama pengguna lengket dan titik akhir berotasi biasa, dan socks5h skema menyelesaikan nama di proxy alih-alih secara 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

DNS lokal adalah kebocoran senyap. Jika klien menyelesaikan nama sebelum terhubung, resolver tetap mempelajari setiap host yang Anda kunjungi meskipun permintaan HTTP keluar di tempat lain. Bentuk socks5h dan penyelesaian sisi proxy menghindari itu, dan menggunakannya tidak memakan biaya.

Apa yang diklasifikasikan target selain alamat

Reputasi alamat adalah satu masukan di antara beberapa. Target menggabungkan ASN dan label pusat data atau residensialnya, sidik jari TLS klien, pengaturan HTTP/2, urutan header, laju permintaan, dan bentuk navigasi. Eksit residensial yang digerakkan peramban tanpa kepala bisa gagal di tempat eksit pusat data yang digerakkan sesi nyata lolos.

Jenis eksit menentukan apa yang bisa Anda klaim dengan jujur tentang lalu lintas, dan masing-masing membawa biaya berbeda.

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

Eksit bersama tidak netral. Apa pun yang berjalan dari alamat itu masuk ke keranjang reputasi yang sama, dan alamat yang sudah dibakar penyewa lain gagal sebelum permintaan pertama Anda dibaca.

Pilih eksit yang bisa Anda jelaskan dalam kebijakan

Pertanyaan yang berguna bukan bagaimana menyembunyikan alamat, melainkan siapa yang bertanggung jawab atas lalu lintas yang keluar darinya. Eksit cloud Anda sendiri per tugas, penyedia terikat kontrak dengan perjanjian pemrosesan data dan retensi yang diterbitkan, dan VPN yang dihosting sendiri dengan satu identitas per tugas semuanya dapat dijelaskan dalam satu kalimat. Daftar gratis tidak, karena operatornya tidak punya kewajiban kepada Anda dan punya segala insentif untuk mencatat.

Jaga batas laju Anda sendiri di bawah apa yang ditoleransi target, dan kumpulkan hanya bidang yang dibutuhkan tugas, agar kesalahan tetap kecil. Merotasi lebih cepat untuk lolos dari blokir biasanya menaikkan laju permintaan yang menyebabkannya.

Tulis eksit yang dipilih, jendela rotasinya, dan pemiliknya ke dalam konfigurasi pekerjaan sebelum eksekusi pertama. Saat blokir datang, catatan itulah yang memberi tahu Anda apakah harus mengganti eksit atau mengubah perilaku.

Artikel terkait