Saklaw ng pariralang built-in na VPN sa Android ang dalawang bagay na walang kaugnayan: isang pagpapatupad ng protocol na pinapatakbo ng platform sa ngalan mo, at ang anyo ng mga setting na pinili ng gumawa na ilantad. Hindi ito ang parehong bagay, at wala sa kanila ang ginagarantiyahan na ang tunnel ay pag-aari ng user na kailangan ito ng kanyang mga app. Ang paghahanda ay nangyayari sa isang partikular na user na may partikular na package na tumatawag, at lahat ng sumusunod ay nagmamana ng kontekstong iyon. Basahin ang kadena ng pagmamay-ari bago basahin ang screen ng mga setting.

Ano ang itinatayo ng platform para sa iyo

Mula sa Android 11, inilalantad ng platform ang paghahanda ng VPN sa pamamagitan ng VpnManager. Inilalarawan ng isang aprubadong app ang isang profile ng IKEv2, at ang platform mismo ang nagpapatakbo ng palitan ng IPsec at IKE, kaya hindi kailanman hinahawakan ng app ang mga packet. Iyon ang makabuluhang pagkakaiba sa isang sariling app ng VPN, na nagpapatupad ng VpnService at nagtatayo ng tunnel sa sarili nitong proseso.

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

Ang tawag sa itaas ay balangkas ng anyo at hindi bloke na makokopya: may ilang variant ng authentication ang builder, nagkakaiba sila ayon sa antas ng API, at may dalang materyal ng pagtitiwala ng certificate ng server ang profile. Ang mahalaga para sa tanong ng pagmamay-ari ay mas makitid kaysa sa syntax.

Dalawang katangian ang sumusunod mula sa disenyong ito. Ang profile ay data, kaya maaaring ihanda ito ng administrator sa halip na i-type nang manu-mano. At ang tunnel ay network ng platform, kaya lumilitaw ito sa mga application bilang network na may transport na VPN at hindi bilang socket ng ibang app.

Ang pagmamay-ari ay ang user, pagkatapos ang package

Ang multi-user ng Android ay tunay na paghihiwalay, hindi label. Ang work profile ay hiwalay na user na may sariling naka-install na package, sariling data ng app, sariling keystore at sariling trust anchor. Ang parehong produkto na naka-install sa dalawang lugar ay dalawang instance na may magkaibang user id, kahit magkapareho ang mga icon sa launcher at pangalan ng produkto.

Ang paghahanda ay naitala laban sa package na tumatawag sa user na iyon. Kaya ang app na naghahanda na tumatakbo sa personal na profile ay gumagawa ng personal na tunnel, at wala itong nakikitang anuman sa mga work app sa work profile. Totoo rin ang kabaligtaran, kaya ang tunnel ng work profile ay hindi nakikita ng mga personal na app kung walang malinaw na patakaran na nagsasabi ng iba.

Ang device policy controller ay maaaring maghanda sa ngalan ng pinamamahalaang profile, at iyon ang nagpapaliwanag sa entry na walang sinuman sa opisina ang naaalalang gumawa. Kung sinisiyasat mo ang isang telepono, iyon ang malamang na may-ari ng isang profile na naging abo ang kulay, at hindi mo trabaho na tanggalin ito bilang isang eksperimento.

Tatlong gate bago gumalaw ang isang packet

Ang unang gate ay awtoridad: dapat payagan ng pamamahala ang VPN, at ang ilang deployment ay naglilimita rin sa uri, hindi lang sa pag-iral. Ang pangalawa ay pagkakakilanlan: ang certificate ng client o mga kredensyal ay dapat available sa user na may-ari ng profile, dahil ang certificate na inangkat sa personal na keystore ay hindi nakikita ng work profile.

Ang pangatlo ay pahintulot at patakaran. Karaniwang inaaprubahan ng user ang koneksyon sa unang paggamit, at maaari pang i-pin ito ng administrator bilang laging naka-on, opsyonal na may lockdown upang hindi makalabas ang trapiko sa labas ng tunnel. Ang mga setting na iyon ang nagpapasya kung ano ang nangyayari kapag bumagsak ang tunnel, at iyon ang bahaging napapansin ng mga user.

Ang saklaw ay kung saan nagtatagpo ang tatlo. Tinutukoy ng profile ang gateway at pagkakakilanlan, habang ang antas ng patakaran ang nagpapasya kung aling application ang maaaring gumamit ng tunnel at kung pinipilit ang trapiko sa pamamagitan nito. Dalawang telepono na may magkaparehong address ng gateway ay maaaring kumilos nang lubhang magkaiba.

Bakit hindi saklaw ng personal na koneksyon ang mga work app

Ang trapiko mula sa isang work app ay nalilikha sa work user, at ang patakaran ng network na nalalapat ay ang nasa user na iyon. Ang tunnel na itinayo sa personal na profile ay hindi ito dinadala, gaano man kaganda ang indicator. Ang nag-iisang katotohanang iyon ang nagpapaliwanag sa karamihan ng ulat kung saan sinusumpa ng user na konektado ang VPN at isang partikular na app ay hindi pa rin maabot ang isang panloob na serbisyo.

Ang paglutas ng pangalan ay sumusunod sa parehong hangganan. Ang mga private DNS suffix at trust anchor ay per user, kaya ang isang panloob na hostname na nalulutas sa personal na profile ay maaaring mabigo sa work profile kahit may tunnel na mukhang katumbas, dahil magkaibang bagay ang patakaran ng resolver at ang imbakan ng CA.

I-verify sa isang tunay na enrollment, hindi sa lab phone

Sa device, tukuyin muna ang may-ari ng entry: aling user, aling package, at kung ang profile ay galing sa platform provisioner o sa isang app na nagpapatupad ng sarili nitong serbisyo ng VPN. Pagkatapos, kumpirmahin na ang pagkakakilanlan na inaasahan ng profile ay talagang naroroon sa keystore ng user na iyon.

Subukan ang lifecycle, hindi lang ang koneksyon. Mag-sign in, i-unlock ang imbakan ng kredensyal, hayaang magpahinga ang work profile para sa gabi, pagkatapos ay ibalik ito at tingnan kung bumabalik ang tunnel nang walang manu-manong tapik. Ang work profile na pumapatay pagkatapos ng oras ng trabaho ay dinadala ang tunnel nito, at iyon ay inaasahang pag-uugali at hindi sira, sa kondisyon na nakasulat ang inaasahang hindi available na estado.

Sa huli, subukan ang mismong work app laban sa isang kilalang panloob na endpoint at ihambing sa resulta ng personal na profile. Pinapayagang magkaiba ang dalawa; ang hindi maaaring magkaiba ay ang modelo ng pagmamay-ari. Kung ang tunnel ay pag-aari ng maling user, walang maidudulot ang muling pag-isyu ng certificate.

Huwag pilitin ang isyu sa pamamagitan ng paglulunsad ng mga nakatagong setting activity para ilantad ang isang menu, at huwag kopyahin ang mga private key sa pagitan ng mga profile para magmukhang may koneksyon. Dokumentado ng sanggunian ng VpnManager kung ano ang pinapayagang ihanda ng tumatawag; kung hindi kasama sa aprubadong landas ang iyong kaso, desisyon iyon ng administrator at hindi problema sa setting.

Kaugnay na mga artikulo