Pravilo se sliši natančno: dovoli lokalni promet v zasebnem profilu in samo promet VPN v javnem. Ni, ker omrežni profil izbere, kateri nabor pravil požarnega zidu velja, in ne pove ničesar o tem, kateri vmesnik je prenesel paket. Obravnavanje imena profila kot zahteve poti je napaka, zaradi katere je zasnova z omejenim izhodom videti končana, ko ni.

Najprej zapišite tokove, nato se odločite, kateri mehanizem lahko vsakega od njih resnično uveljavi. Ta seznam tokov je edini artefakt, ki preživi naslednjo spremembo pravil.

Kategorija izbira pravila, ne poti

Ko Windows omrežje razvrsti kot javno ali zasebno, požarni zid uporabi nabor pravil, nastavljen za ta profil. Razvrstitev sledi omrežju, ki se mu je pridružil vmesnik, nabor pravil pa odloča, kaj je v njem dovoljeno. Nobeno od teh dejstev ni odvisno od tega, ali je promet aplikacije uporabil tunel. Prav ta neodvisnost je vsa težava.

Izbiro poti opravi usmerjanje, prek metrike vmesnika in predpone, ki jo namesti tunel. Profil je zato lahko označen kot javen, medtem ko povezava aplikacije poteka po fizični poti, požarni zid pa bo še vedno poročal, da je bil uporabljen javni nabor pravil.

Zato pravilo, omejeno na profil, ne more pomeniti samo tunela. Ti dve lastnosti določajo različne komponente in ena ne more nadomestiti druge.

FlowWhat decides itWhat a rule can enforce
VPN client to its endpointRouting plus the outer transportAllow the client process before the tunnel exists
Application to an internet hostInterface metric and prefix lengthBlock the process unless the tunnel interface is up
Application to a LAN hostLocal subnet routeAllow one destination, not the whole category

Izrecna blokada premaga ožje dovoljenje

Microsoftove smernice za pravila požarnega zidu ločijo dovoljenje kot izjemo od privzetega dejanja blokiranja od izrecne blokade, ki je v nasprotju z dovoljenjem. Izrecne blokade zmagajo v tem sporu, odhodna pravila pa upoštevajo enako prednost.

Zato priljubljeni recept, da dodate pravilo, ki blokira vse, in se zanesete na ožje dovoljenje nad njim, ne naredi tega, kar pričakuje njegov avtor. Požarni zid Windows spora ne razreši po vrstnem redu pravil, ki ga dodeli skrbnik. Blokada preprosto velja, aplikacija, ki se povezuje, pa poroča o preteku časa. Pravilo, ki je bilo videti kot izjema, ni bilo nikoli v igri.

Podprta oblika je politika privzete zavrnitve s potrjenimi pravili dovoljenja, kjer vsako dovoljenje poimenuje program, storitev ali cilj dovolj natančno, da ga je mogoče pregledati. Takšna zasnova prestane revizijo, ker je vsaka izjema vidna in nobena ni odvisna od vrstnega reda nastanka.

Dve pravili, ki si nasprotujeta, sta slabši od enega pravila, ker je nastalo vedenje hkrati pravilno in nerazložljivo.

Dajte odhodni politiki enega lastnika

Podprt odjemalec VPN že vzdržuje svoje vedenje blokiranja in svoje izjeme za končne točke. Dodajanje neusklajenih ročnih pravil lahko tega odjemalca pusti zunaj tunela, ki ga potrebuje za nastavitev, ali pusti odprto drugo pot, ki je nihče ni opazil.

Odločite, kdo ima odhodno politiko, preden napišete pravila: lastna konfiguracija odjemalca, upravljana politika požarnega zidu ali dokumentiran lokalni seznam izjem z lastnikom. Nato uskladite plasti, namesto da kopičite poskuse, dokler se nekaj ne poveže. Imenovani lastnik je tudi tisti, ki ga vprašate, ko se dve plasti ne strinjata.

Ohranite obnovitveni kanal, preden karkoli spremenite. Oddaljeni stroj, zaklenjen zunaj lastne poti upravljanja, je slabši izid od vrzeli v politiki, ki ste jo zapirali. Pravilo za obnovitev je lažje upravičiti, ko je zapisano vnaprej, in lažje najti, ko gre sprememba narobe ob uri, ki je nihče ne mara.

Preizkusite štiri izide, namesto da berete oznako

Politika je le toliko dobra, kolikor dobro razlikuje primere, zato oznako profila obravnavajte kot izhodišče in ne kot rezultat. Štirje izidi povedo, ali deluje: predvidena zahteva LAN uspe, pokrita internetna zahteva uspe, prepovedana neposredna zahteva spodleti in primer okvare tunela se obnaša, kot je bilo zasnovano, namesto da bi se tiho umaknil. Zapišite štiri rezultate ob spremembo pravil. Načrt preizkušanja s štirimi imenovanimi primeri je dovolj kratek, da ga izvedete vsakič, in dovolj konkreten, da glasno spodleti.

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

Prvi ukaz pokaže, kako je razvrščeno vsako povezano omrežje, kar pogosto ni tisto, kar je predpostavil pisec pravila. Drugi pokaže privzeto dejanje za vsak profil, tretji pa našteje omogočene odhodne blokade, vključno s tistimi, ki bodo tiho razveljavile ožje dovoljenje.

Po spremembi omrežja znova zaženite štiri primere, ker je profil lahko znova razvrščen, ko se stroj pridruži drugemu omrežju. Ujemajoča se oznaka profila ni dokaz, da je bila pot tista, ki ste jo nameravali.

Sorodni članki