Једна VPN пријава на дељеном рачунару: ко још добија руту?
Пријава на VPN потврђује једну особу; рута коју инсталира је други обухват. Упоредите тунеле за цео хост, по кориснику и по апликацији на дељеном рачунару.
Дељење радне станице покреће питање на које преносни рачунар за једног корисника никада не мора да одговори: када једна особа потврди тунел, ко још може да га користи? Пријава идентификује субјекат, а рута која се инсталира описује обухват, и то нису исти објекат. Између њих стоје оперативни систем, конфигурација клијента и оно што приватна служба захтева сама по себи. Поређење тачака спровођења једини је начин да се одговори без нагађања.
Једна пријава, неколико обухвата
Аутентификација одговара ко је пуштен. Рута одговара који пакети могу да изађу кроз тунел. Ауторизација одговара која ће служба прихватити насталу везу, и ниједно од то троје не подразумева следеће.
Тунел за цео хост је уобичајено подразумевано понашање и чини празнину очигледном. Рута стоји у табели језгра, па сваки процес који користи ту табелу може да достигне приватну мрежу, укључујући онај који је покренуо корисник који никада није видео VPN дијалог. То није недостатак у тунелу; то је значење руте на нивоу система. Приватна служба ипак може да одбије везу, зато доступност и дозвола траже одвојене одговоре.
Писање четири питања пре тестирања спречава да се преглед сведе на једно од њих.
Где граница заправо стоји
Четири распореда покривају већину рачунара: тунел за цео хост, веза по кориснику, списак дозвољених апликација и одвојен мрежни простор имена или виртуелна машина.
Сваки поставља тачку спровођења на друго место, а разлике су важније од назива. Везу по кориснику спроводе дозволе профила, а не екран за пријаву на радној површини. Списак дозвољених апликација спроводи се унутар клијента, који одлучује шта ће носити. Простор имена или VM спроводи на граници интерфејса, па процес унутра уопште не види руту хоста. Број екрана за пријаву на рачунару не говори ништа ни о једном од њих.
| Arrangement | Enforced by | Who can use the path |
|---|---|---|
| Host-wide tunnel | The routing table | Any local process using that table |
| Per-user connection | Profile permission list | Only the listed accounts |
| Per-app allowlist | The VPN client itself | Only the selected applications |
| Namespace or VM | The interface boundary | Only processes inside it |
Читање табеле ред по ред показује да право питање није постоји ли изолација, него где је она спроведена.
Упоредите четири тачке спровођења
На Linux-у је табела рута прво што треба прегледати, јер се тунел за цео хост појављује тамо, а простор имена не. Покретање претраге као други корисник корак је који људи прескачу; одговор се разликује од оног који су добили као они сами, и то објашњава извештај.
Следеће две провере гледају политику, а не рутирање. Правило заштитног зида које одговара UID-у примењује се на локално створен саобраћај, па може да раздвоји два корисника на једном хосту чак и када обојица деле руту. Профил везе са експлицитним списком дозвола спроводи мрежни менаџер при активирању. Ниједна провера не захтева да се тунел промени, зато их вреди обавити пре било каквог редизајна.
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
Ако друга претрага покаже руту тунела, граница није тамо где је пројекат претпоставио.
Правила истовремених сесија су одвојена контрола
Пролази често ограничавају колико сесија може да држи један налог, и то ограничење нема никакве везе са локалним корисницима. Оно ограничава налог, па други човек који се пријави истим подацима може да прекине тунел првог.
Прочитајте отказ пре него што претпоставите локални проблем са изолацијом. Ограничење сесија производи прекид на пролазу, док проблем обухвата производи тунел који ради али једноставно не носи саобраћај другог корисника. Та два симптома воде ка потпуно различитим исправкама. Сачувајте тачну поруку клијента, јер она обично именује правило. Затражите од власника профила одобрени ток рада уместо да заобилазите ограничење.
Виртуелна машина никога не изузима од тог правила и додаје сопствени дизајн мреже и акредитива.
Тестирајте контекст који вам је важан
Тестирајте предвиђеног корисника и апликацију, а затим тестирајте контекст који би требало да буде одбијен. Преглед који само докаже да изворна лозинка ради тестирао је аутентификацију и ништа друго.
sudo -u bob curl -sS -m 5 https://intranet.internal/health
wg show
ss -tnp | grep -E ':443|:51820'
Запишите тачку спровођења поред сваког резултата: табелу рута, правило UID-а, дозволу профила или сесијску политику пролаза. Тај запис чини следећу промену проверљивом. Он такође спречава да се исто питање поново отвара сваки пут када неко примети други екран за пријаву. Доступност није ауторизација, и ниједно од тога није изолација.