რომელი macOS ხელსაწყო შეუძლია აიძულოს ერთი აპი მხოლოდ VPN-ის გავლით იმუშაოს?
მხოლოდ-VPN საზღვარს სჭირდება როგორც გზა, ისე უარი. შეადარეთ აპის მიხედვით პროფილები, პროქსები, ფილტრები და PF, შემდეგ შეამოწმეთ ის ერთი აპი, რომელიც გაწუხებთ.
მოთხოვნების დოკუმენტში ერთი სტრიქონი — „ამ აპს შეუძლია VPN-ის გამოყენება და სხვა არაფრის“ — ჩუმად ითხოვს ორ მექანიზმს, რომელსაც არც ერთი გადამრთველი არ იძლევა. ტრაფიკს სჭირდება გზა განზრახ გვირაბში, ხოლო ტრაფიკი, რომელიც პირდაპირ გავიდოდა, უნდა უარყოს. ხელსაწყოები, რომლებიც ერთს კარგად აკეთებენ და მეორეს საერთოდ არა, გავრცელებულია, ამიტომ შედარება, რომელიც მხოლოდ კითხულობს შეიძლება თუ არა რაღაცის დაბლოკვა, თავდაჯერებულად პასუხობს კითხვის ნახევარს. ჯერ დაწერეთ საზღვარი, შემდეგ აირჩიეთ კომპონენტები, რომლებიც მის ორივე ნახევარს ფარავს.
ერთ წინადადებაში დამალული ორი მოთხოვნა
მართვა ის ნაწილია, რომელიც კავშირს გვირაბში ან პროქსიში ათავსებს. უარი ის ნაწილია, რომელიც იმავე კავშირს სხვა ნებისმიერი მარშრუტით გასვლის საშუალებას არ აძლევს. მათ სხვადასხვა კომპონენტი ახორციელებს, ისინი სხვადასხვაგვარად ფუჭდებიან და პროდუქტი შეიძლება ერთში შესანიშნავი იყოს და მეორეზე არაფერი თქვას:
| Approach | Steers traffic | Refuses direct egress | Knows the app identity |
|---|---|---|---|
| Per-app VPN profile | Yes, for the apps it names | Only if a filter or firewall also blocks | Yes, within its own rules |
| Application proxy setting | Partly, for requests that honour it | No | No |
| Content filter | No | Yes | Yes, if the filter is written that way |
| Local PF ruleset | No | Yes, by address and port | Not reliably |
წაიკითხეთ ცხრილი როგორც სამოწმებელი სია და არა როგორც რეიტინგი. არც ერთი სტრიქონი არ ავსებს ორივე შუა სვეტს და ის სტრიქონები, რომლებიც მათ ფარავს, ორი თანამშრომლობადი კომპონენტია: ერთი ფლობს გზას, მეორე — უარს. იდენტობის სვეტი სხვა მიზეზით მნიშვნელოვანია, რადგან წესი, რომელსაც აპის დასახელება არ შეუძლია, ვერ აღასრულებს ამ აპის შესახებ წესს. რაც არ უნდა განათავსოთ, მან სამივეს უნდა უპასუხოს, თორემ მოთხოვნების დოკუმენტში არსებული საზღვარი მანქანაზე არსებული საზღვარი არ არის.
მხოლოდ მართვა გასასვლელს ტოვებს
აპლიკაციის პროქსის პარამეტრი უარის გარეშე მართვის ყველაზე ნათელი მაგალითია. მას შეუძლია სისტემის პროქსის პატივისცემის მქონე აპის მოთხოვნების მართვა და სხვა არაფრის დაფარვა: დამხმარე პროცესს, განახლების პროგრამას, ფონურ სერვისს ან სხვა პროტოკოლს შეუძლია საკუთარი გზით იმოძრაოს იმ პარამეტრის არც ერთხელ წაკითხვის გარეშე. ამიტომ ერთ პანელში SOCKS-ის საბოლოო წერტილის არჩევა აპლიკაციისთვის პირდაპირი გასვლის აკრძალვის პოლიტიკას არ ქმნის. თუ მოთხოვნა მთლიანად აპს ეხება, იკითხეთ რომელ კომპონენტებს ცნობს წესი სინამდვილეში.
აპის მიხედვით VPN პროფილი პროქსიზე უკეთ მართავს, რადგან პლატფორმა წყვეტს რომელი აპები შევიდნენ გვირაბში იმის ნაცვლად, რომ თითოეულმა აპმა თავად გადაწყვიტოს. მიუხედავად ამისა ის არაფერს უარყოფს: პროფილი გზას იძლევა და ტრაფიკი, რომელიც მას არ ემთხვევა, ჩვეულ მარშრუტს მიჰყვება. სწორედ ეს ნაპრალია ის ადგილი, სადაც მეორე კომპონენტი თავის ადგილს იმსახურებს და ამიტომ ერთ გადამრთველს დამსგავსებული პროდუქტები ჩვეულებრივ ორია.
მხოლოდ უარი აპს ამტვრევს
Apple-ის დოკუმენტაცია შიგთავსის ფილტრების შესახებ აღწერს დაშვება-ან-დაბლოკვის განაჩენს ტრაფიკზე, სანამ ის ქსელურ დასტაში გადის. ეს განაჩენი არც გვირაბია და არც პროქსის კავშირი, რადგან ის წყვეტს შეიძლება თუ არა რაღაცის გაგრძელება და არა სად მიდის. მხოლოდ ფილტრი სრულყოფილად აღასრულებს უარს და აპლიკაციას უსარგებლოს ტოვებს, სუფთა ჟურნალებით და ყოველგვარი ახსნის გარეშე. ფილტრის განაჩენს შეუძლია კავშირის შეჩერება, მაგრამ გვირაბს არასოდეს იძლევა, ამიტომ მისი მართვასთან შეწყვილება დიზაინის გადაწყვეტილებაა და არა არასავალდებულო დამატება.
ლოკალურად მართული PF წესების ნაკრები ამ სპექტრის მეორე ბოლოში დგას. ეს ლეგიტიმური მხარდაჭერის გადაწყვეტილებაა მანქანაზე, რომელსაც ადმინისტრატორი ფლობს და ავტომატურად არ არის გავრცელებადი პროდუქტის საფუძველი, რადგან ვინც წესების ნაკრებს ფლობს, ის ასევე ფლობს მის ურთიერთქმედებებს სხვა ცეცხლოვანი კედლის მომხმარებლებთან, მის განახლების გზას და მის აღდგენას, როცა წესი მცდარია. PF-ის პროდუქტში დამატება ამ საკუთრების კითხვას არ აშორებს; ის მას განსაზღვრავს.
განლაგება წყვეტს დარჩება თუ არა წესი ხვალაც
როგორ განლაგდება Network Extension Apple-ის პლატფორმებზე, დამოკიდებულია მომწოდებლის ტიპზე, შეფუთვაზე და თქვენ წინ არსებულ OS-ის ვერსიაზე. აპის გაფართოება macOS-ზე მომხმარებლის კონტექსტში მუშაობს და მთავრდება, როცა ეს მომხმარებელი გადის, ხოლო სისტემურ გაფართოებას გლობალური კონტექსტი აქვს, რომელიც სესიაზე არ არის დამოკიდებული. თუ დაცვამ გასვლა უნდა გადაიტანოს, ეს განსხვავება მთელი დიზაინია და არა სქოლიო. დაადასტურეთ განლაგების გზა, სანამ ქცევას დაპირდებით, რადგან იგივე კოდი სხვადასხვაგვარად ეშვება იმის მიხედვით, თუ რომელი გაფართოების ტიპი იგზავნება.
წყაროს ხელმისაწვდომობა აღსრულებისგან ცალკე საკითხია. საცავის წაკითხვა გეუბნებათ როგორ არის რაღაც განხორციელებული და არა რისი უფლება აქვს დაყენებულ ბინარულ ფაილს ამ მანქანაზე. ხელმოწერა, დაყენება და ავტორიზაცია კვლავ მოქმედებს და მოძველებული ბირთვის გაფართოების ან ბიბლიოთეკის ინექციის ხრიკის გარშემო აგებული ინსტრუქციები სხვა პლატფორმას და სხვა რისკის პოზიციას აღწერს, რაც არ უნდა კარგად მუშაობდეს ოდესღაც.
მიღების შემთხვევა, რომელიც აპს ასახელებს
აირჩიეთ ერთი მოქმედება, რომელსაც აპლიკაცია თავისით ასრულებს, ჩაიწერეთ მისამართი, რომელსაც უნდა მიაღწიოს და არის თუ არა ეს მისამართი IPv4 თუ IPv6, შემდეგ გაიმეორეთ იგივე მოქმედება დამტკიცებულ გვირაბის გარეშე მდგომარეობაში. მეორე გაშვებამ უნდა წარმოქმნას გამოცხადებული უარი და არა ჩუმი პირდაპირი ხელახალი ცდა. ეს არის ის ნახევარი, რომელსაც ადამიანები დაუზუსტებლად ტოვებენ და ერთადერთი ნახევარი, რომელიც ამტკიცებს, რომ უარი საერთოდ არსებობს. გაუშვით ის ჯერ გვირაბის ხელმისაწვდომობისას, რათა ორ შედეგს შორის სხვაობა მხოლოდ დაკარგული გვირაბიდან მოვიდეს.
შემდეგ გაიარეთ გადასვლები, რომლებსაც მოთხოვნა ასახელებს: აპის გადატვირთვა, დამხმარე პროცესის ამოქმედება, გვირაბის ხელახალი დაკავშირება, მანქანის ქსელის შეცვლა და გასვლა ან გადატვირთვა, სადაც ეს შეესაბამება. ბრაუზერის საჯარო IP გვერდი სხვა აპლიკაციის სოკეტების გამოცდა არ არის, ამიტომ მას ამის შეცვლა არ შეუძლია. სადაც არც ერთი მხარდაჭერილი განლაგება არ ფარავს აპის რეალურ ქცევას, უფლებამოსილი იზოლირებული გარემო აშკარა კარიბჭით და ალტერნატიული გასასვლელის გარეშე შეკავების გადაწყვეტილებაა საკუთარი მართვის ხარჯით და არა მოსანიშნი უჯრის შემცვლელი.
დაასრულეთ ოთხი ჩანაწერის დაწერით: რომელი კომპონენტებისგან შედგება აპი, ვინ ფლობს მართვას, ვინ ფლობს უარს და რომელ მდგომარეობებში უნდა იმოქმედოს წესმა კვლავ. საჯარო საცავი შეიძლება იყოს შერჩევის ერთი კრიტერიუმი, მაგრამ ის ოთხიდან ერთი არ არის და სწორედ ეს ჩანაწერები წყვეტს აკმაყოფილებს თუ არა მოცემული ხელსაწყო ქსელურ მოთხოვნას.