Mac PF VPN-lukk: saidi poliitika, mitte tarnitav funktsioon
Packet Filter ei ole toetatud API jaotatavate toodete jaoks. Anna reeglistikule omanik, nimeta iga erand ja testi üleminekuid.
See töötab sinu Macis, seega tundub see midagi, mida saab kasutajatele anda. See eeldus on esimene, millest tuleb loobuda. Apple'i TN3165 ütleb selgelt, et Packet Filter ei ole üldiselt jaotatavate toodete jaoks toetatud API, ja käsitleb privilegeeritud, kontrollitud saidi haldust mõistliku juhtumina. PF-ile ehitatud VPN-lukk on seega kohalik operatiivpoliitika, millel on omanik, mitte funktsioon, mida saab rakenduses tarnida.
PF ei ole pakendamise pind
Erinevus ei ole akadeemiline. PF-ist sõltuv jaotatav toode pärib iga muudatuse, mille Apple selles teeb, iga konflikti teise tööriistaga, mis samuti reegleid kirjutab, ja mitte mingit tugikohustust, et see lahendus jätkab töötamist. Sait, mis haldab oma masinaid, on teistsuguses suhtes: ta saab sõltuvuse dokumenteerida, seda iga OS-i väljalaske vastu testida ja hoolduse vastu võtta.
Mõned paigaldusnõuanded ületavad piiri, mida tasub nimetada. Kogu süsteemi reeglistiku ülekirjutamine, et üks ankur laaditaks, Apple'i süsteemse käivituskonfiguratsiooni muutmine või System Integrity Protectioni keelamine ei ole korduvkasutatava retsepti jaoks vastuvõetavad nõuded. Kui avaldatud juhend vajab midagi neist, kirjeldab see laborit, mitte juurutatavat poliitikat.
Kirjuta väljumiskavatsus enne süntaksit
Otsusta, mis on lubatud, enne kui valid ühegi märksõna. Tavaliselt peab olema kolm teed: VPN-kliendi enda transport tema serverini, kaitstud rakenduse liiklus tunnelis ja kõik, mida seadistus või kohalikud teenused tõesti otsest teed vajavad.
Anna igale pakutud erandile sihtkoht, transport ja omanik. Kõigi portide lubamine ühe lõpp-punktini lubab palju rohkem kui üks transport, mida tunnel kasutab, ja lisaavanemine tekib ilma, et keegi oleks otsustanud, et see peaks olema. Avaliku resolveri lubamine on sama lõks sõbralikumas kostüümis: see loob otsese DNS-tee ka siis, kui tunnel on maas, nii et nimede otsingud lekivad endiselt.
| 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 |
Erandi kasulik test on see, kas suudad nimetada inimese, kes seda palus, ja tõrke, mida see ära hoiab. Kui kumbagi vastust ei ole, on reegel tõenäoliselt vale konfiguratsiooni möödasõit, mis muidu jääks nähtamatuks.
utun-numbrid ei ole identiteet
MacOS loob tunneliliideseid utun seadmetena ja sinu VPN-ile määratud number ei ole stabiilne taaskäivituste, uuesti ühendamiste või teise kliendi juuresoleku vahel. Reegel, mis loetleb mitut oletatud numbrit, ei ole poliitika; see on ühe pärastlõuna hetktõmmis.
Ankru reegel millegi külge, mis identifitseerib kavandatud teenusepakkuja: aadressiplaan, mille tunnel määrab, protsess, mis liidest omab, või konfiguratsioon, mida VPN-klient ise haldab. Seejärel kirjuta üles, kuidas see identifitseerimine töötab, sest inimene, kes reeglit aasta pärast üle vaatab, ei oma sinu shelli ajalugu.
Tee laaditud poliitika omistatavaks
Ankru nimi korrastab reegleid; see ei tõesta, et tegelik poliitika on see, mida sa kavatsesid. Ankrute vaheline tähtsusjärjekord, teise tarkvara laaditud reeglid ja olemasolev olek võivad kõik tulemust muuta. Vaata tegelik komplekt üle koos kõigi teistega, kes sellel masinal PF-i omavad, ja dokumenteeri omandisuhe samas kohas kui konfiguratsioon. Kaks omanikku, kes muudavad eri ankruid erinevate eeldustega, on tavaline viis, kuidas lukk endale augu saab.
Hoia reeglistikku saidi toetatud konfiguratsiooniteel, versiooni seda ja märgi, milliseid macOS-i väljalaskeid testiti. Muudatus, mida rakendatakse käsitsi ja mäletab üks inimene, ei ole hooldatud taristu, ükskõik mida faili päis ütleb.
Testi üleminekuid, mitte ühendatud olekut
Tunnelitöö ajal tehtud ekraanipilt ei tõesta peaaegu midagi. Käi hoopis olekud läbi: käivitamine enne mis tahes ühendust, töötav tunnel, hoiatuseta maha kukkuv tunnel, teadlik katkestamine ja liikumine Wi-Fi-lt hotspotile. Igal olekul on oma vastus ja huvitavad on ebaõnnestumised, mitte õnnelik tee.
Märgi igas olekus, mis on teadlikult kättesaadav. Kontrolli IPv4 ja IPv6 eraldi, testi nimede lahendamist ja lisa voog, mis oli juba enne üleminekut loodud, sest olemasolevad ühendused ei järgi alati uut poliitikat. Brauser, mis ebaõnnestub, kui tunnel on maas, on üks andmepunkt, mitte tõestus, et kõik muud teed on blokeeritud.
Lõpuks hoia taastamismeetodit, mis ei sõltu võrguteest, mida sa muudad. Teadaolevalt hea konfiguratsioon kohalikul andmekandjal ja dokumenteeritud viis selle laadimiseks muudavad luku poliitikaks; ilma nendeta lukustab üks halb revisjon administraatori masinast välja, mida oleks pidanud kaitsma.