Cili mjet macOS mund ta detyrojë një aplikacion të vetëm të kalojë vetëm përmes VPN-së?
Një kufi vetëm-VPN kërkon edhe rrugë edhe refuzim. Krahasoni profile për çdo aplikacion, përfaqësues, filtra dhe PF, pastaj testoni atë aplikacionin që ju intereson.
Një rresht në një dokument kërkesash — „ky aplikacion mund të përdorë VPN-në dhe asgjë tjetër“ — kërkon në heshtje dy mekanizma që asnjë çelës i vetëm nuk i ofron. Trafiku ka nevojë për një rrugë përmes tunelit të synuar, dhe trafiku që do të dilte drejtpërdrejt duhet të refuzohet. Mjetet që bëjnë mirë njërën dhe tjetrën aspak janë të zakonshme, prandaj një krahasim që pyet vetëm nëse diçka mund të bllokojë përgjigjet me siguri gjysmën e pyetjes. Fillimisht shkruani kufirin, pastaj zgjidhni komponentët që mbulojnë të dyja gjysmat e tij.
Dy kërkesa të fshehura në një fjali
Drejtimi është pjesa që vendos një lidhje në tunel ose në përfaqësues. Refuzimi është pjesa që e pengon të njëjtën lidhje të dalë nga çdo rrugë tjetër. I zbatojnë komponentë të ndryshëm, dështojnë në mënyra të ndryshme, dhe një produkt mund të jetë i shkëlqyer në njërën pa thënë asgjë për tjetrën:
| 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 |
Lexojeni tabelën si një listë kontrolli dhe jo si një renditje. Asnjë rresht nuk i plotëson të dyja kolonat e mesit, dhe rreshtat që i mbulojnë ato janë dy komponentë që bashkëpunojnë: njëri zotëron rrugën, tjetri refuzimin. Kolona e identitetit ka rëndësi për një arsye tjetër, sepse një rregull që nuk mund ta emërtojë aplikacionin nuk mund të zbatojë një rregull për atë aplikacion. Çfarëdo që të vendosni, duhet t'u përgjigjet të treve, përndryshe kufiri në dokumentin e kërkesave nuk është kufiri në makinë.
Drejtimi vetëm lë një rrugëdalje
Cilësimi i përfaqësuesit të aplikacionit është shembulli më i qartë i drejtimit pa refuzim. Mund t'i drejtojë kërkesat e një aplikacioni që respekton përfaqësuesin e sistemit dhe nuk mbulon asgjë tjetër: një proces ndihmës, një përditësues, një shërbim në sfond ose një protokoll tjetër mund të shkojnë rrugën e vet pa e lexuar kurrë atë cilësim. Prandaj zgjedhja e një pike fundore SOCKS në një panel nuk krijon politikë të ndalimit të daljes së drejtpërdrejtë për aplikacionin. Nëse kërkesa ka të bëjë me aplikacionin në tërësi, pyesni cilët komponentë rregulli identifikon vërtet.
Një profil VPN për aplikacion drejton më mirë sesa një përfaqësues, sepse platforma vendos cilat aplikacione hyjnë në tunel në vend që çdo aplikacion të vendosë vetë. Megjithatë nuk refuzon asgjë: profili ofron një rrugë, dhe trafiku që nuk përputhet me të ndjek rrugën e zakonshme. Pikërisht ajo e çarë është vendi ku komponenti i dytë fiton vendin e vet, dhe për këtë arsye produktet që duken si një çelës i vetëm janë zakonisht dy.
Refuzimi vetëm e prish aplikacionin
Dokumentacioni i Apple për filtrat e përmbajtjes përshkruan një vendim lejo-ose-blloko për trafikun ndërsa kalon nëpër shtresën e rrjetit. Ky vendim nuk është tunel dhe as lidhje përfaqësuesi, sepse vendos nëse diçka mund të vazhdojë, jo ku shkon. Një filtër vetëm e zbaton refuzimin në mënyrë të përsosur dhe e lë aplikacionin të papërdorshëm, me regjistra të pastër dhe pa asnjë shpjegim. Vendimi i një filtri mund të ndalojë një lidhje por nuk e ofron kurrë tunelin, prandaj çiftimi i tij me drejtimin është vendimi i projektimit dhe jo një shtesë opsionale.
Një grup rregullash PF i administruar lokalisht qëndron në skajin tjetër të atij spektri. Është një vendim mbështetjeje i ligjshëm në një makinë që zotërohet nga një administrator, dhe nuk është automatikisht themeli i një produkti të shpërndarëshëm, sepse kush zotëron grupin e rregullave zotëron edhe ndërveprimet e tij me përdorues të tjerë të mureve të zjarrit, rrugën e përditësimit dhe rikuperimin kur një rregull është i gabuar. Shtimi i PF-së në një produkt nuk e heq atë pyetje të pronësisë; e përcakton atë.
Vendosja në punë vendos nëse rregulli do të ekzistojë edhe nesër
Mënyra se si vendoset në punë Network Extension në platformat Apple varet nga lloji i ofruesit, paketimi dhe versioni i sistemit operativ përpara jush. Një shtesë aplikacioni në macOS punon në kontekstin e një përdoruesi dhe përfundon kur ai përdorues shkëputet, ndërsa një shtesë sistemi ka një kontekst global që nuk varet nga sesioni. Nëse mbrojtja duhet t'i mbijetojë një shkëputjeje, ai dallim është i gjithë projektimi dhe jo një fusnotë. Konfirmoni rrugën e vendosjes në punë përpara se të premtoni sjelljen, sepse i njëjti kod zbret ndryshe në varësi të llojit të shtesës që dërgohet.
Disponueshmëria e burimit është çështje e veçantë nga zbatimi. Leximi i një depoje ju thotë si është zbatuar diçka, jo çfarë lejohet të bëjë binari i instaluar në këtë makinë. Nënshkrimi, instalimi dhe autorizimi vazhdojnë të zbatohen, dhe udhëzimet e ndërtuara rreth një shtese kerneli të vjetruar ose një truku injektimi biblioteke përshkruajnë një platformë tjetër dhe një qëndrim tjetër ndaj rrezikut, sado mirë që funksiononin dikur.
Një rast pranimi që e emërton aplikacionin
Zgjidhni një veprim të vetëm që aplikacioni e bën vetë, shënoni adresën që duhet të arrijë dhe nëse ajo adresë është IPv4 apo IPv6, pastaj përsëritni të njëjtin veprim në gjendjen e miratuar pa tunel. Ekzekutimi i dytë duhet të prodhojë refuzimin e deklaruar dhe jo një provë të drejtpërdrejtë të heshtur. Kjo është gjysma që njerëzit e lënë të papërcaktuar, dhe gjysma e vetme që provon se refuzimi ekziston fare. Ekzekutojeni fillimisht me tunelin të disponueshëm, që dallimi midis dy rezultateve të mund të vijë vetëm nga tuneli që mungon.
Pastaj kaloni nëpër tranzicionet që emërton kërkesa: rinisja e aplikacionit, aktivizimi i një procesi ndihmës, rilidhja e tunelit, ndryshimi i rrjeteve nga makina, dhe një shkëputje ose rinisje ku zbatohen. Një faqe IP publike në shfletues nuk është test i soketave të një aplikacioni tjetër, prandaj nuk mund ta zëvendësojë këtë. Aty ku asnjë vendosje në punë e mbështetur nuk e mbulon sjelljen reale të aplikacionit, një mjedis i izoluar i autorizuar me një portë të qartë dhe pa dalje alternative është një vendim përmbajtjeje me koston e vet të menaxhimit, jo një zëvendësim për një kuti kontrolli.
Përfundoni duke shkruar katër zëra: nga cilët komponentë përbëhet aplikacioni, kush zotëron drejtimin, kush zotëron refuzimin, dhe gjendjet në të cilat rregulli duhet të vlejë ende. Një depo publike mund të jetë një kriter përzgjedhjeje, por nuk është një nga të katërt, dhe pikërisht ata zëra vendosin nëse një mjet i caktuar plotëson kërkesën e rrjetit.