სამუშაო სადგურის გაზიარება აყენებს კითხვას, რომელზეც ერთმომხმარებლიან ლეპტოპს პასუხი არასდროს უნდა გასცეს: როცა ერთი ადამიანი ადასტურებს გვირაბს, კიდევ ვის შეუძლია მისი გამოყენება? შესვლა განსაზღვრავს სუბიექტს, და დაყენებული მარშრუტი აღწერს არეს, და ეს ორი ერთი და იგივე ობიექტი არ არის. მათ შორის არის ოპერაციული სისტემა, კლიენტის კონფიგურაცია და ის, რასაც კერძო სერვისი თავად მოითხოვს. აღსრულების წერტილების შედარება ერთადერთი გზაა კითხვაზე გამოცნობის გარეშე პასუხის გასაცემად.

ერთი შესვლა, რამდენიმე არე

აუთენტიფიკაცია პასუხობს, ვინ დაუშვეს. მარშრუტი პასუხობს, რომელი პაკეტები შეიძლება გავიდეს გვირაბიდან. ავტორიზაცია პასუხობს, რომელი სერვისი მიიღებს შედეგ კავშირს, და სამიდან არცერთი არ გულისხმობს შემდეგს.

მთლიანი ჰოსტის გვირაბი ჩვეული ნაგულისხმევია, და ის ხარვეზს აშკარად ხდის. მარშრუტი ბირთვის ცხრილში ზის, ამიტომ ყოველ პროცესს, რომელიც ამ ცხრილს იყენებს, შეუძლია კერძო ქსელამდე მისვლა, მათ შორის იმასაც, რომელიც 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 წესი, პროფილის ნებართვა ან კარიბჭის სესიის პოლიტიკა. ეს ჩანაწერი შემდეგ ცვლილებას გადამოწმებადს ხდის. ის ასევე ხელს უშლის იმავე კითხვის ხელახლა გახსნას ყოველ ჯერზე, როცა ვინმე მეორე შესვლის ეკრანს შეამჩნევს. მისაწვდომობა ავტორიზაცია არ არის, და არც ერთი მათგანი არ არის იზოლაცია.

დაკავშირებული სტატიები