Жумуш станциясын бөлүшүү бир колдонуучулук ноутбук эч качан жооп бербеген суроону жаратат: бир адам туннелди текшергенден кийин аны дагы ким колдоно алат? Кирүү субъектини аныктайт, ал эми орнотулуучу маршрут өлчөмдү сүрөттөйт, жана бул экөө бир объект эмес. Алардын ортосунда операциялык система, кардардын конфигурациясы жана жеке кызмат өзү талап кылган нерсе турат. Аткаруу пункттарын салыштыруу — бул суроого болжолсуз жооп берүүнүн жалгыз жолу.

Бир кирүү, бир нече өлчөм

Аутентификация ким киргизилгенин жооп берет. Маршрут кайсы пакеттер туннелден чыга аларын жооп берет. Авторизация кайсы кызмат пайда болгон байланышты кабыл аларын жооп берет, жана үчөөнүн эч бири кийинкисин билдирбейт.

Бүт хост туннели кадимки демейки болуп саналат жана ажырымды ачык кылат. Маршрут ядронун таблицасында турат, ошондуктан бул таблицаны колдонгон ар бир процесс жеке тармакка жете алат, анын ичинде VPN терезесин эч качан көрбөгөн колдонуучу иштеткен процесс да. Бул туннелдин кемчилиги эмес; системалык маршруттун мааниси ушунда. Жеке кызмат байланыштан баш тарта алат, ошондуктан жеткиликтүүлүк жана уруксат өзүнчө жоопторду талап кылат.

Төрт суроону сыноодон мурун жазуу кароонун алардын бирине кыскарышына жол бербейт.

Чек чындыгында кайда

Төрт жайгаштыруу машиналардын көбүн камтыйт: бүт хост туннели, колдонуучу боюнча байланыш, колдонмо боюнча уруксат тизмеси жана өзүнчө тармактык ат мейкиндиги же виртуалдык машина.

Ар бири аткаруу пунктун башка жерге коёт, жана айырмачылыктар белгилерден маанилүү. Колдонуучу боюнча байланышты профилдин уруксаттары аткарат, жумуш столунун кирүү экраны эмес. Колдонмо боюнча уруксат тизмесин кардардын ичинде аткарышат, ал эмнени ташый турганын чечет. Ат мейкиндиги же VM интерфейс чегинде аткарат, ошондуктан ички процесс хосттун маршрутун такыр көрө албайт. Машинадагы кирүү экрандарынын саны алардын эч бири жөнүндө эч нерсе айтпайт.

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

Таблицаны сап-сап окуу чыныгы суроо обочолонуу барбы дегенде эмес, ал кайда ишке ашырылгандыгында экенин көрсөтөт.

Төрт аткаруу пунктун салыштырыңыз

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 эрежеси, профил уруксаты же дарбазанын сессия саясаты. Бул жазуу кийинки өзгөртүүнү текшерүүгө мүмкүндүк берет. Ал ошондой эле бирөө экинчи кирүү экранын байкаган сайын ошол эле суроонун кайра ачылышына жол бербейт. Жеткиликтүүлүк авторизация эмес, жана экөөнүн эч бири обочолонуу эмес.

Тектеш макалалар