Tunnel terpisah: mengapa tautan terbuka di luar VPN yang Anda atur
Perutean mengikuti proses yang membuka soket, bukan aplikasi yang menunjukkan tautan kepada Anda. Buktikan program mana yang terhubung sebelum memperluas pengecualian Anda.
Meneruskan aplikasi lewat tunnel tidak membawa peruteannya ke semua yang diluncurkan aplikasi itu, meski antarmuka menyarankan sebaliknya. Tautan menyerahkan permintaan ke program lain, program itu membuka soketnya sendiri, dan platform menerapkan aturan pada proses baru, bukan pada proses yang menampilkan teks. Proses kedua itulah yang sebenarnya dilihat kebijakan tunnel, dan bukan proses yang Anda konfigurasi.
Aplikasi yang disertakan karena itu bisa membuka peramban yang berada di luar tunnel. Peramban yang dikecualikan bisa mengembalikan pekerjaan ke aplikasi yang berada di dalamnya. Kedua arah kejutan itu adalah perilaku biasa.
Bagian alur kerja yang tidak dikonfigurasi siapa pun
Kebijakan per aplikasi ditulis terhadap identitas berkas yang dapat dieksekusi atau paket, dan setiap koneksi dievaluasi pada saat dibuat. Peramban, penampil dokumen, pemutar media, dan lembar berbagi sistem masing-masing membawa identitasnya sendiri, dan masing-masing mendapat putusannya sendiri. Tautan mendalam membawa data, bukan kebijakan.
Itu sebabnya pengamatan terasa sewenang-wenang: klik yang sama dirutekan dua arah tergantung penangan mana yang menjawabnya. Klien surel di dalam tunnel membuka tautan di peramban yang hidup di luar tunnel, dan halaman dimuat dari alamat rumah Anda. Peramban di luar tunnel membuka dokumen di penampil yang hidup di dalamnya, dan berkas tiba lewat jalur keluar. Tak satu pun dari kedua hasil itu cacat pada klien.
Penangan yang sudah berjalan memperburuknya. Jika peramban sudah terbuka, tautan menjadi pesan ke proses yang sudah ada, dan proses itu mempertahankan perutean yang dimilikinya saat mulai. Menutup dan membuka kembali penangan mengubah hasilnya, dan itulah sebabnya masalahnya tidak pernah terulang saat diminta.
| Platform | Policy object | What it is evaluated against |
|---|---|---|
| Android | Per-app VPN allowlist | Package name of the process opening the socket |
| Windows | Application traffic filters | Application path in the filter rule |
| Linux | UID or cgroup routing rules | Owner of the socket, which can be a different program |
Proses mana yang benar-benar membuat koneksi
Ukur sisi penerima alih-alih menalar tentangnya. Biarkan tunnel tetap aktif, klik tautan yang tidak berbahaya, dan lihat soket yang dipegang program baru.
ss -tnp state established '( dport = :443 )' Get-NetTCPConnection -State Established | Select-Object RemoteAddress,OwningProcess
Perintah pertama menyebut proses di balik setiap soket mapan di Linux, dan perintah kedua melakukan hal yang sama di Windows dengan menyelesaikan pengenal proses pemiliknya. Bandingkan nama proses dengan nama di kebijakan Anda. Jika namanya peramban dan peramban dikecualikan, klik itu keluar dari tunnel karena desain, bukan karena kesalahan. Memasangkan aturan kebijakan dengan soket yang hidup adalah keseluruhan metodenya.
Ulangi pemeriksaan dengan penangan yang sudah berjalan, lalu dengan penangan tertutup. Kedua hasil bisa berbeda, dan perbedaan itulah yang menjelaskan sebagian besar laporan berkala tentang tautan yang lolos dari tunnel.
Cakupan adalah sifat alur kerja
Jika suatu tugas harus tetap di dalam tunnel dari awal sampai akhir, setiap komponen yang bisa dijangkau harus berada di dalam kebijakan: peluncur, penangan, penampil, dan perantara apa pun yang disisipkan platform di antara mereka. Cakupan yang lebih luas sering menjadi jawaban jujur, dan lebih murah daripada mengaudit setiap target berbagi.
Mengecualikan perantara sistem untuk memperbaiki satu aplikasi adalah kesalahan umum. Perantara dibagi bersama, jadi pengecualian mengikuti setiap aplikasi lain yang memakai jalur yang sama, biasanya tanpa ada yang menyadarinya sampai laporan datang berminggu-minggu kemudian. Baca apa lagi yang bergantung pada komponen itu sebelum mengecualikannya.
Jaga identitas tetap terpisah dari perutean. Tautan bisa membawa token sesi atau pengenal akun, terlepas dari jalur keluar mana yang menerima permintaan. Klik yang dirutekan dengan benar tetap bisa memberi tahu tujuan dengan tepat siapa yang mengikutinya.
Dokumentasikan alur kerja, bukan kotak centang pertama. Ketika tugas mencakup empat program, diagram dengan empat program itulah yang memprediksi ke mana lalu lintas pergi, dan pengaturan satu aplikasi hanya satu baris darinya.