Threat Model

Risiko Pelayan Proksi Awam dan Cara Hidup Dengannya

3 min read Published Updated 510 words

Anggap setiap proksi percuma sebagai infrastruktur yang tidak dipercayai, kerana itulah hakikatnya. Pengendali adalah tanpa nama, model pembiayaan tidak jelas, dan soket yang sama mungkin berputar melalui botnet, penghala rumah yang terjejas, dan honeypot penyelidik dalam seminggu. Tiada satu pun daripada itu menjadikan proksi percuma tidak boleh digunakan — ia menjadikan satu set kecil tabiat sebagai tidak boleh dirunding.

Serangan Biasa

Ancaman-ancaman itu tidak dramatik. Ia adalah jenis yang membosankan yang berjaya kerana kebanyakan pengguna tidak bersusah payah untuk mempertahankan diri daripada mereka.

Kecurian kredensial pada HTTP teks biasa. Jika anda log masuk ke mana-mana melalui http:// melalui proksi yang tidak diketahui, pengendali melihat kata laluan. Sentiasa tunnel TLS melalui CONNECT atau gunakan SOCKS ke destinasi yang sendiri menguatkuasakan HTTPS. Aliran log masuk moden adalah hanya HTTPS di laman utama, tetapi intranet warisan, halaman admin IoT, dan penggunaan CMS lama tidak.

Suntikan pengepala dan kandungan. Proksi HTTP yang bermusuhan boleh menulis semula bahagian sewenang-wenang permintaan anda: menukar kuki, menukar perujuk, menyuntik parameter penjejakan, atau menanggalkan pengepala cache. Proksi yang sama boleh menyuntik kandungan ke dalam respons — skrip ke dalam HTML, ubah hala ke dalam JSON, iklan ke dalam halaman statik. Jika anda membaca respons pihak pelayan melalui proksi, anggap ia terjejas sehingga anda dapat mengesahkan integriti dari laluan yang dipercayai.

Rampasan DNS melalui SOCKS5. SOCKS5 boleh menyelesaikan nama hos di proksi. Jika proksi berbohong tentang rekod DNS, anda bersambung ke pelayan yang dikawal oleh pengendali. Tetapkan klien anda untuk menyelesaikan secara tempatan jika boleh: curl --resolve example.com:443:93.184.216.34, atau dalam kod, hantar IP dan bukannya nama hos.

Log trafik. Malah proksi yang berniat baik mungkin log setiap URL yang anda ambil. Untuk model ancaman yang merangkumi "URL apa yang diminta oleh orang ini," setiap proksi awam adalah alat yang salah. Gunakan Tor atau VPN berbayar dengan dasar tanpa log yang diterbitkan dan rekod subpoena yang dipertikaikan.

Kehabisan sumber terhadap klien. Sesetengah proksi sengaja mengehadkan sambungan hingga perlahan, mengembalikan respons yang sangat besar, atau memegang soket terbuka tanpa menghantar data. Tetapkan had saiz respons yang ketat dan tamat masa sambungan di sisi klien anda.

Pertahanan, Mengikut Keutamaan

Hantar segala-galanya di dalam TLS melalui CONNECT atau ke destinasi HTTPS melalui SOCKS. Jangan sekali-kali menggunakan semula kredensial di belakang proksi awam yang akan anda gunakan semula di tempat lain. Sahkan sijil dengan ketat — menyematkan penerbit adalah berlebihan untuk penggunaan biasa, tetapi menerima mana-mana rantaian adalah melulu. Tetapkan tamat masa yang pendek pada sambungan dan baca. Log respons proksi untuk semakan forensik apabila beban kerja penting. Putar dengan kerap; proksi yang berfungsi lima minit lalu belum tentu proksi yang sama sekarang.

Untuk Apa Proksi Percuma Sebenarnya Berguna

Tiga kategori kerja mewajarkan bunyi bising. Menguji variasi kandungan geografi: adakah CDN anda menyampaikan halaman yang betul dari Frankfurt berbanding São Paulo? Mengikis data awam yang tidak diautentikasi: hasil enjin carian, API awam tanpa had kadar setiap IP, kandungan yang sudah diindeks di tempat lain. Mengesahkan bahawa aplikasi anda berkelakuan dengan betul apabila IP keluarannya tidak biasa kepada sasaran — berguna untuk QA pada sistem dengan heuristik penipuan berasaskan IP.

Gunakannya untuk itu. Terima kadar kegagalan. Jangan letakkan apa-apa yang anda keberatan kehilangan di belakang satu.