Darbstacijas koplietošana rada jautājumu, uz kuru viena lietotāja klēpjdatoram nekad nav jāatbild: kad viena persona autentificē tuneli, kas vēl to var izmantot? Pieteikšanās identificē subjektu, un instalētais maršruts apraksta apjomu, un šīs divas lietas nav viens un tas pats objekts. Starp tām ir operētājsistēma, klienta konfigurācija un tas, ko pieprasa pats privātais pakalpojums. Izpildes punktu salīdzināšana ir vienīgais veids, kā atbildēt uz jautājumu bez minēšanas.

Viena pieteikšanās, vairāki apjomi

Autentifikācija atbild, kurš tika ielaists. Maršruts atbild, kuri paketes drīkst iziet caur tuneli. Autorizācija atbild, kurš pakalpojums pieņems izveidoto savienojumu, un neviens no trim neizriet no otra.

Visa resursdatora tunelis ir ierastā noklusējuma izvēle, un tas padara plaisu acīmredzamu. Maršruts atrodas kodola tabulā, tāpēc jebkurš process, kas izmanto šo tabulu, var sasniegt privāto tīklu, tostarp tāds, kuru palaidis lietotājs, kurš nekad nav redzējis VPN dialogu. Tas nav tuneļa defekts; tā ir visas sistēmas maršruta nozīme. Privātais pakalpojums joprojām var atteikt savienojumu, tāpēc sasniedzamībai un atļaujai vajadzīgas atsevišķas atbildes.

Četru jautājumu pierakstīšana pirms testēšanas neļauj pārskatam sašaurināties līdz vienam no tiem.

Kur patiesībā atrodas robeža

Četri izkārtojumi aptver lielāko daļu iekārtu: visa resursdatora tunelis, lietotāja savienojums, atļauto lietotņu saraksts un atsevišķa tīkla nosaukumtelpa vai virtuālā mašīna.

Katrs izpildes punktu novieto citur, un atšķirības ir svarīgākas par nosaukumiem. Lietotāja savienojumu izpilda profila atļaujas, nevis darbvirsmas pieteikšanās ekrāns. Atļauto lietotņu sarakstu izpilda klients, kas izlemj, ko tas nesīs. Nosaukumtelpa vai VM izpilda saskarnes robežā, tāpēc iekšienē esošais process vispār neredz resursdatora maršrutu. Pieteikšanās ekrānu skaits iekārtā neko neizsaka par nevienu no tiem.

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

Tabulas lasīšana rindu pa rindai parāda, ka patiesais jautājums nav par to, vai izolācija pastāv, bet gan kur tā ir ieviesta.

Salīdziniet četrus izpildes punktus

Linux maršrutu tabula ir pirmais, kas jāpārbauda, jo visa resursdatora tunelis tajā parādās, bet nosaukumtelpa ne. Meklējuma izpilde kā otrajam lietotājam ir solis, ko cilvēki izlaiž; atbilde atšķiras no tās, ko viņi ieguva kā viņi paši, un tas izskaidro ziņojumu.

Nākamās divas pārbaudes skata politiku, nevis maršrutēšanu. Ugunsmūra noteikums, kas atbilst UID, attiecas uz lokāli ģenerētu trafiku, tāpēc tas var atdalīt divus lietotājus vienā resursdatorā arī tad, ja abi koplieto maršrutu. Savienojuma profils ar skaidru atļauju sarakstu tiek izpildīts tīkla pārvaldniekā aktivizācijas laikā. Neviena pārbaude neprasa mainīt tuneli, tāpēc tās ir vērts veikt pirms jebkādas pārprojektēšanas.

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

Ja otrais meklējums parāda tuneļa maršrutu, robeža nav tur, kur projektējums pieņēma.

Vienlaicīgu sesiju noteikumi ir atsevišķa kontrole

Vārtejas bieži ierobežo, cik sesijas var turēt viens konts, un šim ierobežojumam nav nekāda sakara ar vietējiem lietotājiem. Tas ierobežo kontu, tāpēc otra persona, kas piesakās ar tiem pašiem datiem, var pārtraukt pirmās personas tuneli.

Izlasi kļūdu, pirms pieņem vietēju izolācijas problēmu. Sesiju ierobežojums rada atslēgšanos vārtejā, savukārt apjoma problēma rada strādājošu tuneli, kas vienkārši nenes otras personas trafiku. Šie divi simptomi ved pie pilnīgi atšķirīgiem labojumiem. Saglabā precīzu klienta ziņojumu, jo tajā parasti ir nosaukts noteikums. Lūdz profila īpašniekam apstiprināto darbplūsmu, nevis apiet ierobežojumu.

Virtuālā mašīna nevienu neatbrīvo no šī noteikuma un pievieno savu tīkla un pieteikšanās datu dizainu.

Pārbaudi kontekstu, kas tev ir svarīgs

Pārbaudi paredzēto lietotāju un lietotni, pēc tam pārbaudi kontekstu, kuram būtu jābūt atteiktam. Pārskats, kas tikai pierāda, ka sākotnējā parole darbojas, ir pārbaudījis autentifikāciju un neko citu.

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

Pieraksti izpildes punktu blakus katram rezultātam: maršrutu tabulu, UID noteikumu, profila atļauju vai vārtejas sesiju politiku. Šis ieraksts padara nākamo izmaiņu pārskatāmu. Tas arī neļauj tam pašam jautājumam atkal atvērties katru reizi, kad kāds pamana otru pieteikšanās ekrānu. Sasniedzamība nav autorizācija, un neviens no abiem nav izolācija.

Saistītie raksti