För att effektivt kunna erbjuda en användare sekretess och säkerhet måste en VPN-applikation se till att användarens DNS-förfrågningar förblir privata under hela anslutningen till VPN. Applikationer gör detta vanligtvis genom att garantera att alla DNS-förfrågningar skickas krypterade via VPN-tunneln och hanteras av VPN-leverantörens DNS-servrar.
För att upprätthålla denna garanti är det viktigt att förstå under vilka scenarier DNS-läckor kan uppstå. Det är inte tillräckligt att ta hänsyn till enkla scenarier, till exempel när nätverksanslutningar är stabila. I den verkliga världen är nätverk ofta instabila, eller deras konfigurationer kan förändras, och i allmänhet är det här när läckor inträffar. Undersökning av komplexa scenarier är alltså en avgörande del av processen för att konstruera en läcksäker VPN-applikation.
På ExpressVPN lägger vi ner mycket tid och ansträngningar på att undersöka komplexa scenarier under vilka din VPN-applikation kan läcka. I resten av den här artikeln diskuterar vi ett särskilt scenario som vi avslöjade där DNS-läckor kan inträffa. Vi förklarar hur och varför DNS-läckan inträffar och ger dig ett sätt att testa för läckorna själv.
Scenario: DNS läcker efter en växling i nätverksgränssnitt
Att växla mellan nätverksgränssnitt är ett vanligt scenario där DNS-läckor är möjliga. Tänk på följande exempel:
Du är hemma med din bärbara dator och är ansluten till Wi-Fi
Du ansluter till din VPN-applikation
Någon gång senare ansluter du din Ethernet-kabel
De flesta VPN-applikationer kommer inte att upptäcka denna ändring av nätverkskonfigurationen. De kommer att fortsätta att informera dig om att din integritet och säkerhet fortfarande är 100% skyddad, men verkligheten kan vara mycket annorlunda.
Under omslagen kan dina DNS-förfrågningar kontinuerligt läcka ut till din ISP eller andra tredje parter, och du kanske aldrig inser det.
Teknisk uppdelning
När kan detta verkligen hända?
Låt oss ta exemplet på en Mac (notera dock att denna läcka också inträffar med Windows-enheter). Anta att du har en Wi-Fi- och Ethernet-anslutning tillgänglig. Öppna appen "Systeminställningar" och navigera till "Nätverk." Du ser något liknande följande:
Detta indikerar att du är ansluten till både Wi-Fi och Ethernet, men Ethernet är din önskade anslutning.
Anta vidare att din DNS tillåts till en "lokal" IP-adress. Du kan kontrollera detta genom att klicka på "Avancerat" när din Ethernet-anslutning är markerad och sedan navigera till "DNS." Du bör se något liknande:
Om IP-adresserna under "DNS-servrar" har formen 10.x.x.x, 192.168.x.x eller mellan 172.16.x.x och 172.31.x.x, är de "lokal" IP-adress. Detta betyder troligtvis att din router fungerar som din DNS-server och därmed utan en VPN kan din ISP se alla dina DNS-förfrågningar. Om du har en sådan installation kan du vara sårbar för denna DNS-läcka.
Observera att även om dina DNS-servrar inte har lokala IP-adresser är du troligtvis känslig för DNS-läckor. I det här fallet kan DNS-förfrågningarna gå igenom VPN-tunneln. De skulle emellertid inte dirigeras till VPN: s DNS-server utan till någon annan DNS-server, till exempel den för din ISP eller en tredjeparts DNS-leverantör.
Hur kan du kontrollera om du läcker?
Den enklaste metoden är att använda ExpressVPNs DNS-läckverktyg och göra följande:
Se till att din Ethernet-kabel är ansluten
Se till att du är ansluten till ett Wi-Fi-nätverk
Anslut till din VPN-applikation
Använd ExpressVPNs DNS-läckertestare eller en tredje parts testare
Du bör bara se en DNS-server
Om du använder ExpressVPN kommer våra testare också att säga att det är en erkänd server hos oss
Anslut din Ethernet-kabel
Uppdatera DNS-läckagesidan. Om du läcker DNS, ser du nu en annan lista med DNS-servrar
Du kan också kontrollera för DNS-läckor utan att lita på vår webbsida genom att använda tcpdump enligt följande.
För det första, hitta nätverksgränssnittet som motsvarar din Ethernet-anslutning:
Öppna ett terminalfönster
Skriv nätverksinställningar-lista alla hårdvaruporter
Leta efter en linje som "Hårdvaruport: Thunderbolt Ethernet", t.ex..
Nätverksgränssnittet för din Ethernet-anslutning visas bredvid "Enhet." I det här exemplet är det en4
Låt oss köra testet:
Se till att din Ethernet-kabel är ansluten
Anslut till din VPN-applikation via Wi-Fi
Anslut din Ethernet-kabel
Öppna ett terminalfönster
Skriv sudo tcpdump -i en4 port 53 och ange ditt lösenord
sudo ger tcpdump nödvändiga privilegier för att fånga nätverkstrafik
-i en4 berättar tcpdump att lyssna på Ethernet-gränssnittet
Byt ut en4 med gränssnittet som du upptäckte ovan
port 53 är den port som används för DNS-trafik och visar dig därför endast DNS-förfrågningar
Om du ser någon trafik har du DNS-läckor, t.ex..
Vad händer egentligen här?
Orsaken till denna läcka beror på hur operativsystemet avgör vilka DNS-servrar som ska användas. De DNS-servrar som används av systemet är alltid de som är associerade med den högsta prioriterade aktiva nätverkstjänsten - det motsvarar den gröna tjänsten högst upp i listan på bilden ovan.
När Ethernet är inaktiverat är servrarna som tar emot dina DNS-frågor de som är kopplade till Wi-Fi-tjänsten eftersom det nu är den aktiva nätverkstjänsten med högsta prioritet. Detsamma gäller när du ansluter till ett VPN. För att korrekt skicka din DNS-trafik till VPN: s DNS-server byter de flesta VPN-leverantörer DNS-servrarna på gränssnittet med högsta prioritet till sin egen DNS-server. I det här scenariot betyder det att de ändrar DNS-servrar som är kopplade till din Wi-Fi-nätverkstjänst.
När du ansluter Ethernet-kabeln hoppar Ethernet-nätverkstjänsten tillbaka till toppen av den aktiva listan eftersom den nu är den högsta prioriterade nätverkstjänsten. Operativsystemet försöker sedan använda de DNS-servrar som är associerade med den tjänsten för alla DNS-uppslag.
Många VPN-applikationer märker inte problemet eftersom ditt Wi-Fi-nätverk fortfarande är igång - det avbröts aldrig. Men medan de kanske skickar dina data krypterade via Wi-Fi-nätverket, kommer dina DNS-förfrågningar att skickas okrypterade till din ISP.
Om din VPN-applikation inte skyddar mot detta scenario kommer det att innebära att dina DNS-förfrågningar läcker ut ur tunneln till din ISP.
Kontrollerar DNS-namnservrar i Terminal
Som sidoanteckning kan du själv undersöka beteendet hos DNS-servrar med kommandot scutil. För att se vilka DNS-servrar systemet använder helt enkelt:
Öppna ett terminalfönster
Skriv scutil - dns
Överst på utgången ska du se “upplösare # 1” med en lista över ”namnserver”, t.ex..
IP-adresserna bredvid varje ”namnserver” anger vad systemet kommer att använda för DNS-förfrågningar
Intresserad av att lära sig mer? Har en fråga eller kommentar?
Vårt ingenjörsteam vill gärna höra från dig - släpp oss bara en rad på [email protected]
Teknisk översikt: Förhindra DNS-läckor när du byter nätverksgränssnitt
För att effektivt kunna erbjuda en användare sekretess och säkerhet måste en VPN-applikation se till att användarens DNS-förfrågningar förblir privata under hela anslutningen till VPN. Applikationer gör detta vanligtvis genom att garantera att alla DNS-förfrågningar skickas krypterade via VPN-tunneln och hanteras av VPN-leverantörens DNS-servrar.
För att upprätthålla denna garanti är det viktigt att förstå under vilka scenarier DNS-läckor kan uppstå. Det är inte tillräckligt att ta hänsyn till enkla scenarier, till exempel när nätverksanslutningar är stabila. I den verkliga världen är nätverk ofta instabila, eller deras konfigurationer kan förändras, och i allmänhet är det här när läckor inträffar. Undersökning av komplexa scenarier är alltså en avgörande del av processen för att konstruera en läcksäker VPN-applikation.
På ExpressVPN lägger vi ner mycket tid och ansträngningar på att undersöka komplexa scenarier under vilka din VPN-applikation kan läcka. I resten av den här artikeln diskuterar vi ett särskilt scenario som vi avslöjade där DNS-läckor kan inträffa. Vi förklarar hur och varför DNS-läckan inträffar och ger dig ett sätt att testa för läckorna själv.
Contents
Scenario: DNS läcker efter en växling i nätverksgränssnitt
Att växla mellan nätverksgränssnitt är ett vanligt scenario där DNS-läckor är möjliga. Tänk på följande exempel:
De flesta VPN-applikationer kommer inte att upptäcka denna ändring av nätverkskonfigurationen. De kommer att fortsätta att informera dig om att din integritet och säkerhet fortfarande är 100% skyddad, men verkligheten kan vara mycket annorlunda.
Under omslagen kan dina DNS-förfrågningar kontinuerligt läcka ut till din ISP eller andra tredje parter, och du kanske aldrig inser det.
Teknisk uppdelning
När kan detta verkligen hända?
Låt oss ta exemplet på en Mac (notera dock att denna läcka också inträffar med Windows-enheter). Anta att du har en Wi-Fi- och Ethernet-anslutning tillgänglig. Öppna appen "Systeminställningar" och navigera till "Nätverk." Du ser något liknande följande:
Detta indikerar att du är ansluten till både Wi-Fi och Ethernet, men Ethernet är din önskade anslutning.
Anta vidare att din DNS tillåts till en "lokal" IP-adress. Du kan kontrollera detta genom att klicka på "Avancerat" när din Ethernet-anslutning är markerad och sedan navigera till "DNS." Du bör se något liknande:
Om IP-adresserna under "DNS-servrar" har formen 10.x.x.x, 192.168.x.x eller mellan 172.16.x.x och 172.31.x.x, är de "lokal" IP-adress. Detta betyder troligtvis att din router fungerar som din DNS-server och därmed utan en VPN kan din ISP se alla dina DNS-förfrågningar. Om du har en sådan installation kan du vara sårbar för denna DNS-läcka.
Observera att även om dina DNS-servrar inte har lokala IP-adresser är du troligtvis känslig för DNS-läckor. I det här fallet kan DNS-förfrågningarna gå igenom VPN-tunneln. De skulle emellertid inte dirigeras till VPN: s DNS-server utan till någon annan DNS-server, till exempel den för din ISP eller en tredjeparts DNS-leverantör.
Hur kan du kontrollera om du läcker?
Den enklaste metoden är att använda ExpressVPNs DNS-läckverktyg och göra följande:
Du kan också kontrollera för DNS-läckor utan att lita på vår webbsida genom att använda tcpdump enligt följande.
För det första, hitta nätverksgränssnittet som motsvarar din Ethernet-anslutning:
Låt oss köra testet:
Vad händer egentligen här?
Orsaken till denna läcka beror på hur operativsystemet avgör vilka DNS-servrar som ska användas. De DNS-servrar som används av systemet är alltid de som är associerade med den högsta prioriterade aktiva nätverkstjänsten - det motsvarar den gröna tjänsten högst upp i listan på bilden ovan.
När Ethernet är inaktiverat är servrarna som tar emot dina DNS-frågor de som är kopplade till Wi-Fi-tjänsten eftersom det nu är den aktiva nätverkstjänsten med högsta prioritet. Detsamma gäller när du ansluter till ett VPN. För att korrekt skicka din DNS-trafik till VPN: s DNS-server byter de flesta VPN-leverantörer DNS-servrarna på gränssnittet med högsta prioritet till sin egen DNS-server. I det här scenariot betyder det att de ändrar DNS-servrar som är kopplade till din Wi-Fi-nätverkstjänst.
När du ansluter Ethernet-kabeln hoppar Ethernet-nätverkstjänsten tillbaka till toppen av den aktiva listan eftersom den nu är den högsta prioriterade nätverkstjänsten. Operativsystemet försöker sedan använda de DNS-servrar som är associerade med den tjänsten för alla DNS-uppslag.
Många VPN-applikationer märker inte problemet eftersom ditt Wi-Fi-nätverk fortfarande är igång - det avbröts aldrig. Men medan de kanske skickar dina data krypterade via Wi-Fi-nätverket, kommer dina DNS-förfrågningar att skickas okrypterade till din ISP.
Om din VPN-applikation inte skyddar mot detta scenario kommer det att innebära att dina DNS-förfrågningar läcker ut ur tunneln till din ISP.
Kontrollerar DNS-namnservrar i Terminal
Som sidoanteckning kan du själv undersöka beteendet hos DNS-servrar med kommandot scutil. För att se vilka DNS-servrar systemet använder helt enkelt:
Intresserad av att lära sig mer? Har en fråga eller kommentar?
Vårt ingenjörsteam vill gärna höra från dig - släpp oss bara en rad på [email protected]