Der Ausdruck eingebautes VPN umfasst unter Android zwei unverbundene Dinge: eine Protokollimplementierung, die die Plattform für Sie ausführt, und die Form der Einstellungen, die der Hersteller anzeigen wollte. Das ist nicht dasselbe Objekt, und keines davon garantiert, dass der Tunnel dem Benutzer gehört, dessen Apps ihn brauchen. Die Bereitstellung erfolgt in einem bestimmten Benutzer mit einem bestimmten aufrufenden Paket, und alles Weitere erbt diesen Kontext. Lesen Sie die Eigentumskette, bevor Sie den Einstellungsbildschirm lesen.

Was die Plattform für Sie baut

Seit Android 11 stellt die Plattform die VPN-Bereitstellung über VpnManager bereit. Eine freigegebene App beschreibt ein IKEv2-Profil, und die Plattform führt den IPsec- und IKE-Austausch selbst aus, sodass die App nie Pakete berührt. Das ist der wesentliche Unterschied zu einer eigenen VPN-App, die VpnService implementiert und den Tunnel im eigenen Prozess baut.

val profile = Ikev2VpnProfile.Builder(serverAddress, identity)
    .setAuthUsernamePassword(user, secret, rootCa)
    .build()
getSystemService(VpnManager::class.java).provisionVpnProfile(profile)

Der Aufruf oben ist eine Skizze der Form und kein Block zum Kopieren: Der Builder hat mehrere Authentifizierungsvarianten, sie unterscheiden sich nach API-Stufe, und das Profil trägt auch das Vertrauensmaterial des Serverzertifikats. Für die Eigentumsfrage ist das Entscheidende enger als die Syntax.

Zwei Eigenschaften folgen aus diesem Entwurf. Das Profil sind Daten, also kann es ein Administrator bereitstellen, statt es von Hand zu tippen. Und der Tunnel ist ein Plattformnetz, also erscheint er Apps als Netzwerk mit VPN-Transport und nicht als Socket einer anderen App.

Eigentümer ist der Benutzer, dann das Paket

Androids Mehrbenutzerbetrieb ist echte Trennung, kein Etikett. Ein Arbeitsprofil ist ein eigener Benutzer mit eigenen installierten Paketen, eigenen App-Daten, eigenem Keystore und eigenen Vertrauensankern. Dasselbe Produkt an beiden Stellen ist zwei Instanzen mit unterschiedlichen Benutzerkennungen, selbst wenn Startersymbole und Produktnamen identisch sind.

Die Bereitstellung wird gegen das aufrufende Paket in diesem Benutzer erfasst. Eine Bereitstellungs-App im persönlichen Profil erzeugt also einen persönlichen Tunnel, und die Arbeits-Apps im Arbeitsprofil sehen davon nichts. Umgekehrt gilt es ebenso, weshalb ein Arbeitsprofil-Tunnel für persönliche Apps unsichtbar ist, solange keine ausdrückliche Richtlinie das Gegenteil sagt.

Ein Geräterichtlinien-Controller kann im Namen eines verwalteten Profils bereitstellen, was den Eintrag erklärt, von dem niemand im Büro weiß, dass er ihn erstellt hat. Wenn Sie ein Telefon prüfen, ist das der wahrscheinliche Eigentümer eines ausgegrauten Profils, und es ist nicht Ihre Sache, es als Experiment zu löschen.

Drei Tore, bevor ein Paket fließt

Das erste Tor ist die Befugnis: Die Verwaltung muss VPN überhaupt erlauben, und manche Umgebungen beschränken neben dem Bestehen auch den Typ. Das zweite ist die Identität: Das Clientzertifikat oder die Anmeldedaten müssen in dem Benutzer verfügbar sein, dem das Profil gehört, denn ein in den persönlichen Keystore importiertes Zertifikat ist für das Arbeitsprofil nicht sichtbar.

Das dritte sind Zustimmung und Richtlinie. Ein Benutzer bestätigt die Verbindung meist bei der ersten Nutzung, und ein Administrator kann sie zusätzlich als immer aktiv festnageln, optional mit Sperre, damit Verkehr den Tunnel nicht verlassen kann. Diese Einstellungen entscheiden, was bei einem Ausfall des Tunnels geschieht, und genau diesen Teil bemerken die Nutzer.

Der Umfang ist der Ort, an dem die drei zusammentreffen. Das Profil bestimmt Gateway und Identität, während die Richtlinienebene entscheidet, welche Apps den Tunnel nutzen dürfen und ob der Verkehr durch ihn gezwungen wird. Zwei Telefone mit identischen Gateway-Adressen können sich daher sehr unterschiedlich verhalten.

Warum eine persönliche Verbindung Arbeits-Apps nicht abdeckt

Verkehr aus einer Arbeits-App entsteht im Arbeitsbenutzer, und die geltende Netzwerkrichtlinie ist die in diesem Benutzer. Ein im persönlichen Profil aufgebauter Tunnel trägt ihn nicht, so gesund die Anzeige auch aussieht. Diese eine Tatsache erklärt die meisten Berichte, in denen ein Benutzer schwört, das VPN sei verbunden, und eine bestimmte App dennoch keinen internen Dienst erreicht.

Die Namensauflösung folgt derselben Grenze. Private DNS-Suffixe und Vertrauensanker gelten pro Benutzer, daher kann ein interner Hostname, der im persönlichen Profil auflöst, im Arbeitsprofil scheitern, selbst mit einem scheinbar gleichwertigen Tunnel, weil Resolver-Richtlinie und CA-Speicher verschiedene Objekte sind.

Prüfen Sie an einer echten Registrierung, nicht an einem Laborgerät

Bestimmen Sie auf dem Gerät zuerst den Eigentümer des Eintrags: welcher Benutzer, welches Paket und ob das Profil vom Bereitsteller der Plattform oder von einer App mit eigenem VPN-Dienst stammt. Bestätigen Sie dann, dass die vom Profil erwartete Identität tatsächlich im Keystore dieses Benutzers liegt.

Testen Sie den Lebenszyklus, nicht nur das Verbinden. Melden Sie sich an, entsperren Sie den Anmeldedatenspeicher, lassen Sie das Arbeitsprofil für den Abend pausieren, holen Sie es zurück und prüfen Sie, ob der Tunnel ohne manuelles Tippen wiederkommt. Ein Arbeitsprofil, das nach Feierabend abschaltet, nimmt seinen Tunnel mit, und das ist erwartetes Verhalten und kein Fehler, sofern der erwartete Nichtverfügbarkeitszustand dokumentiert ist.

Testen Sie schließlich die Arbeits-App selbst gegen einen bekannten internen Endpunkt und vergleichen Sie mit dem Ergebnis des persönlichen Profils. Die beiden dürfen sich unterscheiden; was sich nicht unterscheiden darf, ist das Eigentumsmodell. Gehört der Tunnel dem falschen Benutzer, hilft keine Neuausstellung von Zertifikaten.

Erzwingen Sie die Sache nicht, indem Sie versteckte Einstellungsaktivitäten starten, um ein Menü freizulegen, und kopieren Sie keine privaten Schlüssel zwischen Profilen, damit eine Verbindung erscheint. Die VpnManager-Referenz dokumentiert, was ein Aufrufer bereitstellen darf; wenn der freigegebene Weg Ihren Fall nicht enthält, ist das eine Entscheidung des Administrators und kein Einstellungsproblem.

Ähnliche Artikel