Deljenje delovne postaje sproži vprašanje, na katero prenosnik z enim uporabnikom nikoli ne rabi odgovoriti: ko ena oseba preveri tunel, kdo drug ga lahko uporablja? Prijava identificira subjekt, nameščena pot pa opisuje območje, in to nista isti predmet. Med njima sta operacijski sistem, konfiguracija odjemalca in to, kar zasebna storitev zahteva sama po sebi. Primerjanje točk uveljavljanja je edini način, da odgovorimo brez ugibanja.

Ena prijava, več območij

Preverjanje pristnosti odgovori, kdo je bil sprejet. Pot odgovori, kateri paketi lahko zapustijo tunel. Avtorizacija odgovori, katera storitev bo sprejela nastalo povezavo, in nobena od treh ne vključuje naslednje.

Tunel za celoten gostitelj je običajna privzeta nastavitev in naredi vrzel očitno. Pot je v tabeli jedra, zato lahko vsak proces, ki uporablja to tabelo, doseže zasebno omrežje, tudi tisti, ki ga je zagnal uporabnik, ki ni nikoli videl pogovornega okna VPN. To ni napaka tunela; to je pomen sistemske poti. Zasebna storitev lahko povezavo vseeno zavrne, zato dosegljivost in dovoljenje potrebujeta ločena odgovora.

Če štiri vprašanja zapišemo pred testiranjem, se pregled ne more strniti na eno od njih.

Kje meja res leži

Štiri ureditve pokrivajo večino strojev: tunel za celoten gostitelj, povezava za uporabnika, seznam dovoljenih aplikacij in ločen omrežni imenski prostor ali navidezni stroj.

Vsaka postavi točko uveljavljanja drugam, in razlike so pomembnejše od oznak. Povezavo za uporabnika uveljavljajo dovoljenja profila, ne prijavni zaslon namizja. Seznam dovoljenih aplikacij se uveljavlja znotraj odjemalca, ki odloča, kaj bo prenesel. Imenski prostor ali VM uveljavlja na meji vmesnika, zato proces znotraj sploh ne vidi poti gostitelja. Število prijavnih zaslonov na stroju ne pove ničesar o nobenem od njih.

ArrangementEnforced byWho can use the path
Host-wide tunnelThe routing tableAny local process using that table
Per-user connectionProfile permission listOnly the listed accounts
Per-app allowlistThe VPN client itselfOnly the selected applications
Namespace or VMThe interface boundaryOnly processes inside it

Branje tabele vrstico za vrstico pokaže, da pravo vprašanje ni, ali izolacija obstaja, ampak kje je izvedena.

Primerjajte štiri točke uveljavljanja

V Linuxu je tabela poti prva stvar, ki jo je treba pregledati, ker se tunel za celoten gostitelj pojavi tam, imenski prostor pa ne. Izvajanje iskanja kot drugi uporabnik je korak, ki ga ljudje preskočijo; odgovor se razlikuje od tistega, ki so ga dobili kot oni sami, in to pojasni poročilo.

Naslednja dva pregleda gledata na politiko, ne na usmerjanje. Pravilo požarnega zidu, ki se ujema z UID, velja za lokalno ustvarjen promet, zato lahko loči dva uporabnika na enem gostitelju, tudi ko si oba delita pot. Profil povezave z izrecnim seznamom dovoljenj uveljavi upravitelj omrežja ob aktivaciji. Noben pregled ne zahteva spremembe tunela, zato ju je vredno opraviti pred kakršnim koli preoblikovanjem.

ip route get 10.40.2.10
sudo -u bob ip route get 10.40.2.10
nmcli connection show vpn-work | grep -i permission
sudo nft list ruleset | grep -n skuid

Če drugo iskanje pokaže pot tunela, meja ni tam, kjer je predvidevala zasnova.

Pravila sočasnih sej so ločena kontrola

Prehodi pogosto omejujejo, koliko sej lahko drži en račun, in ta meja nima nič skupnega z lokalnimi uporabniki. Omejuje račun, zato lahko druga oseba, ki se prijavi z istimi podatki, konča tunel prve.

Preberite napako, preden domnevate lokalno težavo z izolacijo. Omejitev sej povzroči prekinitev na prehodu, medtem ko težava z obsegom povzroči delujoč tunel, ki preprosto ne prenaša prometa drugega uporabnika. Ta dva simptoma vodita v povsem različna popravka. Shranite natančno sporočilo odjemalca, ker običajno navaja pravilo. Od lastnika profila zahtevajte odobren potek dela, namesto da obidete omejitev.

Navidezni stroj nikogar ne oprosti tega pravila in doda svojo zasnovo omrežja in poverilnic.

Preizkusite kontekst, ki vam je pomemben

Preizkusite predvidenega uporabnika in aplikacijo, nato preizkusite kontekst, ki bi moral biti zavrnjen. Pregled, ki samo dokaže, da izvirno geslo deluje, je preizkusil preverjanje pristnosti in nič drugega.

sudo -u bob curl -sS -m 5 https://intranet.internal/health
wg show
ss -tnp | grep -E ':443|:51820'

Zapišite točko uveljavljanja ob vsakem rezultatu: tabelo poti, pravilo UID, dovoljenje profila ali politiko sej prehoda. Tak zapis naredi naslednjo spremembo pregledno. Prepreči tudi, da bi se isto vprašanje znova odpiralo vsakič, ko kdo opazi drugi prijavni zaslon. Dosegljivost ni avtorizacija in nobeno od obeh ni izolacija.

Sorodni članki