Określanie aplikacji źródłowej ruchu IP w NETunnelProviderManager

2

Używam NETunnelProviderManager w "routingu według docelowego adresu IP" i jestem w stanie uzyskać ruch IP z różnych aplikacji na urządzeniu.

Wyzwanie, jakie mam, polega na tym, że muszę określić, z której aplikacji pochodzi każdy pakiet, dzięki czemu mogę filtrować i blokować ruch w razie potrzeby, dzięki czemu mogę zapobiec tworzeniu fałszywej aplikacji w celu uzyskania dostępu do lokalizacji wewnętrznej. Używanie trybu „na aplikację” NETunnelProviderManager nie jest możliwe, ponieważ nie używam MDM.

Wydaje się, że gdybym miał dostęp do tabeli TCB systemu (lub dostęp do tabeli TCB dla każdego procesu), mógłbym to zrobić, ale wygląda na to, że iOS nie publikuje tych informacji i nie znalazłem żadnych prywatnych interfejsów API, aby uzyskać ta informacja na urządzeniu bez jailbreaku.

Jakieś pomysły?

Locksleyu
źródło
Zakładam, że to czytasz? developer.apple.com/reference/networkextension
norcal johnny
Tak, szczegółowo przejrzałem specyfikację i dokumentację. Nie widziałem niczego na temat określania aplikacji źródłowej ruchu IP, gdy MDM nie jest używany. Istniało API do pobierania identyfikatora aplikacji źródłowej aplikacji podczas korzystania z aplikacji Proxy, ale to jest tylko MDM. Jeśli coś przeoczyłem, zwróć na to uwagę.
Locksleyu

Odpowiedzi:

1

Mówi on konkretnie o specyfikacjach NETunnelProvidermanager, „Jedynym sposobem konfiguracji„ na aplikację ”VPN jest MDM…”, więc pod względem głównego nurtu sposób spełnienia wszystkich Specyfikacje Apple , i przynajmniej w kontekście Apple Stack Exchange , wydaje się, że nie byłoby to możliwe. Mam nadzieję, że ktoś inny, lub ja, znajdzie dla ciebie ładne obejście, jeśli to nie zadziała.

Jedna wskazówka: dyskutuje bezpośrednio pod ustawieniami VPN, w przewodniku specyfikacji, jak skonfigurować VPN na żądanie, a jeśli nie jest wymagane, aby sieć VPN była „zawsze włączona”, można spełnić określone wymagania cel tylko przez utworzenie niezbędnych certyfikatów.

Być może wolisz tworzyć pliki .mobilconfig ręcznie, gdy zobaczysz dostępne opcje i składnię, ale możesz być w stanie wygenerować tylko dokładnie potrzebne certyfikaty, na przykład VPN, przy użyciu Konfigurator Apple bez konieczności całkowitego przejęcia kontroli nad urządzeniem.

forgotstackxpassword
źródło
Nie sądzę, aby twoja sugestia dotycząca konfiguracji VPN na żądanie działała, ponieważ muszę cały czas korzystać z VPN, a także obsługiwać kilka aplikacji działających jednocześnie (jedna aplikacja na pierwszym planie, gdy jedna działa w tle itp. ). Potrzebuję pełnego rozwiązania produkcyjnego, a metody, które działają tylko w testach, nie są niestety pomocne. Na przykład tryb testowania VPN aplikacji ver-app bez rzeczywistego serwera MDM przy użyciu specjalnego pliku konfiguracyjnego nie pomaga znaleźć rozwiązania produkcyjnego.
Locksleyu
Zaktualizowałem odpowiedź, ale nic nie zmieniło dla ciebie wspaniałych wiadomości. Możesz również zaktualizować pytanie, rzeczy, które tu skomentowałeś, nie były jasne w pytaniu: wymaga zawsze dostępnego VPN, dotyczy to nie testowania produkcji itp.
forgotstackxpassword
Chodzi mi o to, że po prostu dla moich zastosowań potrzebuję VPN cały czas i potrzebuję rozwiązania, które mogę udostępnić klientom (za pośrednictwem sklepu z aplikacjami), więc wszystko, co jest tylko testowe, nie będzie działać. Potrzebuję czegoś, co działa w środowiskach produkcyjnych.
Locksleyu