Zaklep VPN PF na Macu: politika mesta, ne dobavljiva funkcija
Packet Filter ni podprt API za distribuirane izdelke. Dodelite naboru pravil lastnika, poimenujte vsako izjemo in preizkusite prehode.
Deluje na vašem Macu, zato je videti kot nekaj, kar lahko izročite uporabnikom. To predpostavko je treba prvo opustiti. Apple v dokumentu TN3165 jasno navaja, da Packet Filter ni podprt API za splošno distribuirane izdelke, in privilegirano, nadzorovano upravljanje mesta šteje za razumen primer. Zato je zaklep VPN, zgrajen na PF, lokalna operativna politika z lastnikom, ne funkcija, ki bi jo lahko dobavili znotraj aplikacije.
PF ni površina za pakiranje
Razlika ni akademska. Distribuiran izdelek, ki je odvisen od PF, podeduje vsako spremembo, ki jo Apple v njem naredi, vsak konflikt z drugim orodjem, ki tudi piše pravila, in nobene zaveze podpore, da bo ta ureditev delovala. Mesto, ki upravlja svoje stroje, ima drugačen odnos: lahko dokumentira odvisnost, jo preizkusi na vsaki izdaji OS in sprejme vzdrževanje.
Nekateri nasveti za namestitev prestopijo mejo, ki jo velja poimenovati. Prepis celotnega sistemskega nabora pravil, da bi se naložilo eno sidro, urejanje Appleove sistemske zagonske konfiguracije ali izklop System Integrity Protection niso sprejemljive zahteve za recept, ki se uporablja znova. Če objavljeni vodnik potrebuje karkoli od tega, opisuje laboratorij, ne politike, ki jo je mogoče uvesti.
Napišite namen izhoda pred sintakso
Odločite, kaj je dovoljeno, preden izberete eno samo ključno besedo. Običajno morajo obstajati tri poti: lastni transport odjemalca VPN do njegovega strežnika, zaščiten promet aplikacije znotraj tunela in vse, kar nastavitev ali lokalne storitve resnično potrebujejo neposredno pot.
Vsaki predlagani izjemi dodelite cilj, transport in lastnika. Dovoljenje vseh vrat do ene končne točke dovoljuje veliko več kot en sam transport, ki ga uporablja tunel, in dodatna izpostavljenost nastane brez tega, da bi kdo odločil, da mora biti tako. Dovoljenje javnega razreševalnika je ista past v prijaznejši preobleki: ustvari neposredno pot DNS tudi, ko je tunel spodaj, zato iskanja imen še vedno uhajajo.
| Path | Destination | Owner |
|---|---|---|
| VPN transport | Gateway address, one UDP port | Network team |
| Tunnel traffic | Internal prefixes | Application owner |
| Resolver exception | Named internal resolver | Security team |
Koristen preizkus izjeme je, ali lahko poimenujete osebo, ki jo je zahtevala, in napako, ki jo preprečuje. Če ni nobenega odgovora, je pravilo verjetno obvoz za napačno konfiguracijo, ki bi sicer ostala nevidna.
Številke utun niso identiteta
MacOS ustvarja tunelske vmesnike kot naprave utun, in številka, dodeljena vašemu VPN, ni stabilna med ponovnimi zagoni, ponovnimi povezavami ali prisotnostjo drugega odjemalca. Pravilo, ki našteva več ugibanih številk, ni politika; to je posnetek enega popoldneva.
Pravilo pritrdite na nekaj, kar prepozna predvidenega ponudnika: načrt naslovov, ki ga dodeli tunel, proces, ki ima vmesnik, ali konfiguracijo, ki jo vzdržuje sam odjemalec VPN. Nato zabeležite, kako to prepoznavanje deluje, ker oseba, ki bo pravilo pregledala čez leto dni, ne bo imela vaše zgodovine lupine.
Naloženo politiko naredite pripisljivo
Ime sidra ureja pravila; ne dokazuje, da je učinkovita politika tista, ki ste jo nameravali. Prednost med sidri, pravila, ki jih naloži druga programska oprema, in obstoječe stanje lahko spremenijo izid. Preglejte učinkovit nabor z vsemi drugimi, ki imajo PF na tem stroju, in lastništvo dokumentirajte na istem mestu kot konfiguracijo. Dva lastnika, ki urejata različna sidra z različnimi predpostavkami, sta običajen način, kako zaklep dobi luknjo.
Nabor pravil imejte v podprti konfiguracijski poti mesta, ga verzionirajte in zabeležite, katere izdaje macOS so bile preizkušene. Sprememba, ki se uporabi ročno in si jo zapomni ena oseba, ni vzdrževana infrastruktura, kar koli pravi glava datoteke.
Preizkusite prehode, ne povezanega stanja
Posnetek zaslona, narejen med delujočim tunelom, ne dokaže skoraj ničesar. Namesto tega pojdite skozi stanja: zagon pred kakršno koli povezavo, delujoč tunel, tunel, ki pade brez opozorila, namerna prekinitev in prehod z Wi-Fi na dostopno točko. Vsako stanje ima svoj odgovor, zanimive pa so napake, ne srečna pot.
V vsakem stanju zabeležite, kaj je namerno dosegljivo. Preverite IPv4 in IPv6 ločeno, preizkusite razreševanje imen in vključite tok, ki je bil že vzpostavljen pred prehodom, ker obstoječe povezave ne sledijo vedno novi politiki. Brskalnik, ki odpove, ko je tunel spodaj, je ena podatkovna točka, ne dokaz, da so vse druge poti blokirane.
Na koncu obdržite način obnovitve, ki ni odvisen od omrežne poti, ki jo spreminjate. Znana dobra konfiguracija v lokalni shrambi in dokumentiran način nalaganja spremenita zaklep v politiko; brez njih ena slaba revizija zaklene skrbnika izven stroja, ki bi moral biti zaščiten.