Bestimmung der Quell-App des IP-Verkehrs in NETunnelProviderManager

Ich verwende NETunnelProviderManager in "Routing nach Ziel-IP" und kann IP-Verkehr von verschiedenen Apps auf dem Gerät abrufen.

Die Herausforderung, die ich habe, besteht darin, dass ich feststellen muss, von welcher Anwendung jedes Paket stammt, damit ich den Datenverkehr nach Bedarf filtern und blockieren kann, damit ich verhindern kann, dass eine Rogue-App erstellt wird, die auf einen internen Speicherort zugreift. Es ist für mich nicht möglich, den „Pro-App“-Modus von NETunnelProviderManager zu verwenden, da ich kein MDM verwende.

Es scheint, dass ich dies tun könnte, wenn ich Zugriff auf die TCB-Tabelle des Systems (oder Zugriff auf die TCB-Tabelle für jeden Prozess) hätte, aber es sieht so aus, als ob iOS diese Informationen nicht veröffentlicht und ich auch keine privaten APIs gefunden habe diese Informationen auf einem Gerät ohne Jailbreak.

Irgendwelche Ideen?

Ich gehe mal davon aus, dass du das gelesen hast? developer.apple.com/reference/networkextension
Ja, ich habe die Spezifikation und Dokumentation im Detail durchgegangen. Ich habe nichts über die Bestimmung der Quell-App des IP-Verkehrs gesehen, wenn MDM nicht verwendet wird. Es gab eine API zum Abrufen der App-ID der Quell-App bei Verwendung des App-Proxys, aber das ist nur MDM. Wenn ich etwas übersehen habe, weisen Sie bitte darauf hin.

Antworten (1)

In den NETunnelProvidermanager-Spezifikationen heißt es ausdrücklich: "Die einzige Möglichkeit, VPN "per App" zu konfigurieren, ist MDM ...", also im Hinblick auf die Mainstream-Methode zur Erfüllung aller Apple-Spezifikationen und zumindest im Kontext von Apple Stack Exchange , scheint dies nicht möglich zu sein. Ich hoffe, jemand anderes, oder ich, kann eine nette Problemumgehung für Sie finden, wenn es nicht funktioniert.

Ein Tipp jedoch: Es wird direkt unter den VPN-Einstellungen im Spezifikationsleitfaden erläutert, wie On-Demand-VPN konfiguriert wird, und wenn Ihre Anforderung nicht darin besteht, dass das VPN „immer aktiv“ ist, können Sie möglicherweise Ihre spezifischen Anforderungen erfüllen Ziel nur durch das Erstellen der erforderlichen Zertifikate.

Möglicherweise ziehen Sie es vor, die .mobilconfig-Dateien von Hand zu erstellen, sobald Sie die verfügbaren Optionen und die verfügbare Syntax sehen, aber Sie können möglicherweise nur genau die Zertifikate generieren, die Sie benötigen, beispielsweise das VPN, indem Sie Apple Configurator verwenden, ohne die vollständige Kontrolle darüber übernehmen zu müssen das Gerät.

Ich glaube nicht, dass Ihr Vorschlag zum Konfigurieren von On-Demand-VPN funktionieren wird, da ich das VPN ständig eingeschaltet haben muss und auch mehrere gleichzeitig laufende Apps unterstützen muss (eine Vordergrund-App, während eine im Hintergrund läuft usw. ). Ich brauche eine vollständige Produktionslösung, und Methoden, die nur beim Testen funktionieren, sind leider nicht hilfreich. Beispielsweise hilft der Modus zum Testen des ver-app-VPN ohne einen tatsächlichen MDM-Server mithilfe einer speziellen Konfigurationsdatei nicht dabei, eine Produktionslösung zu finden.
Ich habe die Antwort aktualisiert, aber es ändert noch nichts an großartigen Neuigkeiten für Sie. Sie können die Frage bitte auch aktualisieren, die Dinge, die Sie hier kommentiert haben, waren in der Frage nicht klar: Erfordert immer aktives VPN, dies ist für die Produktion, nicht zum Testen usw.
Was ich meinte, ist, dass ich für meine Anwendungsfälle das VPN die ganze Zeit über benötige und eine Lösung benötige, die ich Kunden (über den App Store) zur Verfügung stellen kann, sodass alles, was nur zum Testen dient, nicht funktioniert. Ich brauche etwas, das in Produktionsumgebungen funktioniert.