Workshop Android zähmen - Debloating und Firewalling (Teil 2)
Nachdem wir uns im ersten Teil unseres Workshops "Workshop Android zähmen - Debloating und Firewalling" unerwünschter Gäste auf unserem Androidgerät gekümmert haben, wollen wir uns nun im Teil 2 um verbliebene böswillige Apps kümmern, die Kontakt zu fremden Servern aufnehmen. Hierzu werden wir eine Firewall zu Hilfe nehmen, die völlig ohne root-Berechtigungen auskommt.

Einleitung
Das Tool, das wir für unsere Zwecke verwenden wollen heißt "NetGuard" (https://netguard.me/), das von Marcel Bokhorst entwickelt wurde. Es filtert Datenein- und ausgänge mit Hilfe eines VPNs und ermöglicht zusätzlich, bestimmte Werbedomänen und Tracker zu blockieren. Möchtet Ihr über die Funktionsweise nähere Informationen haben, so empfehlen wir Euch den hervorragenden Beitrag von Mike Kuketz zu diesem Thema (https://www.kuketz-blog.de/netguard-datenverkehr-von-android-apps-filtern-privatsphaere-schuetzen/), für dessen wertvolle Arbeit wir uns hier bedanken wollen.
Leider gibt es bei der Verwendung von NetGuard einen kleinen Wermutstropfen, der vor der Nutzung unbedingt beachtet werden sollte: Android unterstützt lediglich die Nutzung eines VPNs. Das bedeutet, dass Ihr nach der Installation von NetGuard kein weiteres VPN einrichten und nutzen könnt.
Varianten und Installation
Für alle, die noch den Google Play Store nutzen, muss erwähnt werden, dass Google lediglich eine abgespeckte Version von NetGuard anbietet: Das Blockieren von Werbung und Trackern widerspricht den Google Richtlinien und ist somit in der dort angebotenen Variante nicht enthalten. Daher empfehlen wir die Installation der App über F-Droid.
Marcel Bokhorst weißt auf seiner Github-Seite (https://github.com/M66B/NetGuard) darauf hin, dass im Samsung Galaxy App Store ebenfalls eine App mit dem Namen "Netguard" existiert, die allerdings nichts mit der von uns verwendeten zu tun hat. Diese App wird ohne Rückfrage als Update installiert und kann als wahrscheinlich bösartig eingestuft werden.
Ist die Installation durchgeführt, so raten wir zur Freischaltung auf die Pro-Version auf der Webseite des Entwicklers (https://netguard.me/). Dies ist bereits ab 0,10€ machbar: einmalig für ein Androidgerät. Ihr könnt aber auch mit einer einmaligen Zahlung von 7,50€ eine Pro-Lizenz für alle Eure Androidgeräte erhalten.
Die Pro-Version bietet unter anderem einen ganz entscheidenen Vorteil. Wer sich schon einmal mit Firewalls beschäftigt hat, kann diesen schnell nachvollziehen: Die Pro-Version arbeitet mit sogenannten "Whitelists", die kostenlose Variante hingegen mit "Blacklists".
Blacklist bedeutet, dass in der Grundkonfiguration alle Daten frei passieren dürfen und nur explizit vom Nutzer eingetragene Domains verboten sind. Bei der Whitelist-Variante werden alle Datenein- und ausgänge geblockt und wir bestimmen, welche Daten die Firewall passieren dürfen. Die Blacklist-Variante würde ein kaum zu bewätigendes Unterfangen darstellen, da übersehene Datenpakete immer wieder durchschlüpfen könnten. Daher nochmals unser Rat, die Pro-Variante zu installieren.
Das Freischalten auf die Pro-Variante läuft nach der erfolgreichen Registrierung und Bezahlung folgendermaßen ab:
Ihr startet die App und geht auf das Hamburgermenü rechts oben. Dort wählt Ihr "Pro-Funktionen". Wieder auf das Hamburgermenü getippt, erscheint "Puzzle".

Der Puzzle-Code wird auf der Seite https://activate.faircode.eu/?product=netguard&payment=PayPal zusammen mit Eurer freigeschalteten EMail-Adresse eingegeben. Nach kurzer Zeit erhaltet Ihr an diese Mail-Adresse eine automatische Antwort mit dem Betreff "NetGuard pro activation". Den dort abgedruckten "response code" gebt Ihr im Puzzle unter "Antwort" ein.
Einrichtung
Zuerst geht Ihr in das Hamburgermenü rechts oben und dann auf Einstellungen/Standardeinstellungen. Damit Internetverbindungen über mobile Daten und Wlan grundsätzlich geblockt werden, sollten folgende Schalter eingeschaltet werden:

Eine sehr hilfreiche Funktion von Netguard ist, dass Ihr benachrichtigt werdet, sobald eine neue App installiert wurde. Bereits in der Benachrichtigung wird dann abgefragt, wie Netguard das Sendeverhalten dieser App regeln soll. Für diese Funktion wird der Schalter unter "Optionen" gesetzt:

Unter Netzwerkoptionen sollten folgende Schalter aktiviert sein:

Unter den "Erweiterten Optionen" könnt Ihr noch System-Apps mit den vorhandenen Regeln versehen ("System-Apps verwalten"), wenn Ihr das Verhalten beobachten möchtet.
"Internetzugriff protokollieren" und "Bei Internetzugriff benachrichtigen" werden eingeschaltet, damit bei neuen Verbindungen einer App eine Benachrichtigung von Netguard erzeugt wird.
Die Protokollierung des Internetzugriffs erzeugt eine höhere Akkuauslastung. Der Autor hat diese nach einer längeren Testphase auf seinen Geräten deaktiviert.

Unter dem Punkt "Validieren unter" wird anhand einer Serveradresse geprüft, ob eine https-Verbindung aufgebaut werden kann. Hier sollte Ihr entweder Euren eigenen öffentlichen oder einen vertrauenswürdigen Server eintragen:

Bei dem Menüpunkt "Sicherung" habt Ihr die Möglichkeit, Eure Konfiguration zu sichern und wieder herzustellen. Gerade zu Testzwecken ist dies sehr sinnvoll.
Nun geht Ihr aus den Einstellungen wieder heraus und zurück in die Startmaske. Es werden alle beobachteten Apps aufgelistet, sortiert nach "freigegeben" (hellgrau hinterlegter Bereich) und "blockiert" (weiß hinterlegter Bereich). Hier kann für jede App über deren Zugriff aufs Netz, unterteilt nach Wlan und Mobile Daten, entschieden werden.

(Auf die kleine "2" neben dem Wlan-Symbol gehe ich später noch ein)
Netguard starten
Oben links befindet sich ein Schalter, mit dem Ihr nun die Überwachung durch Netguard starten könnt. Nach dem Einschalten werden sicherlich einige Benachrichtigungen auf Eurem Gerät erscheinen. Dies sind Wünsche der einzelnen Apps, sich mit dem Internet zu verbinden. Hier solltet Ihr Euch gewissenhaft und mit Bedacht herantasten, denn nichts wäre fataler, als wenn Ihr die meisten Apps wieder freigebt. Es ist dabei etwas Zeit und Geduld gefragt, aber Ihr werdet ziemlich schnell bemerken, welche App tatsächlich den Zugriff aufs Netz zwingend benötigt.
Netguard hat bereits einigen Apps den Internetzugang gewährt. Diese sind vom Programmierer vorgegeben und als erforderlich eingestuft worden. Ohne diese Freigaben wird Euer Androidgerät nicht funktionieren.
Ebenso sollte Ihr darauf achten, dass der Systemupdater Eures Gerätes freigegeben wird, damit wichtige Updates eingespielt werden können. Der Name für die App sollte "Systemupdates" oder ähnlich sein.
Finetuning
Ihr habt zusätzlich noch die Möglichkeit, freigegebene Apps in ihrer Redseligkeit etwas einzuschränken. Zum Beispiel könnt Ihr für Eure Browserapp festlegen, zu welche Domains kein Kontakt aufgenommen werden soll. Tippt hierzu auf die betroffene App und Ihr könnt Euch unter dem Punkt "Wer ist…" anschauen, wer sich hinter dem Verbindungspunkt verbirgt. Anschließend könnt Ihr entscheiden, ob Ihr dies verbieten oder wieder erlauben wollt. Aber auch hier ist Achtsamkeit geboten: Zu viele verbotene Dienste können dazu führen, dass der Browser nicht mehr funktioniert. Als sinnvoll erachtet der Autor z. B. die Facebook-Verbindung zu verbieten, natürlich je nachdem, ob Ihr sie denn benötigt oder nicht.
Tippt Ihr wieder auf das App-Icon, so schließt sich der Bereich und es erscheint bei den Verbindungssymbolen eine kleine Ziffer, die angibt, wieviele Domains durch Euch verboten worden sind (daher in unserem Beispiel die "2").

Zusammenfassung
Netguard ist ein mächtiges Tool, wenn man auf weitere VPN-Verbindungen verzichten kann. Mit etwas Einarbeitungszeit schließt es Apps vom Internetverkehr aus und überwacht das System auf Neuzugänge. Zusammen mit unserem ersten Teil des Workshops (Debloating) halten wir nun unser Androidgerät relativ sauber. Dies ist besonders interessant, wenn es für unser Androidgerät kein entgoogeltes Custom Rom gibt. Und selbst diese sind mit Vorsicht zu genießen, da die Versprechungen der Anbieter nicht immer eingehalten werden.
Mit unseren beiden Handwerkszeugen haben wir es selber in der Hand, was unser Gerät darf und was nicht, ohne das Gerät zu Rooten oder den Bootloader freizuschalten.
Hat euch der Beitrag gefallen? Eine Spende dürft ihr gern via Lightning an meine Adresse dirks@lnbits.yourdevice.ch senden! Danke schön!!