Ортақ компьютердегі бір 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-ге сәйкес келетін firewall ережесі жергілікті түрде пайда болған трафикке қолданылады, сондықтан ол бір хосттағы екі пайдаланушыны бөле алады, тіпті екеуі де маршрутты бөліссе де. Айқын рұқсат тізімі бар қосылым профилін белсендіру кезінде желі менеджері орындайды. Тексерулердің ешқайсысы туннельді өзгертуді талап етпейді, сондықтан кез келген қайта жобалаудан бұрын оларды жасаған жөн.
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 ережесі, профиль рұқсаты немесе шлюздің сессия саясаты. Бұл жазба келесі өзгерісті тексерілетін етеді. Ол сондай-ақ біреу екінші кіру экранын байқаған сайын сол сұрақтың қайта ашылуына жол бермейді. Қолжетімділік авторизация емес, және екеуінің ешқайсысы оқшаулау емес.