Een kill switch en lektests: DNS, WebRTC en IPv6 nagaan op je VPN
Een VPN kill switch blokkeert al je internetverkeer zodra de VPN-verbinding wegvalt, zodat je echte IP-adres en je DNS-verzoeken niet buiten de tunnel gaan. Daarnaast kan een VPN op drie manieren lekken: via DNS, wanneer je toestel de DNS-server van je internetprovider blijft gebruiken; via WebRTC, een browserfunctie voor videogesprekken die IP-adressen kan tonen; en via IPv6, als de VPN alleen IPv4-verkeer tunnelt. Deze gids legt uit hoe een kill switch werkt op Windows, macOS, iOS en Android, en hoe je met een paar tests in je browser nagaat of je VPN lekt.
Of: waarom een tunnel ook een afsluitkraan nodig heeft
Een kill switch doet één ding: valt je VPN weg, dan gaat er niets meer over het internet tot de verbinding terug is. Proton beschrijft het in zijn uitleg over de kill switch als bescherming van je IP-adres en je DNS-activiteit. Lekken zijn de andere kant van hetzelfde verhaal: ook mét een werkende VPN kan informatie buiten de tunnel gaan, via DNS, WebRTC of IPv6. Of dat bij jou gebeurt, zie je met een paar tests in je browser. Bij het configureren van je VPN zijn het de laatste vijf minuten die het meeste zeggen.
Dit gaat vooral over VPN-diensten voor privacy onderweg. Een werk-VPN met split tunneling laat bewust verkeer buiten de tunnel; daar is een „lek” soms gewoon de configuratie.
VPN kill switch en lektests: lekt je VPN?
Denk aan een waterleiding met een afsluitkraan. Zolang de leiding heel is, stroomt het water waar het hoort. Springt er een koppeling, dan loopt het water ernaast, tenzij er een kraan is die automatisch dichtgaat. Dat is de kill switch. Maar een leiding kan ook druppelen terwijl alles werkt: een slecht aangesloten zijtak, een oude koppeling die niemand controleerde. Dat zijn de lekken. De kraan helpt niet tegen druppels, en de druppels zie je pas als je gaat kijken.
Wat een kill switch doet, per toestel
Proton maakt een onderscheid dat ook bij andere diensten terugkomt. Een standaard kill switch treedt alleen in werking als de verbinding per ongeluk wegvalt; schakel je de VPN zelf uit, dan surf je gewoon verder. Een geavanceerde kill switch laat alleen internetverkeer toe zolang je met de VPN verbonden bent, ook na een herstart.
Per besturingssysteem:
- Android heeft het in het systeem zelf. Volgens de ontwikkelaarsdocumentatie van Android kan een VPN altijd verbonden blijven en kan Android al het verkeer blokkeren dat niet via de VPN gaat. Proton gebruikt precies die instellingen als kill switch op Android.
- iOS en iPadOS: VPN-apps bieden een kill switch aan, bij Proton in een geavanceerde versie als bèta. Op toestellen die een beheerder onder toezicht heeft, kan een IKEv2-verbinding als Always On VPN al het verkeer tegenhouden zolang de tunnel niet actief is.
- macOS: apps bieden een kill switch, maar Proton waarschuwt dat je echte IP-adres bij het wisselen van server kort zichtbaar kan zijn, en dat op macOS en iOS sommige DNS-verzoeken van Apple-diensten buiten de VPN kunnen gaan.
- Windows: de velden die Microsoft beschrijft voor de ingebouwde client bevatten geen kill switch; VPN-apps hebben er wel een, bij Proton in beide varianten.
Nog een praktisch gevolg: met een kill switch aan kun je op macOS en iOS volgens Proton je lokale netwerk niet bereiken. Je printer is dan even onbereikbaar. Dat is geen storing, dat is de kraan die dicht staat.
Drie soorten lekken
DNS. Elke keer dat je een website opent, vraagt je toestel aan een DNS-server welk IP-adres erbij hoort. Zonder VPN is dat meestal de server van je internetprovider, en volgens Proton houdt die logboeken bij van je verzoeken. Een goede VPN stuurt die vragen door de tunnel naar zijn eigen DNS-servers. Gaan ze toch naar je provider, dan heb je een DNS-lek. Proton waarschuwt dat een eigen DNS-instelling of versleutelde DNS in je browser (DNS over HTTPS) de bescherming van de app kan omzeilen.
WebRTC. Dat is de techniek waarmee je browser videogesprekken voert zonder plug-in. Om een rechtstreekse verbinding op te zetten, verzamelt de browser IP-adressen, en een website kan die in bepaalde gevallen opvragen. Laat de browser daarbij je echte adres zien, dan heb je een WebRTC-lek.
IPv6. Veel netwerken geven je toestel naast een IPv4-adres ook een IPv6-adres. Tunnelt de VPN alleen IPv4, dan kan IPv6-verkeer er gewoon naast lopen, met je echte adres. Proton zet IPv6 daarom uit in zijn apps voor macOS en iOS, heeft op Windows een aparte bescherming tegen IPv6-lekken, en raadt aan die aan te laten.
Zo test je het, in vijf minuten
- Zonder VPN: noteer je publieke IP-adres en de DNS-servers die een testsite toont. Dat is je referentie.
- Verbind met een VPN-server, liefst in een ander land: dan valt een afwijking meteen op.
- Herhaal de tests voor je IP-adres, je DNS-servers en WebRTC, bijvoorbeeld bij de onafhankelijke WebRTC-test van Browserleaks, die ook aparte tests voor IP en DNS heeft. Laat de WebRTC-test volledig uitlopen.
- Lees het resultaat: je mag alleen adressen van de VPN-server zien. Verschijnt de naam van je eigen internetprovider bij de DNS-servers, of je eigen IPv4- of IPv6-adres ergens in de lijst, dan lekt er iets.
- Test de kill switch: zet je wifi even uit en weer aan terwijl de VPN aanstaat. Met een kill switch mag er geen pagina laden voor de VPN terug is. Je VPN zelf uitschakelen is geen goede test, want een standaard kill switch reageert daar bewust niet op.
Wat je doet als het lekt
- Werk de app bij en controleer of de bescherming tegen DNS- en IPv6-lekken aanstaat.
- Schakel een eigen DNS-instelling in de app uit, en kijk of je browser zijn eigen versleutelde DNS gebruikt.
- Voor WebRTC: gebruik de instelling van je VPN-app of browser die WebRTC beperkt. Volgens Mullvad kan alleen Firefox WebRTC volledig uitschakelen, met als nadeel dat videogesprekken in de browser dan niet meer werken.
- Lekt het nog altijd, contacteer dan de aanbieder met je testresultaten.
Een voorbeeld. Een zelfstandige advocate werkt vaak vanuit een café in Gent en gebruikt een VPN op haar laptop. Ze doet de test één keer na de installatie en opnieuw na elke grote update van de app. Een kmo die tien nieuwe laptops uitrolt, doet hetzelfde op één toestel per configuratie, en schrijft het resultaat op.
Kmo-Kristof: Waarom zou ik testen? De app zegt dat ik beschermd ben.
Security-Sofie: De app zegt dat ze verbonden is. Of er iets ernaast loopt, zegt ze niet.
Kmo-Kristof: En dat zie ik in vijf minuten?
Security-Sofie: In vijf minuten. Dat is korter dan de meeste updates.
Kill switch en split tunneling gaan slecht samen
Een kill switch laat niets buiten de tunnel, split tunneling laat bewust iets buiten de tunnel. Bij Proton gaan ze op de meeste platformen niet samen. Wanneer split tunneling toch de juiste keuze is, lees je bij verkeer buiten je VPN laten.
De ingebouwde kill switch van Android
Op Android stel je de combinatie van altijd verbonden en verkeer blokkeren in het systeemmenu in. Waar dat menu zit, ook op een Samsung, staat bij je VPN instellen op Android.
Geen internet meer?
Een geavanceerde kill switch heeft een keerzijde: als de VPN niet kan verbinden, heb je ook geen internet. Waarom een VPN niet verbindt, en in welke volgorde je de oorzaken nagaat, lees je bij wanneer de VPN weigert.