Anda mempunyai satu ayat dasar: aplikasi ini boleh mencapai perkhidmatan kerja, dan tiada yang lain. Soalan seterusnya kelihatan seperti pilihan produk, tetapi ia soalan tempat, kerana setiap titik penguatkuasaan yang mungkin melihat bahagian berbeza trafik telefon. Get laluan hanya melihat apa yang masuk ke terowong. Penapis di sebelah telefon hanya melihat apa yang dibenarkan untuk diperhatikannya. Menjalankan satu permintaan melalui kedua-duanya menjadikan jawapannya jelas.

Mulakan dengan ayat, bukan produk

Kembangkan keperluan sebelum memilih apa-apa. Itu bermaksud pakej dan profil tempat ia berjalan, kerana aplikasi dalam profil kerja ialah pengguna berbeza daripada aplikasi yang sama dalam profil peribadi. Itu bermaksud destinasi: hos, port dan protokol, bukan nama perkhidmatan. Itu bermaksud laluan DNS yang menyelesaikan nama itu, dan itu bermaksud apa yang patut berlaku apabila terowong tidak tersedia.

Secara bertulis, dasar bagi contoh itu empat baris: aplikasi kerja boleh mencapai perkhidmatan kerja; aplikasi kerja tidak boleh mencapai apa-apa yang lain; aplikasi lain kekal tidak berubah; tanpa terowong, aplikasi kerja ditolak dan bukannya jatuh ke laluan langsung. Setiap baris mempunyai pemilik, dan bukan semuanya pemilik yang sama.

Langkah 1: apa yang boleh dikuatkuasakan telefon sendiri

Firewall Android tanpa root ialah VpnService yang menangkap trafik secara setempat, walaupun tiada terowong jauh di belakangnya. Android membenarkan satu perkhidmatan VPN aktif bagi setiap profil pengguna, jadi aplikasi firewall kedua tidak berantai di belakang yang pertama. Ia menggantikannya, dan antara muka yang ditapis oleh aplikasi pertama hilang.

Itulah sebabnya memasang firewall di sebelah klien VPN jarang menghasilkan gabungan yang dijangka orang. Jika firewall bermula dan VPN terputus, tiada apa yang digabungkan; kedua-duanya bertukar tempat. Penggantian antara muka bukan kerjasama, dan gejalanya ialah terowong yang terus jatuh setiap kali aplikasi lain dibuka.

Susunan yang disokong memang wujud: penapisan terbina dalam klien VPN yang anda sudah jalankan, kawalan platform terurus melalui pengawal dasar peranti atau profil kerja, atau seni bina yang didokumenkan vendor. Apa-apa yang lain ialah eksperimen yang mesti disahkan semula selepas setiap kemas kini aplikasi.

Langkah 2: apa yang boleh dikuatkuasakan get laluan

Sebaik sahaja trafik dinyahsulit di hujung jauh, get laluan boleh mengehadkan paket yang diteruskan kepada alamat, perkhidmatan atau identiti VPN yang disahkan. Itu penguatkuasaan sebenar bagi semua yang keluar melaluinya, dan itulah tempat yang betul untuk mengehadkan akses ke subrangkaian persendirian.

Apa yang tidak diterimanya ialah identiti aplikasi telefon yang dilampirkan pada setiap paket IP biasa. Beberapa aplikasi yang berkongsi satu alamat terowong ialah satu subjek kepada get laluan, melainkan reka bentuk memberi mereka alamat berasingan atau identiti disahkan berasingan. Oleh itu peraturan setiap pengguna di get laluan bukan peraturan setiap aplikasi di telefon, apa pun nama yang diberikan oleh konsol pengurusan.

Langkah 3: senaraikan apa yang tidak pernah tiba

Aplikasi yang dikecualikan daripada VPN yang menghubungi peranti berdekatan tidak pernah sampai ke get laluan, jadi firewall keluar tidak boleh menolak paket yang tidak pernah diterimanya. Perkara yang sama berlaku untuk laluan langsung yang tidak disengajakan semasa gangguan dan pendedahan masuk pada rangkaian akses setempat. Itu sempadan setempat mengikut takrifan.

Sebaliknya juga benar: peraturan setempat yang membenarkan sambungan tidak memberikan akses melalui ACL rangkaian persendirian get laluan. Satu permintaan boleh tertakluk kepada kedua-dua sempadan, dan memenuhi satu tidak berkata apa-apa tentang yang lain.

Langkah 4: tetapkan setiap peraturan kepada laluan

Letakkan keputusan dalam jadual sebelum mengkonfigurasi apa-apa, kerana sel kosong ialah tempat reka bentuk gagal.

LaluanSiapa boleh menguatkuasakannyaTitik buta
Aplikasi kerja ke perkhidmatan kerja, terowong hidupACL get laluan pada alamat dan perkhidmatan, serta sekatan setempat pada laluan lainGet laluan tidak dapat melihat aplikasi mana yang menghantar paket
Aplikasi kerja ke destinasi lain, terowong hidupPenapis setempat yang peka aplikasi, atau get laluan jika destinasi itu dialamatkan di sanaPenapis setempat mesti VpnService yang aktif
Aplikasi kerja tanpa terowongPenolakan setempat, supaya aplikasi tidak boleh mengambil laluan langsungMemerlukan penapis bertahan apabila terowong hilang
Peranti LAN berdekatanHanya dasar setempatGet laluan tidak pernah melihatnya

Bentuk yang berfungsi ialah dua sempadan dengan dua tugasan. Sempadan setempat yang peka aplikasi mengawal tingkah laku telefon, termasuk jatuh terus, dan sempadan get laluan mengawal sumber jauh. Bahagian get laluan boleh membenarkan perkhidmatan kerja dan menolak setiap subrangkaian persendirian yang lain, manakala dasar di sebelah telefon memutuskan sendiri tentang laluan langsung yang mungkin diambil oleh aplikasi.

Langkah 5: kekalkan pengangkutan hidup, kemudian sahkan

Walau apa pun dasar setempat yang anda pilih, ia mesti membenarkan pengangkutan yang membina dan mengekalkan VPN. Menyekat pengangkutan itu membiarkan telefon tanpa terowong dan tanpa dasar, yang tidak menguatkuasakan apa-apa secara konsisten dan sukar didiagnosis, kerana aplikasi itu langsung tiada rangkaian.

Kemudian sahkan setiap baris ayat asal dan bukan tanggapan keseluruhan: aplikasi kerja mencapai perkhidmatan kerja, aplikasi yang sama ditolak di destinasi lain, aplikasi yang bukan kerja berkelakuan seperti sebelum ini, dan dengan terowong dihentikan aplikasi kerja tidak jatuh ke sambungan langsung. Periksa laluan DNS secara berasingan, kerana DNS persendirian atau penyelesai disulitkan boleh memintas penapis yang hanya memeriksa alamat.

Jika salah satu langkah itu tidak dapat dipenuhi pada telefon, keperluan itu ialah soalan seni bina dan bukan tetapan firewall. Membahagikan dasar antara peranti yang anda kawal dan get laluan yang anda kawal biasanya jawapan yang jujur, dan dokumentasi kesambungan VPN Android ialah tempat untuk mengesahkan apa yang akan dan tidak akan dibenarkan oleh platform kepada satu perkhidmatan.

Artikel berkaitan