Kill switch i Windows uten ekstra programvare: profiler eller ruter?
Brannmurprofiler følger nettets kategori, ruter følger adapteret. Sammenlign begge, og test deretter krasjtillfellet med tunnelen borte og ikonet som lyver.
Klienten dør midt i en nedlasting, og ikonet i systemkurven forsvinner. Overføringen fortsetter over hjemmeforbindelsen. Nettopp den sekvensen er grunnen til at en kill switch finnes, og Windows kan tilnærme seg en uten et annet produkt.
To metoder er verdt å kjenne. De svikter på forskjellige steder, og ingen av dem er et fullstendig svar.
Metode én: tillat programmet på bare én profil
Windows-brannmuren begrenser regler til profilene Domain, Private og Public. Trikset er å gi tunneadapteret den ene kategorien og det fysiske adapteret den andre. Deretter skriver du en utgående regel som tillater det beskyttede programmet på tunnelprofilen og blokkerer det overalt ellers. Brannmuren leser kategorien, ikke adapterets navn.
Sett først VPN-tilkoblingen til Private og det fysiske nettet til Public. Legg deretter til en blokkeringsregel for programmet som gjelder for profilene du ikke vil ha. Bekreft deretter tildelingen med Get-NetConnectionProfile, fordi det er den tildelingen regelen følger.
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
Svakheten er strukturell. En profilregel følger kategorien, så når Windows omklassifiserer et hotellnett, kan blokkeringen slutte å gjelde. Ingenting i regellisten endres når det skjer.
Metode to: fjern den fysiske standardruten
Rutetilnærmingen er grovere og langt enklere å revidere. Noter den fysiske gatewayen, la VPN installere sin egen standardrute med lavere metrikk, og slett deretter den fysiske standardruten. Ingenting annet kan da bære trafikk.
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"
Når klienten dør, forsvinner VPN-ruten sammen med adapteret sitt. Maskinen går offline i stedet for å lekke, og det er nettopp det en kill switch skal frembringe.
To detaljer avgjør om det holder en uke. DHCP setter gatewayen tilbake hver gang forbindelsen blafrer. Et fysisk adapter med statisk adresse unngår den overraskelsen. Selve VPN-serverens adresse må også forbli tilgjengelig. Uten den vertsruten kan klienten aldri koble til igjen etter bruddet som utløste blokkeringen.
Metode tre: ingen gateway, én vedvarende vertsrute
Det tredje alternativet begynner med å fjerne gatewayen fra adapterinnstillingene. Deretter erstatter en enkelt vedvarende rute til VPN-endepunktet den. Maskinen kan da snakke med serveren og med ingenting annet før tunnelen kommer opp.
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
Å gjenopprette gatewayen gjenoppretter vanlig internett, noe som gjør dette til en ren av- og på-bryter. Den er ikke avhengig av et skript som overvåker grensesnitthendelser. Den bryr seg heller ikke om hvordan nettet kategoriseres.
Prisen er total isolasjon mens tunnelen er nede. Oppdateringer stopper, og det samme gjør selve nedlastingen som satte i gang øvelsen. På en arbeidsbærbar er det ofte riktig, mens det på en personlig maskin er en beslutning som må tas bevisst.
Hvorfor globusikonet ikke beviser noe
Windows rapporterer tilgjengelighet gjennom en sondering mot et Microsoft-endepunkt. Den sonderingen sier ingenting om tunnelen din. En tilkoblet tunnel kan sitte bak en globus som melder ingen internett, og en død kan vise en sunn forbindelse.
Test ved å drepe klientprosessen og deretter prøve å nå en offentlig adresse på nummer. Et navneoppslag kan besvares fra hurtigbufferen, så verken ikonet eller et DNS-svar er bevis.
Hva som skal noteres etter et ekte brudd
Kjør testen som en sekvens i stedet for en enkelt kontroll. Drep prosessen i stedet for å koble fra, og prøv deretter en numerisk adresse på begge familier. Gjenopprett klienten etterpå og bekreft at den fortsatt når sin egen server gjennom ruten du beholdt.
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"
Gjenta sekvensen etter dvale, etter et Wi-Fi-bytte og etter bytte fra kabel til trådløst. Det er ved disse overgangene både profilmetoden og DHCP-oppførselen svikter. En regel som holder på et skrivebord, holder ikke nødvendigvis på et hotell.
Skriv angretrinnet ved siden av hver regel og rute. Microsoft dokumenterer oppretting av utgående regler i sin referanse for Windows-brannmurregler, og det er en bedre kilde enn en gjennomgang bare med skjermbilder.