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

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

სამუშაო პროცესის ის ნაწილი, რომელიც არავინ დააყენა

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

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

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

PlatformPolicy objectWhat it is evaluated against
AndroidPer-app VPN allowlistPackage name of the process opening the socket
WindowsApplication traffic filtersApplication path in the filter rule
LinuxUID or cgroup routing rulesOwner of the socket, which can be a different program

რომელმა პროცესმა შექმნა კავშირი სინამდვილეში

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

ss -tnp state established '( dport = :443 )'
Get-NetTCPConnection -State Established | Select-Object RemoteAddress,OwningProcess

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

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

დაფარვა სამუშაო პროცესის თვისებაა

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

სისტემური შუამავლის გამორიცხვა ერთი აპის გასასწორებლად გავრცელებული შეცდომაა. შუამავლები საერთოა, ამიტომ გამორიცხვა მიჰყვება ყოველ სხვა აპს, რომელიც იმავე გზას იყენებს, ჩვეულებრივ ისე, რომ ვერავინ შეამჩნევს, სანამ კვირების შემდეგ ანგარიში არ მოვა. წაიკითხეთ, კიდევ რაა დამოკიდებული კომპონენტზე, სანამ გამორიცხავთ.

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

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

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