Ради на твом Mac-у, па изгледа као нешто што можеш предати корисницима. Ту претпоставку треба прво напустити. Apple TN3165 јасно наводи да Packet Filter није подржани API за опште дистрибуиране производе, и привилеговану, контролисану администрацију локације сматра разумним случајем. Зато је PF VPN закључавање локална оперативна политика са власником, а не функција коју можеш испоручити унутар апликације.

PF није површина за паковање

Та разлика није академска. Дистрибуирани производ који зависи од PF наслеђује сваку промену коју Apple у њему направи, сваки сукоб са другим алатом који такође пише правила, и никакву обавезу подршке да ће тај аранжман наставити да ради. Локација која администрира сопствене машине има другачији однос: може документовати зависност, тестирати је на сваком издању ОС-а и прихватити одржавање.

Неки савети за инсталацију прелазе границу коју вреди именовати. Преписивање целог системског скупа правила да би се учитало једно сидро, уређивање Apple-ове системске конфигурације покретања или искључивање System Integrity Protection нису прихватљиви захтеви за рецепт који се поново користи. Ако објављени водич захтева било шта од тога, описује лабораторију, а не политику која се може распоредити.

Напиши намеру излаза пре синтаксе

Одлучи шта је дозвољено пре него што изабереш једну кључну реч. Обично морају постојати три пута: сопствени транспорт VPN клијента до његовог сервера, заштићени саобраћај апликације унутар тунела и све што подешавање или локалне услуге заиста захтевају директан пут.

Сваком предложеном изузетку дај одредиште, транспорт и власника. Дозвола свих портова ка једној крајњој тачки дозвољава много више од једног транспорта који тунел користи, а додатна изложеност настаје без тога да је ико одлучио да тако треба. Дозвола јавног резолвера је иста замка у пријатнијем издању: ствара директан DNS пут чак и док је тунел пао, па претраге имена и даље цуре.

PathDestinationOwner
VPN transportGateway address, one UDP portNetwork team
Tunnel trafficInternal prefixesApplication owner
Resolver exceptionNamed internal resolverSecurity team

Користан тест за изузетак је да ли можеш именовати особу која га је тражила и квар који спречава. Ако ниједан одговор не постоји, правило је вероватно заобилазно решење за погрешну конфигурацију која би иначе остала невидљива.

utun бројеви нису идентитет

MacOS прави тунелске интерфејсе као utun уређаје, а број додељен твом VPN-у није стабилан кроз рестартовања, поновна повезивања или присуство другог клијента. Правило које наводи неколико претпостављених бројева није политика; то је снимак једног поподнева.

Усидри правило у нешто што идентификује намераваног провајдера: план адреса који тунел додељује, процес који поседује интерфејс или конфигурацију коју одржава сам VPN клијент. Затим забележи како та идентификација функционише, јер особа која буде прегледала правило за годину дана неће имати твоју shell историју.

Учини учитану политику приписивом

Име сидра организује правила; оно не доказује да је ефективна политика она коју си намеравао. Приоритет између сидара, правила која је учитао други софтвер и постојеће стање могу променити исход. Прегледај ефективни скуп са свима осталима који поседују PF на тој машини и документуј власништво на истом месту где је конфигурација. Два власника који уређују различита сидра са различитим претпоставкама уобичајен су начин на који закључавање добије рупу.

Држи скуп правила у подржаној конфигурационој путањи локације, верзионирај га и забележи која су macOS издања тестирана. Промена која се примењује ручно и коју памти једна особа није одржавана инфраструктура, шта год заглавље фајла говорило.

Тестирај прелазе, а не повезано стање

Снимак екрана направљен док је тунел активан не доказује скоро ништа. Прођи кроз стања: покретање пре било какве везе, тунел који ради, тунел који падне без упозорења, намерно искључивање и прелазак са Wi-Fi на хотспот. Свако стање има свој одговор, а занимљиви су кварови, а не срећан пут.

У сваком стању забележи шта је намерно доступно. Провери IPv4 и IPv6 одвојено, тестирај разрешавање имена и укључи ток који је већ био успостављен пре преласка, јер постојеће везе не прате увек нову политику. Претраживач који не ради док је тунел пао једна је тачка података, а не доказ да су сви остали путеви блокирани.

На крају, држи метод опоравка који не зависи од мрежног пута који мењаш. Позната добра конфигурација на локалном складишту и документован начин да се она учита претварају закључавање у политику; без њих, једна лоша ревизија закључава администратора изван машине која је требало да буде заштићена.

Повезани чланци