Kill switch u Windowsu bez dodatnog softvera: profili ili rute?
Profili vatrozida prate kategoriju mreže, rute prate adapter. Usporedite oboje, pa testirajte slučaj pada kad tunela nema, a ikona laže.
Klijent umre nasred preuzimanja i ikona u traci nestane. Prijenos se nastavlja preko kućne veze. Upravo je taj slijed razlog zašto kill switch postoji, a Windows mu može prići bez drugog proizvoda.
Dvije metode vrijedi znati. Padaju na različitim mjestima i nijedna nije potpun odgovor.
Prva metoda: dopustiti program samo na jednom profilu
Vatrozid sustava Windows ograničava pravila na profile Domain, Private i Public. Trik je dati tunelskom adapteru jednu kategoriju, a fizičkom adapteru drugu. Zatim napišete odlazno pravilo koje dopušta zaštićeni program na profilu tunela i blokira ga svugdje drugdje. Vatrozid čita kategoriju, a ne naziv adaptera.
Prvo postavite VPN vezu na Private, a fizičku mrežu na Public. Zatim dodajte pravilo blokiranja za program koje vrijedi za profile koje ne želite. Potom potvrdite dodjelu pomoću Get-NetConnectionProfile, jer pravilo prati upravo tu dodjelu.
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory
New-NetFirewallRule -DisplayName 'Block browser off VPN' -Direction Outbound `
-Program 'C:\Program Files\Mozilla Firefox\firefox.exe' -Action Block -Profile Public
New-NetFirewallRule -DisplayName 'Allow browser on VPN' -Direction Outbound `
-Program 'C:\Program Files\Mozilla Firefox\firefox.exe' -Action Allow -Profile Private
Slabost je strukturna. Pravilo profila prati kategoriju, pa kad Windows prekvalificira hotelsku mrežu, blokada može prestati vrijediti. Ništa na popisu pravila se ne mijenja kad se to dogodi.
Druga metoda: ukloniti fizičku zadanu rutu
Pristup preko ruta je grublji i mnogo lakši za reviziju. Zabilježite fizički gateway, pustite VPN da postavi svoju zadanu rutu s nižom metrikom, a zatim izbrišite fizičku zadanu rutu. Ništa drugo tada ne može nositi promet.
route print -4
route delete 0.0.0.0 mask 0.0.0.0 192.168.50.1
route print -4 | findstr /c:"0.0.0.0"
Kad klijent umre, VPN ruta odlazi sa svojim adapterom. Računalo odlazi izvan mreže umjesto da curi, a upravo to kill switch treba proizvesti.
Dva detalja odlučuju hoće li to preživjeti tjedan. DHCP vraća gateway svaki put kad veza zatitra. Fizički adapter sa statičnom adresom izbjegava to iznenađenje. Adresa samog VPN poslužitelja također mora ostati dostupna. Bez te putanje do hosta klijent se nikada ne može ponovno povezati nakon prekida koji je pokrenuo blokadu.
Treća metoda: bez gatewaya, jedna trajna ruta do hosta
Treća opcija počinje brisanjem gatewaya iz postavki adaptera. Zatim je zamjenjuje jedna trajna ruta do VPN odredišta. Računalo tada može razgovarati s poslužiteljem i ni s čim drugim dok se tunel ne podigne.
route -p add 198.51.100.44 mask 255.255.255.255 192.168.50.1 metric 1
route print -4 | findstr 198.51.100.44
Vraćanje gatewaya vraća običan internet, što ovo čini čistim prekidačem za uključivanje i isključivanje. Ne ovisi o skripti koja promatra događaje sučelja. Također mu nije važno kako se mreža kategorizira.
Cijena je potpuna izolacija dok je tunel pao. Ažuriranja prestaju, a s njima i samo preuzimanje koje je pokrenulo ovu vježbu. Za poslovni prijenosnik to je često ispravno, dok je na osobnom računalu odluka koju treba donijeti namjerno.
Zašto ikona globusa ništa ne dokazuje
Windows prijavljuje dostupnost kroz provjeru prema Microsoftovom odredištu. Ta provjera ne govori ništa o vašem tunelu. Povezan tunel može stajati iza globusa koji javlja da nema interneta, a mrtav tunel može pokazivati zdravu vezu.
Testirajte tako da ubijete proces klijenta i zatim pokušajte dosegnuti javnu adresu po broju. Upit za ime može biti odgovoren iz predmemorije, pa ni ikona ni DNS odgovor nisu dokaz.
Što zabilježiti nakon stvarnog prekida
Provedite test kao slijed, a ne kao jednu provjeru. Ubijte proces umjesto da prekinete vezu, pa pokušajte numeričku adresu na obje obitelji. Zatim vratite klijent i potvrdite da još može dosegnuti svoj poslužitelj kroz rutu koju ste zadržali.
taskkill /IM openvpn-gui.exe /F
ping -4 198.51.100.44
ping -6 2606:4700:4700::1111
route print -4 | findstr /c:"0.0.0.0"
Ponovite slijed nakon spavanja, nakon promjene Wi-Fi mreže i nakon prelaska s kabela na bežično. Ti prijelazi su mjesto gdje i metoda profila i ponašanje DHCP-a padaju. Pravilo koje drži za stolom ne mora držati u hotelu.
Upišite korak vraćanja pored svakog pravila i rute. Microsoft dokumentira stvaranje odlaznih pravila u referenci za pravila vatrozida sustava Windows, a to je bolji izvor od vodiča sa samim snimkama zaslona.