Sebagai penulis NetGuard, saya memiliki pengalaman langsung di bidang ini.
Kelemahan dari firewall berdasarkan VPN lokal adalah tidak semua jenis lalu lintas dapat ditangani, karena kernel (Android) Linux tidak memungkinkan meneruskan semua jenis lalu lintas melalui koneksi berbasis soket. Contohnya adalah IPsec, yang digunakan untuk panggilan IP oleh beberapa produsen. Solusi parsial (bukan untuk IPsec) adalah dengan menggunakan server VPN jarak jauh untuk meneruskan lalu lintas, tetapi ini adalah privasi yang tidak dapat diterima oleh banyak orang dan akan datang dengan kompleksitas tambahan dan mungkin juga dengan penggunaan baterai ekstra. Dalam praktiknya menangani lalu lintas TCP dan UDP tampaknya cukup untuk 99,9% pengguna NetGuard. Karena Android 5 dimungkinkan untuk mengecualikan aplikasi agar tidak dialihkan ke VPN (aplikasi pelaksana VPN memutuskan apakah ini wajib atau opsional), yang dapat digunakan untuk mengatasi masalah yang timbul karena tidak dapat meneruskan semua lalu lintas. Pilihan lain adalah mengecualikan alamat (rentang), yang digunakan NetGuard untuk 'memperbaiki' panggilan IP untuk beberapa produsen.
Kerugian lain adalah bahwa lalu lintas penerusan akan meningkatkan penggunaan baterai pada perangkat seluler, karena ini melibatkan beberapa pemrosesan, karena paket perlu diperiksa dan diteruskan. Menggunakan iptables, yang terintegrasi dalam kernel Linux, lebih efisien karena lebih ramah baterai.
Secara umum tampak bahwa Android merutekan semua lalu lintas ke VPN, bahkan lalu lintas aplikasi sistem dan komponen, tetapi produsen dapat memutuskan untuk mengecualikan jenis lalu lintas tertentu, mengurangi keamanan yang dapat dicapai oleh firewall berbasis VPN.
NetGuard tidak menganalisis data itu sendiri, kecuali permintaan DNS untuk memberikan pemblokiran iklan, tetapi jika itu dapat meningkatkan masalah privasi. Namun demikian, secara teknis terlihat ini adalah keuntungan dari firewall berbasis VPN (jika Anda masih ingin menyebutnya seperti itu), karena itu akan memungkinkan negara-penuh memeriksa aliran data di luar apa yang mungkin dengan iptables. Ini kemungkinan akan menjadi biaya penggunaan baterai, karena pemrosesan yang terlibat. Perhatikan bahwa itu akan memerlukan serangan MiT lokal untuk memeriksa aliran SSL.
Namun kelemahan lain adalah bahwa Android tidak mengizinkan chaining VPN, jadi menggunakan VPN lokal untuk mengimplementasikan firewall akan mencegah penggunaan layanan VPN nyata, kecuali jika firewall menyediakan layanan seperti itu sendiri atau sebagai alternatif mekanisme penerusan atau proxy ke VPN lain aplikasi.
Terakhir, firewall berbasis VPN bergantung pada aplikasi yang menyediakan layanan VPN firewall untuk dijalankan. Ini tampaknya sepele, tetapi tidak, karena beberapa versi / varian Android produsen terlalu agresif membunuh proses dalam kondisi memori rendah (IMHO itu adalah bug jika Android membunuh aplikasi yang menyediakan layanan VPN).
Akhirnya, rooting perangkat Android menjadi semakin sulit, meninggalkan firewall berbasis VPN sebagai satu-satunya pilihan bagi banyak orang. Saya tidak mengharapkan Google untuk menambahkan firewall berbasis sistem dalam waktu dekat, karena ini dapat mempengaruhi pendapatan iklan mereka secara signifikan. iOS memang memiliki firewall berbasis sistem.
Beri tahu saya jika ada pertanyaan dan saya akan mencoba menjawabnya.
Setahu saya, itulah pendekatannya:
Firewall berbasis root menggunakan IPFilter / iptables untuk mengontrol aliran. Ini secara otomatis berlaku untuk semua aplikasi, apakah ada koneksi jaringan yang tersedia atau tidak, apakah perutean bekerja sepenuhnya atau tidak sama sekali, atau apakah Anda berada di "lingkungan tertutup" (Intranet) tanpa akses ke "dunia luar" "(Internet). Aplikasi yang Anda blokir diblokir. Pada level yang cukup rendah.
Firewall non-root tidak memiliki akses ke level rendah itu, sehingga mereka harus menggunakan work-arounds. Dalam kebanyakan kasus ini dilakukan menggunakan fasilitas VPN Android . Bergantung pada implementasinya, ini bisa berfungsi sepenuhnya pada perangkat (mis. Lagi terlepas dari koneksi jaringan apa yang mungkin tersedia), atau melalui "layanan eksternal" (menghubungkan Anda ke VPN penyedia aplikasi). Dalam kasus terakhir, banyak hal akan pecah segera setelah layanan itu berhenti tersedia - fakta yang mungkin Anda perhatikan atau tidak. Dalam kedua kasus, saya tidak yakin apakah benar-benar semua aplikasi menghormati VPN atau jika ada jalan keluar. 1 Fakta buruk lainnya tentang VPN yang saya baca adalah pemberitahuan permanen yang mengganggu, yang mengatakan, "Jaringan Anda mungkin dimonitor"- tetapi AFAIK yang seharusnya hanya muncul jika aplikasi tersebut membutuhkan sertifikatnya sendiri diinstal. 2
Putusan: Saya pribadi akan lebih mempercayai solusi berbasis root. Tetapi di mana rooting bukan opsi, solusi non-root seharusnya hampir sama baiknya. Dalam hal ini, rekomendasi saya akan menuju solusi open-source seperti NetGuard (pengembangnya juga membuat Xprivacy dan dipercaya). Omong-omong: Untuk perincian lebih lanjut, lihat pengantar XDA NetGuard , yang menjelaskan latar belakang dengan beberapa perincian lebih lanjut.
1 Saya tidak terbiasa dengan detail teknis di balik implementasi VPN Android, tetapi mengutip WhiteWinterWolf (lihat komentar di bawah), terserah sistem basis Android untuk menegakkan ini, tidak ada alasan untuk berpikir ini tidak dilakukan dengan benar.
2 Lagi mengutip WhiteWinterWolf: yang API VPN digunakan oleh NetGuard memungkinkan semua data yang akan dicegat oleh aplikasi unprivileged, ini adalah apa yang efektif Android anggap sebagai "monitoring", itu tidak ada kaitannya dengan sertifikat apapun dan peringatan ini merupakan konsekuensi yang tidak dapat dihindari dan diharapkan menggunakan API ini.
sumber
Saya pikir fitur penting yang perlu diperhatikan tentang Netguard adalah kemampuan untuk memfilter alamat tertentu berdasarkan per aplikasi. Ini adalah opsi berbayar.
Saya tidak bisa mengatakan VPN berbasis sertifikat vs iptables. Itu kemungkinan akan tergantung pada versi kernel dan android Anda untuk iptables dan untuk NetGuard, algoritma yang digunakan untuk mengenkripsi data, apakah itu sedang dicatat dan di mana disimpan. Jawaban saya mungkin tidak se-teknis apa yang Anda cari dan selama pengguna AFWall + (versi donasi), saya pasti bias terhadapnya. Namun, saya tahu bahwa pengembang NetGuard juga secara aktif memelihara XPrivacy, manajer privasi Android yang sangat terkenal / tepercaya dan tangguh. AFWall + belum ditinggalkan sama sekali, tetapi jelas belum menerima pembaruan baru-baru ini seperti yang NetGuard miliki. Mereka berdua menggunakan metode yang berbeda untuk mempertahankan kontrol lalu lintas, tetapi pada akhirnya, saya pikir sebagian besar tergantung pada pengguna seberapa aman setiap bagian dari perangkat mereka.
sumber