İş stansiyasını paylaşmaq, tək istifadəçili noutbukun heç vaxt cavablandırmalı olmadığı bir sual doğurur: bir nəfər tuneli təsdiqlədikdən sonra ondan başqa kim istifadə edə bilər? Giriş bir subyekti müəyyənləşdirir, qurduğu marşrut isə bir əhatəni təsvir edir və bu iki şey eyni obyekt deyil. Aralarında əməliyyat sistemi, müştərinin konfiqurasiyası və şəxsi xidmətin özünün tələb etdiyi şeylər dayanır. Tətbiq nöqtələrini müqayisə etmək bu sualı təxmin etmədən cavablandırmağın yeganə yoludur.

Bir giriş, bir neçə əhatə

Autentifikasiya kimin buraxıldığını cavablandırır. Marşrut hansı paketlərin tuneldən çıxa biləcəyini cavablandırır. Avtorizasiya isə hansı xidmətin yaranan bağlantını qəbul edəcəyini cavablandırır və üçlüyün heç biri digərini şərtləndirmir.

Host üzrə tunel geniş yayılmış standartdır və boşluğu aşkar edir. Marşrut nüvənin cədvəlində dayanır, ona görə də bu cədvəldən istifadə edən hər proses şəxsi şəbəkəyə çata bilər, o cümlədən VPN pəncərəsini heç vaxt görməmiş istifadəçinin başlatdığı proses. Bu, tuneldə qüsur deyil; sistem üzrə marşrutun mənası budur. Şəxsi xidmət hələ də bağlantını rədd edə bilər, buna görə çatımlılıq və icazə ayrı cavablar tələb edir.

Dörd sualı sınaqdan əvvəl yazmaq baxışın onlardan birinə yıxılmasının qarşısını alır.

Sərhəd əslində harada yerləşir

Dörd quruluş əksər maşınları əhatə edir: host üzrə tunel, istifadəçi üzrə bağlantı, tətbiq üzrə icazə siyahısı və ayrı şəbəkə ad məkanı ya virtual maşın.

Hər biri tətbiq nöqtəsini başqa yerə qoyur və fərqlər etiketlərdən daha çox əhəmiyyət daşıyır. İstifadəçi üzrə bağlantı masaüstü giriş ekranı ilə deyil, profil icazələri ilə tətbiq edilir. Tətbiq üzrə icazə siyahısı müştərinin içində tətbiq edilir və nəyi daşıyacağına müştəri qərar verir. Ad məkanı ya VM interfeys sərhədində tətbiq edir, ona görə içəridəki proses hostun marşrutunu heç görə bilmir. Maşındakı giriş ekranlarının sayı onlardan heç biri haqqında heç nə demir.

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

Cədvəli sətir-sətir oxumaq göstərir ki, əsl sual təcridin olub-olmaması deyil, harada həyata keçirildiyidir.

Dörd tətbiq nöqtəsini müqayisə edin

Linux-da ilk yoxlanmalı şey marşrut cədvəlidir, çünki host üzrə tunel orada görünür, ad məkanı isə yox. Axtarışı ikinci istifadəçi kimi işə salmaq insanların atladığı addımdır; cavab özləri kimi aldıqlarından fərqlənir və bu, hesabatı izah edir.

Növbəti iki yoxlama marşrutlaşdırmaya deyil, siyasətə baxır. UID-ə uyğun gələn firewall qaydası yerli olaraq yaradılan trafikə aiddir, ona görə bir hostda iki istifadəçini ayıra bilər, hətta ikisi də marşrutu paylaşsa. Açıq icazə siyahısı olan bağlantı profili aktivləşmə zamanı şəbəkə meneceri tərəfindən tətbiq edilir. Yoxlamaların heç biri tunelin dəyişməsini tələb etmir, buna görə hər hansı şeyi yenidən dizayn etməzdən əvvəl onları etməyə dəyər.

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

Əgər ikinci axtarış tunel marşrutunu göstərirsə, sərhəd dizaynın fərz etdiyi yerdə deyil.

Eyni vaxtlı sessiya qaydaları ayrı bir nəzarətdir

Şlüzlər çox vaxt bir hesabın neçə sessiya saxlaya biləcəyini məhdudlaşdırır və bu hədd yerli istifadəçilərlə heç bir əlaqəsi yoxdur. O, hesabı məhdudlaşdırır, ona görə eyni etimadnamə ilə daxil olan ikinci şəxs birincinin tunelini bitirə bilər.

Yerli təcrid problemini fərz etməzdən əvvəl nasazlığı oxuyun. Sessiya həddi şlüzdə kəsilmə yaradır, əhatə problemi isə işləyən, lakin digər istifadəçinin trafikini sadəcə daşımayan tunel yaradır. Bu iki simptom tamamilə fərqli düzəlişlərə aparır. Müştərinin dəqiq mesajını saxlayın, çünki adətən qaydanı göstərir. Həddi dolanmaq əvəzinə profil sahibindən təsdiqlənmiş iş axınını istəyin.

Virtual maşın heç kimi bu qaydadan azad etmir və öz şəbəkə və etimadnamə dizaynını əlavə edir.

Sizi maraqlandıran konteksti sınayın

Nəzərdə tutulan istifadəçini və tətbiqi sınayın, sonra rədd edilməli olan konteksti sınayın. Yalnız ilkin parolun işlədiyini sübut edən baxış autentifikasiyanı sınamış olur, başqa heç nəyi yox.

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

Hər nəticənin yanında tətbiq nöqtəsini qeyd edin: marşrut cədvəli, UID qaydası, profil icazəsi ya şlüzün sessiya siyasəti. Bu qeyd növbəti dəyişikliyi yoxlanıla bilən edir. O, həm də hər dəfə kimsə ikinci giriş ekranı görəndə eyni sualın yenidən açılmasının qarşısını alır. Çatımlılıq avtorizasiya deyil və heç biri təcrid deyil.

Əlaqəli məqalələr