Reegel kõlab täpselt: luba privaatses profiilis kohalikku liiklust ja avalikus ainult VPN-i liiklust. See ei ole nii, sest võrguprofiil valib, milline tulemüüri reeglistik kehtib, ega ütle midagi selle kohta, milline adapter paketi kandis. Profiili nime käsitlemine tee nõudena on viga, mille tõttu piiratud väljundiga lahendus näeb valmis välja, kuigi see ei ole.

Kirjutage kõigepealt vood üles ja otsustage seejärel, milline mehhanism suudab igaüht neist tegelikult jõustada. See voogude nimekiri on ainus artefakt, mis järgmise reeglimuudatuse üle elab.

Kategooria valib reeglid, mitte marsruudid

Kui Windows liigitab võrgu avalikuks või privaatseks, rakendab tulemüür selle profiili jaoks seadistatud reeglistikku. Liigitus järgib võrku, millega adapter liitus, ja reeglistik otsustab, mida selles lubatakse. Ükski neist asjaoludest ei sõltu sellest, kas rakenduse liiklus kasutas tunnelit. Just see sõltumatus on kogu raskus.

Teevaliku teeb marsruutimine, kasutades liidese mõõdikut ja eesliidet, mille tunnel paigaldab. Profiil võib seega olla märgitud avalikuks, samal ajal kui rakenduse ühendus läheb füüsilist teed, ja tulemüür teatab ikkagi, et rakendati avalikku reeglistikku.

Seetõttu ei saa profiiliga piiratud reegel tähendada ainult tunnelit. Neid kahte omadust otsustavad erinevad komponendid ja üks ei saa teist asendada.

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

Selgesõnaline blokeering kaalub üles kitsama lubamise

Microsofti tulemüürireeglite juhised eristavad lubamist kui erandit vaikimisi blokeerivast toimingust ja selgesõnalist blokeeringut, mis on lubamisega vastuolus. Selgesõnalised blokeeringud võidavad selle vastuolu ja väljuvad reeglid järgivad sama tähtsust.

Nii et populaarne retsept lisada kõike blokeeriv reegel ja loota selle kohale asetatud kitsamale lubamisele ei tee seda, mida selle autor ootab. Windows Firewall ei lahenda vastuolu administraatori määratud reeglijärjekorra järgi. Blokeering lihtsalt rakendub ja ühendust loov rakendus teatab ajalõpust. Reegel, mis nägi välja nagu erand, ei olnud kunagi mängus.

Toetatud vorm on vaikimisi keelava poliitika koos kinnitatud lubamisreeglitega, kus iga lubamine nimetab programmi, teenuse või sihtkoha piisavalt täpselt, et seda saaks üle vaadata. Selline lahendus peab auditile vastu, sest iga erand on nähtav ja ükski neist ei sõltu loomise järjekorrast.

Kaks reeglit, mis üksteisele vastu räägivad, on hullemad kui üks reegel, sest tulemuseks olev käitumine on korraga õige ja seletamatu.

Andke väljuvale poliitikale üks omanik

Toetatud VPN-i klient haldab juba oma blokeerimiskäitumist ja oma lõpp-punktide erandeid. Koordineerimata käsitsi reeglite lisamine võib jätta selle kliendi väljapoole tunnelit, mida ta seadistamiseks vajab, või jätta avatuks teise tee, mida keegi ei märganud.

Otsustage, kes omab väljuvat poliitikat, enne kui reeglid kirjutate: kliendi enda konfiguratsioon, hallatav tulemüüripoliitika või dokumenteeritud kohalik erandite nimekiri koos omanikuga. Seejärel viige kihid kooskõlla, selle asemel et katsetusi kuhjata, kuni miski ühendub. Nimetatud omanik on ka see, kelle käest küsitakse, kui kaks kihti ei nõustu.

Säilitage taastamise kanal enne, kui midagi muudate. Oma haldustee taha lukustatud kaugmasin on hullem tulemus kui poliitika lünk, mida te sulgesite. Taastamisreeglit on lihtsam põhjendada, kui see on eelnevalt kirja pandud, ja lihtsam leida, kui muudatus läheb valesti tunnil, mida keegi ei naudi.

Testige nelja tulemust, selle asemel et silti lugeda

Poliitika on nii hea, kui häid juhtumeid see eristab, seega käsitlege profiili silti lähtepunktina, mitte tulemusena. Neli tulemust ütlevad, kas see töötab: kavandatud LAN-i päring õnnestub, kaetud internetipäring õnnestub, keelatud otsene päring ebaõnnestub ja tunneli tõrke juhtum käitub nii, nagu projekteeritud, selle asemel et vaikselt tagasi vajuda. Kirjutage neli tulemust reeglimuudatuse kõrvale. Nelja nimetatud juhtumiga testiplaan on piisavalt lühike, et seda iga kord käivitada, ja piisavalt konkreetne, et valjult ebaõnnestuda.

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

Esimene käsk näitab, kuidas iga ühendatud võrk on liigitatud, mis sageli ei ole see, mida reegli kirjutaja eeldas. Teine näitab iga profiili vaiketoimingut ja kolmas loetleb lubatud väljuvad blokeeringud, sealhulgas need, mis vaikselt kitsama lubamise tühistavad.

Käivitage neli juhtumit uuesti pärast võrgu muutust, sest profiil võidakse ümber liigitada, kui masin liitub teise võrku. Sobiv profiilisilt ei ole tõestus, et tee oli see, mida te kavatsesite.

Seotud artiklid