Missä Androidin palomuurisäännön on elettävä, kun VPN on päällä
Vain yksi VpnService voi olla aktiivinen, joten palomuurisovellus ja VPN-sovellus eivät pinoudu. Käy läpi yksi työpyyntö ja sijoita jokainen sääntö sinne, missä sen liikenne todella kulkee.
Sinulla on yhden lauseen käytäntö: tämä sovellus saa päästä työpalveluun eikä mihinkään muuhun. Seuraava kysymys näyttää tuotevalinnalta, mutta on paikkakysymys, koska jokainen mahdollinen toteutuskohta näkee eri osan puhelimen liikenteestä. Yhdyskäytävä näkee vain sen, mikä tulee tunneliin. Puhelimen puolen suodatin näkee vain sen, mitä sen on lupa havainnoida. Yhden pyynnön vieminen molempien läpi tekee vastauksesta ilmeisen.
Aloita lauseesta, älä tuotteesta
Laajenna vaatimus ennen kuin valitset mitään. Se tarkoittaa pakettia ja profiilia, jossa se toimii, koska työprofiilin sovellus on eri käyttäjä kuin sama sovellus henkilökohtaisessa profiilissa. Se tarkoittaa kohdetta: isäntä, portti ja protokolla, ei palvelun nimeä. Se tarkoittaa DNS-reittiä, joka ratkaisee nimen, ja sitä, mitä pitää tapahtua, kun tunnelia ei ole saatavilla.
Kirjoitettuna esimerkin käytännössä on neljä riviä: työsovellus saa päästä työpalveluun; työsovellus ei saa päästä mihinkään muualle; muut sovellukset pysyvät ennallaan; ilman tunnelia työsovellus hylätään sen sijaan, että se putoaisi suoralle reitille. Jokaisella rivillä on omistaja, eivätkä kaikki ole sama omistaja.
Vaihe 1: mitä puhelin itse voi toteuttaa
Roottaamaton Android-palomuuri on VpnService, joka kaappaa liikenteen paikallisesti, vaikka sen takana ei olisi etätunnelia. Android sallii yhden aktiivisen VPN-palvelun käyttäjäprofiilia kohden, joten toinen palomuurisovellus ei ketjuunnu ensimmäisen taakse. Se korvaa sen, ja käyttöliittymä, jota ensimmäinen sovellus suodatti, katoaa.
Siksi palomuurin asentaminen VPN-asiakkaan viereen tuottaa harvoin sen yhdistelmän, jota ihmiset odottavat. Jos palomuuri käynnistyy ja VPN katkeaa, mitään ei yhdistetty; kaksi vaihtoi paikkaa. Käyttöliittymän korvaaminen ei ole yhteistyötä, ja oire on tunneli, joka putoaa jatkuvasti aina, kun toinen sovellus avataan.
Tuettuja järjestelyjä on: jo käyttämääsi VPN-asiakkaaseen sisäänrakennettu suodatus, laitteen käytäntöohjaimen tai työprofiilin kautta hallitut alustan hallinnat tai toimittajan dokumentoima arkkitehtuuri. Kaikki muu on koe, joka on tarkistettava uudelleen jokaisen sovelluspäivityksen jälkeen.
Vaihe 2: mitä yhdyskäytävä voi toteuttaa
Kun liikenne on purettu salauksesta kauimmassa päässä, yhdyskäytävä voi rajoittaa välitetyt paketit hyväksyttyihin osoitteisiin, palveluihin tai todennettuihin VPN-identiteetteihin. Se on todellista toteutusta kaikelle, mikä poistuu sen kautta, ja oikea paikka rajoittaa pääsyä yksityisiin aliverkkoihin.
Mitä se ei saa, on puhelimen sovellusidentiteetti, joka on liitetty jokaiseen tavalliseen IP-pakettiin. Useat sovellukset, jotka jakavat yhden tunneliosoitteen, ovat yhdyskäytävälle yksi subjekti, ellei suunnittelu anna niille erillisiä osoitteita tai erillisiä todennettuja identiteettejä. Siksi käyttäjäkohtainen sääntö yhdyskäytävässä ei ole sovelluskohtainen sääntö puhelimessa, miten hallintakonsoli sitä kutsuukin.
Vaihe 3: luettele, mikä ei koskaan saavu
Sovellus, joka on suljettu VPN:n ulkopuolelle ja ottaa yhteyden lähellä olevaan laitteeseen, ei koskaan saavuta yhdyskäytävää, joten lähtevä palomuuri ei voi hylätä pakettia, jota se ei koskaan saa. Sama koskee tahatonta suoraa reittiä katkoksen aikana ja paikallisessa liityntäverkossa tapahtuvaa saapuvaa altistumista. Ne ovat määritelmällisesti paikallisia rajoja.
Päinvastainenkin pitää: paikallinen sääntö, joka sallii yhteyden, ei anna pääsyä yhdyskäytävän yksityisverkon ACL:n kautta. Yksi pyyntö voi olla molempien rajojen alainen, ja toisen täyttäminen ei kerro toisesta mitään.
Vaihe 4: kohdista jokainen sääntö reitille
Pane päätös taulukkoon ennen kuin määrität mitään, sillä tyhjät solut ovat paikka, jossa suunnitelmat epäonnistuvat.
| Reitti | Kuka voi toteuttaa sen | Sokea piste |
|---|---|---|
| Työsovellus työpalveluun, tunneli ylhäällä | Yhdyskäytävän ACL osoitteen ja palvelun mukaan sekä paikallinen esto muille reiteille | Yhdyskäytävä ei näe, mikä sovellus paketin lähetti |
| Työsovellus muihin kohteisiin, tunneli ylhäällä | Paikallinen sovellustietoinen suodatin tai yhdyskäytävä, jos ne kohteet on osoitettu sinne | Paikallisen suodattimen on oltava aktiivinen VpnService |
| Työsovellus ilman tunnelia | Paikallinen hylkäys, jotta sovellus ei voi ottaa suoraa reittiä | Edellyttää, että suodatin kestää tunnelin katoamisen |
| Lähellä oleva LAN-laite | Vain paikallinen käytäntö | Yhdyskäytävä ei näe sitä koskaan |
Toimiva muoto on kaksi rajaa ja kaksi tehtävää. Sovellustietoinen paikallinen raja ohjaa puhelimen käyttäytymistä, mukaan lukien suora putoaminen, ja yhdyskäytävän raja ohjaa etäresursseja. Yhdyskäytävän puoli voi sallia työpalvelun ja hylätä jokaisen muun yksityisen aliverkon, kun taas puhelimen puolen käytäntö päättää itse suorasta reitistä, jonka sovellus muuten voisi ottaa.
Vaihe 5: pidä kuljetus elossa ja tarkista sitten
Minkä paikallisen käytännön valitsetkin, sen on sallittava kuljetus, joka perustaa VPN:n ja pitää sen. Sen kuljetuksen estäminen jättää puhelimen ilman tunnelia ja ilman käytäntöä, mikä ei toteuta mitään johdonmukaisesti ja on vaikea diagnosoida, koska sovelluksella ei yksinkertaisesti ole verkkoa.
Tarkista sitten alkuperäisen lauseen jokainen rivi yleisvaikutelman sijaan: työsovellus saavuttaa työpalvelun, sama sovellus hylätään toisessa kohteessa, sovellus, joka ei ole työtä, käyttäytyy kuten ennen, ja pysäytetyllä tunnelilla työsovellus ei putoa suoraan yhteyteen. Tarkista DNS-reitti erikseen, koska yksityinen DNS tai salattu ratkaisija voi ohittaa suodattimen, joka tutkii vain osoitteita.
Jos jotakin näistä vaiheista ei voi täyttää puhelimessa, vaatimus on arkkitehtuurikysymys eikä palomuuriasetus. Käytännön jakaminen laitteen, jota hallitset, ja yhdyskäytävän, jota hallitset, kesken on yleensä rehellinen vastaus, ja Androidin VPN-yhteyksien dokumentaatio on paikka, jossa vahvistat, mitä alusta yhdelle palvelulle sallii ja mitä ei.