Zdieľanie pracovnej stanice prináša otázku, na ktorú jedno-používateľský notebook nikdy nemusí odpovedať: keď jedna osoba overí tunel, kto ďalší ho môže používať? Prihlásenie identifikuje subjekt a trasa, ktorú zavádza, opisuje rozsah, a to nie sú tie isté objekty. Medzi nimi stojí operačný systém, konfigurácia klienta a to, čo súkromná služba vyžaduje sama od seba. Porovnanie miest vynútenia je jediný spôsob, ako odpovedať bez hádania.

Jedno prihlásenie, niekoľko rozsahov

Overenie odpovedá, kto bol vpustený. Trasa odpovedá, ktoré pakety smú odísť tunelom. Autorizácia odpovedá, ktorá služba prijme výsledné spojenie, a žiadne z tých troch neznamená to ďalšie.

Tunel pre celého hostiteľa je bežné predvolené nastavenie a medzeru robí zjavnou. Trasa leží v tabuľke jadra, takže každý proces, ktorý tú tabuľku používa, môže dosiahnuť súkromnú sieť, vrátane procesu spusteného používateľom, ktorý dialóg VPN nikdy nevidel. To nie je chyba tunela; to je význam systémovej trasy. Súkromná služba napriek tomu môže spojenie odmietnuť, a preto dostupnosť a oprávnenie potrebujú oddelené odpovede.

Zapísanie štyroch otázok pred testovaním zabráni tomu, aby sa recenzia zúžila na jednu z nich.

Kde hranica skutočne leží

Štyri usporiadania pokrývajú väčšinu strojov: tunel pre celého hostiteľa, spojenie pre používateľa, zoznam povolených aplikácií a oddelený sieťový menný priestor alebo virtuálny stroj.

Každé kladie miesto vynútenia inam a rozdiely sú dôležitejšie než názvy. Spojenie pre používateľa vynucujú oprávnenia profilu, nie prihlasovacia obrazovka plochy. Zoznam povolených aplikácií sa vynucuje vnútri klienta, ktorý rozhoduje, čo ponesie. Menný priestor alebo VM vynucuje na hranici rozhrania, takže proces vnútri vôbec nevidí trasu hostiteľa. Počet prihlasovacích obrazoviek na stroji nehovorí nič o žiadnej z nich.

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

Čítanie tabuľky riadok po riadku ukazuje, že skutočná otázka nie je, či izolácia existuje, ale kde je implementovaná.

Porovnajte štyri miesta vynútenia

V Linuxe je prvou vecou na preskúmanie tabuľka trás, pretože tunel pre celého hostiteľa sa objaví tam a menný priestor nie. Spustenie vyhľadania ako druhý používateľ je krok, ktorý ľudia preskakujú; odpoveď sa líši od tej, ktorú dostali ako oni sami, a to vysvetľuje správu.

Ďalšie dve kontroly sa pozerajú na politiku, nie na smerovanie. Pravidlo firewallu zodpovedajúce UID sa vzťahuje na lokálne vytvorenú prevádzku, takže môže oddeliť dvoch používateľov na jednom hostiteľovi, aj keď obaja zdieľajú trasu. Profil spojenia s explicitným zoznamom oprávnení vynucuje správca siete pri aktivácii. Ani jedna kontrola nevyžaduje zmenu tunela, a preto sa oplatí urobiť ich pred akýmkoľvek prepracovaním.

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

Ak druhé vyhľadanie ukáže trasu tunela, hranica nie je tam, kde návrh predpokladal.

Pravidlá súbežných relácií sú samostatná kontrola

Brány často obmedzujú, koľko relácií môže jeden účet držať, a toto obmedzenie nemá s lokálnymi používateľmi nič spoločné. Obmedzuje účet, takže druhá osoba prihlásená rovnakými údajmi môže ukončiť tunel prvej osoby.

Prečítajte si zlyhanie, skôr než predpokladáte lokálny problém s izoláciou. Obmedzenie relácií vyvolá odpojenie na bráne, kým problém s rozsahom vyvolá funkčný tunel, ktorý jednoducho neprenesie prevádzku druhého používateľa. Tieto dva príznaky vedú k úplne odlišným opravám. Uchovajte presnú správu klienta, pretože zvyčajne pomenúva pravidlo. Požiadajte vlastníka profilu o schválený postup namiesto obchádzania obmedzenia.

Virtuálny stroj nikoho z tohto pravidla nevyjme a pridáva vlastný návrh siete a prihlasovacích údajov.

Testujte kontext, na ktorom vám záleží

Otestujte zamýšľaného používateľa a aplikáciu, potom otestujte kontext, ktorý má byť odmietnutý. Recenzia, ktorá len preukáže, že pôvodné heslo funguje, otestovala overenie a nič iné.

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

Zapíšte miesto vynútenia vedľa každého výsledku: tabuľku trás, pravidlo UID, oprávnenie profilu alebo politiku relácií brány. Taký záznam robí ďalšiu zmenu preskúmateľnou. Tiež bráni tomu, aby sa tá istá otázka znovu otvárala vždy, keď si niekto všimne druhú prihlasovaciu obrazovku. Dostupnosť nie je autorizácia a ani jedno nie je izolácia.

Súvisiace články