Jako autor NetGuard mam doświadczenie z pierwszej ręki w tej dziedzinie.
Wadą zapory opartej na lokalnej sieci VPN jest to, że nie wszystkie typy ruchu mogą być obsługiwane, ponieważ jądro Linuxa (Android) nie pozwala na przekazywanie wszystkich typów ruchu przez połączenie oparte na gniazdach. Przykładem jest protokół IPsec, który jest wykorzystywany przez niektórych producentów do połączeń IP. Częściowym (nie dla IPsec) rozwiązaniem tego problemu byłoby użycie zdalnego serwera VPN do przekazywania ruchu, ale jest to prywatnie niedopuszczalne dla wielu osób i wymagałoby dodatkowej złożoności, a także prawdopodobnie dodatkowego zużycia baterii. W praktyce obsługa ruchu TCP i UDP wydaje się wystarczająca dla 99,9% użytkowników NetGuard. Od systemu Android 5 można wykluczyć routing aplikacji do sieci VPN (aplikacja wdrażająca VPN decyduje, czy jest to obowiązkowe czy opcjonalne), które można wykorzystać do rozwiązania problemów wynikających z niemożności przekazania całego ruchu. Inną opcją jest wykluczenie adresu (zakresów), którego NetGuard używa do „naprawy” połączeń IP u niektórych producentów.
Kolejną wadą jest to, że ruch związany z przekazywaniem zwiększy zużycie baterii na urządzeniach mobilnych, ponieważ wiąże się to z pewnym przetwarzaniem, ponieważ pakiety muszą być sprawdzane i przekazywane. Korzystanie z iptables, które jest zintegrowane z jądrem Linuksa, jest bardziej wydajne, a zatem bardziej przyjazne dla baterii.
Zasadniczo okazało się, że Android kieruje cały ruch do VPN, nawet ruch aplikacji i komponentów systemowych, ale producent może zdecydować o wykluczeniu niektórych rodzajów ruchu, zmniejszając bezpieczeństwo, które można osiągnąć za pomocą zapory sieciowej opartej na VPN.
NetGuard nie analizuje samych danych, z wyjątkiem żądań DNS w celu zapewnienia blokowania reklam, ale gdyby to zrobił, mogłoby to budzić obawy dotyczące prywatności. Niemniej jednak technicznie widać, że jest to zaleta zapory sieciowej opartej na sieci VPN (jeśli nadal chcesz ją tak nazwać), ponieważ pozwoliłaby na pełną kontrolę strumieni danych poza stanem możliwym w przypadku iptables. Byłoby to prawdopodobnie kosztem użytkowania baterii, ze względu na związane z tym przetwarzanie. Pamiętaj, że do sprawdzenia strumieni SSL wymagany byłby lokalny atak MiT.
Jeszcze inną wadą jest to, że Android nie pozwala na łączenie sieci VPN, więc użycie lokalnej sieci VPN do wdrożenia zapory sieciowej uniemożliwi korzystanie z prawdziwej usługi VPN, chyba że zapora sieciowa sama zapewnia taką usługę lub alternatywnie mechanizm przekazywania lub proxy do innej sieci VPN podanie.
Wreszcie zapora sieciowa oparta na sieci VPN zależy od aplikacji udostępniającej zaporę VPN. Wydaje się to trywialne, ale nie jest, ponieważ niektóre wersje / warianty Androida niektórych producentów zbyt agresywnie zabijają procesy w warunkach niskiej pamięci (IMHO jest błędem, jeśli Android zabija aplikacje świadczące usługę VPN).
Wreszcie, rootowanie urządzeń z Androidem staje się coraz trudniejsze, dlatego zapora sieciowa VPN jest jedynym wyborem dla wielu osób. Nie oczekuję, że Google w najbliższym czasie doda zaporę systemową, ponieważ może to znacząco wpłynąć na ich przychody z reklam. iOS ma zaporę systemową.
Daj mi znać, jeśli będą jakieś pytania, a ja postaram się na nie odpowiedzieć.
Według mojej wiedzy jest to podejście:
Zapory ogniowe wykorzystują IPFilter / iptables do kontrolowania przepływu. Odnosi się to automatycznie do wszystkich aplikacji, niezależnie od tego, czy połączenie sieciowe jest w ogóle dostępne, czy nie, czy routing działa całkowicie, czy nie, albo czy znajdujesz się w „zamkniętym środowisku” (Intranet) bez dostępu do „zewnętrznego świata” „(Internet). Aplikacje, które zablokowałeś, są zablokowane. Na dość niskim poziomie.
Zapory użytkownika innego niż root nie mają dostępu do tego niskiego poziomu, dlatego muszą korzystać z obejść. W większości przypadków odbywa się to za pomocą urządzeń VPN systemu Android . W zależności od implementacji działa to całkowicie na urządzeniu (tj. Ponownie niezależnie od tego, jakie połączenie sieciowe może być dostępne) lub za pośrednictwem „usług zewnętrznych” (łączących cię z VPN dostawcy aplikacji). W tym drugim przypadku wszystko się psuje, gdy tylko ta usługa przestanie być dostępna - fakt, który możesz zauważyć lub nie. W obu przypadkach nie jestem pewien, czy tak naprawdę wszystkie aplikacje honorują VPN, czy też istnieją jakieś sposoby. 1 Kolejnym nieprzyjemnym faktem związanym z VPNami, o których czytałem, jest irytujące stałe powiadomienie, które mówi: „Twoja sieć może być monitorowana”- ale AFAIK, który powinien pojawić się tylko wtedy, gdy aplikacja wymaga zainstalowanego własnego certyfikatu. 2)
Werdykt: Osobiście bardziej ufam rozwiązaniu opartemu na rootowaniu. Ale tam gdzie rootowanie nie jest możliwe, rozwiązania inne niż root powinny być prawie tak samo dobre. W takim przypadku moja rekomendacja dotyczyłaby rozwiązań typu open source, takich jak NetGuard (jego twórca również stworzył Xprivacy i cieszy się dużym zaufaniem). Mówiąc o tym: Aby uzyskać więcej informacji, zapoznaj się z wprowadzeniem NetGuard na XDA , który wyjaśnia tło z kilkoma szczegółami.
1 Nie znam szczegółów technicznych związanych z implementacją VPN Androida, ale cytując WhiteWinterWolf (patrz komentarz poniżej), to system podstawowy Androida musi to wymusić, nie ma powodu, aby sądzić, że nie jest to zrobione poprawnie.
2 Ponownie powołując WhiteWinterWolf: API VPN wykorzystywane przez NetGuard pozwala wszystkie dane mają być przechwytywane przez nieuprzywilejowany aplikacji, to co Android skutecznie uznać za „monitorowanie”, to nie ma związku z żadnym certyfikacie i to ostrzeżenie jest nieunikniona i spodziewane konsekwencją za pomocą tego interfejsu API.
źródło
Myślę, że ważną funkcją, o której należy pamiętać o Netguard, byłaby możliwość filtrowania określonych adresów dla poszczególnych aplikacji. To jest płatna opcja.
Nie mogę powiedzieć, że VPN oparty na certyfikatach i iptables. Prawdopodobnie zależy to od wersji jądra i Androida dla iptables i NetGuard, algorytmów używanych do szyfrowania danych, niezależnie od tego, czy są one rejestrowane i gdzie są przechowywane. Moja odpowiedź może nie być tak techniczna, jak to, czego szukałeś, i tak długo, jak użytkownik AFWall + (wersja darowizny), jestem zdecydowanie stronniczy w tym względzie. Wiem jednak, że twórca NetGuard również aktywnie utrzymuje XPrivacy, bardzo dobrze znany / zaufany i solidny menedżer prywatności Androida. AFWall + wcale nie został porzucony, ale zdecydowanie nie otrzymał aktualizacji tak niedawno, jak NetGuard. Oba stosują różne metody utrzymywania kontroli ruchu, ale ostatecznie myślę, że to zależy głównie od użytkownika, jak bezpieczne jest dowolne urządzenie.
źródło