Firewall profili naspram VPN izlaza: zašto javno nije put
Firewall profil bira koji se skup pravila primjenjuje. Ne govori ništa o tome koji je interfejs nosio paket, a eksplicitna blokada pobjeđuje užu dozvolu.
Pravilo zvuči precizno: dozvoli lokalni saobraćaj na privatnom profilu i samo VPN saobraćaj na javnom. Nije, jer mrežni profil bira koji se skup firewall pravila primjenjuje i ne govori ništa o tome koji je adapter nosio paket. Tretirati ime profila kao zahtjev za put jeste greška zbog koje dizajn ograničenog izlaza izgleda završen kad nije.
Prvo zapišite tokove, pa odlučite koji mehanizam zaista može nametnuti svaki od njih. Ta lista tokova jedini je artefakt koji preživi sljedeću promjenu pravila.
Kategorija bira pravila, ne rute
Kada Windows klasifikuje mrežu kao javnu ili privatnu, firewall primjenjuje skup pravila konfigurisan za taj profil. Klasifikacija prati mrežu kojoj se adapter pridružio, a skup pravila odlučuje šta je na njoj dozvoljeno. Nijedna od tih činjenica ne zavisi od toga da li je saobraćaj aplikacije koristio tunel. Upravo ta nezavisnost je sva teškoća.
Izbor puta pravi rutiranje, kroz metriku interfejsa i prefiks koji tunel instalira. Profil zato može biti označen kao javni dok veza aplikacije ide fizičkim putem, a firewall će i dalje prijaviti da je primijenjen javni skup pravila.
Zato pravilo ograničeno na profil ne može značiti samo tunel. Ta dva svojstva odlučuju različite komponente i jedno ne može zamijeniti drugo.
| Flow | What decides it | What a rule can enforce |
|---|---|---|
| VPN client to its endpoint | Routing plus the outer transport | Allow the client process before the tunnel exists |
| Application to an internet host | Interface metric and prefix length | Block the process unless the tunnel interface is up |
| Application to a LAN host | Local subnet route | Allow one destination, not the whole category |
Eksplicitna blokada nadjačava užu dozvolu
Microsoftove smjernice za firewall pravila razlikuju dozvolu kao izuzetak od radnje blokiranja po defaultu od eksplicitne blokade koja je u sukobu s dozvolom. Eksplicitne blokade pobjeđuju u tom sukobu, a odlazna pravila slijede isti prioritet.
Zato popularni recept da dodate pravilo koje blokira sve i oslonite se na užu dozvolu postavljenu iznad njega ne radi ono što njegov autor očekuje. Windows Firewall ne rješava sukob redoslijedom pravila koji je dodijelio administrator. Blokada se jednostavno primijeni, a aplikacija koja se povezuje prijavi istek vremena. Pravilo koje je izgledalo kao izuzetak nikada nije bilo u igri.
Podržani oblik je politika zabrane po defaultu s odobrenim pravilima dozvole, gdje svaka dozvola imenuje program, uslugu ili odredište dovoljno precizno da se može pregledati. Takav dizajn prolazi reviziju, jer je svaki izuzetak vidljiv i nijedan ne zavisi od redoslijeda nastanka.
Dva pravila koja protivrječe jedan drugom gora su od jednog pravila, jer je rezultujuće ponašanje istovremeno ispravno i neobjašnjivo.
Dajte odlaznoj politici jednog vlasnika
Podržani VPN klijent već održava vlastito ponašanje blokiranja i vlastite izuzetke za krajnje tačke. Dodavanje neusklađenih ručnih pravila može taj klijent ostaviti izvan tunela koji mu treba za postavljanje ili ostaviti otvoren drugi put koji niko nije primijetio.
Odlučite ko posjeduje odlaznu politiku prije pisanja pravila: vlastita konfiguracija klijenta, upravljana firewall politika ili dokumentovana lokalna lista izuzetaka s vlasnikom. Zatim uskladite slojeve umjesto da slažete eksperimente dok se nešto ne poveže. Imenovani vlasnik je i onaj koga pitate kada se dva sloja ne slažu.
Sačuvajte kanal za oporavak prije nego što bilo šta promijenite. Udaljena mašina zaključana izvan vlastite putanje upravljanja gori je ishod od praznine u politici koju ste zatvarali. Pravilo oporavka lakše je opravdati kad je unaprijed zapisano i lakše ga je naći kad promjena krene po zlu u sat koji nikome nije drag.
Testirajte četiri ishoda umjesto da čitate oznaku
Politika je dobra onoliko koliko razlikuje slučajeve, pa oznaku profila tretirajte kao polaznu tačku, a ne kao rezultat. Četiri ishoda kažu radi li: namjeravani LAN zahtjev uspijeva, pokriveni internetski zahtjev uspijeva, zabranjeni direktni zahtjev ne uspijeva, a slučaj kvara tunela ponaša se kako je projektovan umjesto da se tiho povuče. Zapišite četiri rezultata uz promjenu pravila. Plan testiranja s četiri imenovana slučaja dovoljno je kratak da se izvodi svaki put i dovoljno konkretan da glasno padne.
Get-NetConnectionProfile | Select-Object Name,NetworkCategory,InterfaceAlias Get-NetFirewallProfile | Select-Object Name,DefaultOutboundAction Get-NetFirewallRule -Direction Outbound -Enabled True | Where-Object Action -eq Block | Select-Object DisplayName,Profile
Prva komanda pokazuje kako je klasifikovana svaka povezana mreža, što često nije ono što je osoba koja je napisala pravilo pretpostavila. Druga pokazuje zadanu radnju po profilu, a treća navodi omogućene odlazne blokade, uključujući one koje će tiho poništiti užu dozvolu.
Pokrenite četiri slučaja ponovo nakon promjene mreže, jer profil može biti reklasifikovan kada se mašina pridruži drugoj mreži. Poklapanje oznake profila nije dokaz da je put bio onaj koji ste namjeravali.