Ketika halaman uji WebRTC mencetak 172.20.4.15, halaman itu telah mengetahui bahwa ada antarmuka lokal di jaringan tersebut. Itu pengungkapan yang nyata, dan bukan temuan yang sama dengan «media keluar lewat pintu keluar VPN». Penemuan kandidat dan perutean paket adalah mekanisme terpisah, dan sebagian besar laporan kebocoran menggabungkannya menjadi satu putusan. Yang mana sedang Anda lihat itulah yang menentukan perbaikannya.

Pengumpulan berjalan sebelum apa pun dikirim

Peramban menyebutkan antarmuka lokal, mengirim permintaan pengikatan ke server STUN dan meminta alokasi ke server TURN, lalu menulis hasilnya ke deskripsi sesi sebagai baris kandidat. Semuanya selesai tanpa panggilan, tanpa media, dan tanpa lawan bicara. Jadi daftar kandidat adalah catatan penemuan, bukan pengangkutan.

Peramban modern dapat mengganti alamat literal kandidat host dengan nama mDNS .local, sehingga halaman tidak bisa membaca IP privat. Jaringan lokal tetap melihat kueri multicast yang menyelesaikan nama itu, jadi alamat disembunyikan dari aplikasi, bukan dihapus dari jaringan.

Urutan juga penting: pemuatan halaman baru mengumpulkan kumpulan baru, dengan alokasi TURN berbeda dan mungkin pemetaan reflektif berbeda. Dua eksekusi yang berbeda tidak selalu berarti dua konfigurasi berbeda.

Tiga jenis kandidat, tiga jenis bukti

Setiap baris berasal dari pengamatan berbeda. Setiap jenis menjawab pertanyaan berbeda, dan tabel memisahkannya menurut apa yang dapat dan tidak dapat dibuktikan.

CandidateDerived fromWhat it establishesWhat it cannot establish
HostAn interface on the deviceA local address exists in that networkThat the peer can reach it
Server-reflexiveA STUN binding responseHow a NAT mapped this sourceWhich exit the media will use
Peer-reflexiveA connectivity check that arrivedAn address seen by the far sideThat it was ever advertised
RelayA TURN allocationThe relay server accepted the sessionThat the relay carries the call

Kandidat relay sering keliru dianggap sebagai alamat internet pengguna. Kandidat itu milik server TURN, dan keberadaannya menunjukkan bahwa sebuah relay tersedia, bukan bahwa peramban memilihnya. Kekeliruan yang sama berjalan ke arah sebaliknya pada kandidat host, di mana nama mDNS menyembunyikan alamat dari halaman sementara jaringan tetap mengangkut kueri. Baca jenisnya sebelum membaca nilainya.

Pasangan terpilih menjawab pertanyaan perutean

ICE memasangkan setiap kandidat lokal dengan setiap kandidat jarak jauh, menjalankan pemeriksaan konektivitas pada tiap pasangan, dan menominasikan pemenang. Pasangan yang dinominasikan itu, terlihat di diagnostik peramban sendiri, mengangkut media. Semua hal lain dalam daftar adalah kemungkinan yang kalah.

Pemenang memberi tahu bentuk jalurnya. Relay ke relay melewati server TURN, pasangan host tetap di jaringan lokal, dan pasangan reflektif-server langsung lewat NAT. Itulah fakta yang dibutuhkan pemeriksaan VPN, dan itu fakta yang berbeda dari daftar alamat. Dua panggilan dengan daftar kandidat identik bisa memakai pasangan berbeda.

Kandidat yang tidak terpilih tetap dikumpulkan, dan pengumpulan adalah lalu lintas jaringan yang keluar dari mesin. Panggilan yang akhirnya memakai relay bukan berarti tidak ada yang terungkap saat daftar dibangun.

Kontrol memetakan ke tujuan, bukan ke skor kebocoran

Spesifikasi penanganan IP WebRTC menjelaskan beberapa kebijakan: memakai hanya antarmuka yang membawa rute default, memakai semua antarmuka, dan menonaktifkan UDP tanpa proksi sehingga lalu lintas harus melewati relay atau proksi. Setiap kebijakan menukar konektivitas dan latensi dengan jenis paparan yang berbeda. Kebijakan mana yang diterapkan peramban, dan dengan nama apa, berbeda menurut platform dan versi.

Pilih kebijakannya dari tujuannya. Menyembunyikan alamat lokal dari halaman adalah satu tujuan; mencegah lalu lintas peer-to-peer langsung adalah tujuan lain; menahan setiap paket di dalam terowongan adalah tujuan ketiga. Yang pertama terutama soal apa yang diketahui aplikasi, yang kedua soal jalur mana yang diizinkan, dan yang ketiga harus ditegakkan juga di batas platform atau VPN.

Apa pun kontrol yang Anda pilih, verifikasi kedua belahnya: jalankan uji pengumpulan dan catat jenis kandidat, lalu periksa pasangan terpilih selama sesi nyata. Daftar alamat yang bersih dengan jalur media langsung tetap jalur yang tidak Anda maksudkan.

Artikel terkait