Prechod aplikácie tunelom neprenáša jej smerovanie na všetko, čo táto aplikácia spustí, aj keď rozhranie naznačuje opak. Odkaz odovzdá požiadavku inému programu, ten program otvorí vlastný socket a platforma aplikuje pravidlá na nový proces, nie na ten, ktorý zobrazil text. Práve ten druhý proces vidí politika tunela, a to nie je ten, ktorý ste nakonfigurovali.

Zahrnutá aplikácia teda môže otvoriť prehliadač, ktorý stojí mimo tunela. Vylúčený prehliadač môže vrátiť prácu aplikácii, ktorá stojí v jeho vnútri. Oba smery tohto prekvapenia sú bežné správanie.

Časť pracovného postupu, ktorú nikto nenastavil

Politika pre jednotlivé aplikácie sa píše proti identite spustiteľného súboru alebo balíka a každé pripojenie sa vyhodnocuje v okamihu svojho vzniku. Prehliadač, prehliadač dokumentov, prehrávač médií aj systémový hárok na zdieľanie nesú každý svoju identitu a každý dostáva svoj verdikt. Hlboký odkaz prenáša dáta, nie politiku.

Preto pozorovanie pôsobí náhodne: to isté kliknutie sa smeruje dvoma spôsobmi podľa toho, ktorý obslužný program odpovie. Poštový klient v tuneli otvorí odkaz v prehliadači, ktorý žije mimo tunela, a stránka sa načíta z vašej domácej adresy. Prehliadač mimo tunela otvorí dokument v prehliadači, ktorý žije v jeho vnútri, a súbor prichádza cez výstup. Ani jeden z tých dvoch výsledkov nie je chyba klienta.

Už bežiaci obslužný program situáciu zhoršuje. Ak je prehliadač už otvorený, odkaz sa stane správou existujúcemu procesu a ten proces si ponechá smerovanie, ktoré mal pri spustení. Zatvorenie a opätovné otvorenie obsluhy výsledok zmení, a preto sa problém nikdy nereprodukuje na požiadanie.

PlatformPolicy objectWhat it is evaluated against
AndroidPer-app VPN allowlistPackage name of the process opening the socket
WindowsApplication traffic filtersApplication path in the filter rule
LinuxUID or cgroup routing rulesOwner of the socket, which can be a different program

Ktorý proces spojenie skutočne vytvoril

Merajte prijímajúcu stranu, namiesto toho aby ste o nej uvažovali. Nechajte tunel bežať, kliknite na neškodný odkaz a pozrite sa na sockety, ktoré drží nový program.

ss -tnp state established '( dport = :443 )'
Get-NetTCPConnection -State Established | Select-Object RemoteAddress,OwningProcess

Prvý príkaz pomenuje proces za každým nadviazaným socketom v Linuxe, druhý robí to isté vo Windows rozlíšením identifikátora vlastniaceho procesu. Porovnajte názov procesu s názvami vo svojej politike. Ak je názov prehliadač a prehliadač je vylúčený, kliknutie opustilo tunel zámerne, nie vinou poruchy. Spárovanie pravidla politiky so živým socketom je celá metóda.

Kontrolu zopakujte s už bežiacou obsluhou a potom so zavretou. Oba výsledky sa môžu líšiť a tento rozdiel vysvetľuje väčšinu občasných hlásení o odkazoch unikajúcich z tunela.

Pokrytie je vlastnosť pracovného postupu

Ak má úloha zostať v tuneli od začiatku do konca, každý komponent, na ktorý môže dosiahnuť, musí byť vnútri politiky: spúšťač, obsluha, prehliadač a akýkoľvek sprostredkovateľ, ktorý platforma vloží medzi ne. Širšie pokrytie je často poctivá odpoveď a je lacnejšie ako audit každého cieľa zdieľania.

Vylúčiť systémového sprostredkovateľa, aby ste opravili jednu aplikáciu, je častá chyba. Sprostredkovatelia sú zdieľaní, takže vylúčenie nasleduje každú ďalšiu aplikáciu, ktorá používa rovnakú cestu, zvyčajne bez toho, aby si to niekto všimol, kým po týždňoch nepríde hlásenie. Prečítajte si, čo ďalšie od komponentu závisí, skôr než ho vylúčite.

Držte identitu oddelene od smerovania. Odkaz môže niesť token relácie alebo identifikátor účtu bez ohľadu na to, ktorý výstup požiadavku prijme. Správne smerované kliknutie môže cieľu stále presne povedať, kto ho nasledoval.

Dokumentujte pracovný postup, nie prvé zaškrtávacie pole. Keď úloha zahŕňa štyri programy, diagram so štyrmi programami je ten, ktorý predpovedá, kam prevádzka pôjde, a nastavenie jednej aplikácie je len jeden jeho riadok.

Súvisiace články