HTTPS en Cloudflare DNS: kan iemand toch zien welke websites u bezoekt?

U gebruikt HTTPS, hebt Cloudflare als DNS-provider ingesteld en denkt dat niemand meer kan zien welke websites u bezoekt. Maar klopt dat eigenlijk?
Niet helemaal. Hoewel HTTPS en versleutelde DNS belangrijke beveiligingsmaatregelen zijn, kunnen bepaalde gegevens over uw internetverkeer nog steeds zichtbaar zijn. Met het gratis programma Wireshark is dat zelfs relatief eenvoudig aan te tonen.
Het interessante is dat hiervoor niet noodzakelijk een hacker of ingewikkelde aanval nodig is. Soms vertelt een gewone netwerkverbinding al meer dan u verwacht.
Wat beschermt HTTPS eigenlijk?
Wanneer u een website bezoekt die HTTPS gebruikt, wordt de communicatie tussen uw browser en de website versleuteld.
Dat betekent dat iemand die uw netwerkverkeer onderschept normaal gesproken niet zomaar kan lezen welke wachtwoorden u invoert, welke berichten u verstuurt of welke specifieke pagina’s u bekijkt.
Maar HTTPS verbergt niet automatisch alle informatie over de verbinding.
Zo kan een netwerkbeheerder doorgaans nog steeds zien met welke IP-adressen uw apparaat verbinding maakt. En afhankelijk van de gebruikte technologie kan zelfs de domeinnaam van een website zichtbaar zijn.
Het verschil tussen de inhoud van uw internetverkeer en de informatie over uw verbinding is hierbij essentieel.
Cloudflare DNS: extra privacy, maar geen onzichtbaarheid
Iedere keer dat u een domeinnaam zoals example.com bezoekt, moet uw apparaat achterhalen bij welk IP-adres die website hoort.
Dat gebeurt via het Domain Name System (DNS).
Bij traditionele, onversleutelde DNS kunnen apparaten die uw netwerkverkeer observeren deze aanvragen vaak gewoon lezen.
Met DNS-over-HTTPS (DoH) worden DNS-verzoeken versleuteld. Diensten zoals Cloudflare 1.1.1.1 en Google Public DNS ondersteunen deze technologie.
Dat voorkomt dat iemand op uw lokale netwerk eenvoudig kan meelezen welke domeinnamen u via DNS opvraagt.
Toch betekent dit niet dat uw internetverkeer volledig anoniem wordt.
Uw apparaat moet immers nog steeds verbinding maken met de server waarop de website draait. Tijdens die verbinding kunnen andere gegevens zichtbaar worden.
Bovendien vertrouwt u uw DNS-provider nog steeds informatie over de domeinnamen toe die u opvraagt.
De Wireshark-test: Nvidia blijkt toch zichtbaar
In een demonstratie op YouTube laat een netwerkspecialist zien hoe dit werkt.
Hij gebruikt twee computers en een zogenaamde network TAP. Dit apparaat kopieert het netwerkverkeer van de eerste computer naar de tweede computer, waarop Wireshark draait.
Op de eerste computer gebruikt hij Firefox met strenge privacyinstellingen en DNS-over-HTTPS via Cloudflare.
Vervolgens bezoekt hij verschillende bekende websites, waaronder Nvidia, Microsoft, ChatGPT, Canva en Cisco.
Wanneer hij in Wireshark uitsluitend naar gewone DNS-pakketten zoekt, vindt hij geen zichtbare DNS-aanvraag voor Nvidia.
Op het eerste gezicht lijkt de privacybescherming dus te werken.
Maar vervolgens doorzoekt hij alle vastgelegde netwerkpakketten.
En daar verschijnt Nvidia alsnog.
Niet via een gewone DNS-aanvraag, maar via informatie in de TLS-handshake: de zogenaamde Server Name Indication (SNI).
De DNS-aanvraag was beschermd, maar de domeinnaam werd via een ander onderdeel van de verbinding alsnog zichtbaar.
De demonstratie bewijst daarmee iets belangrijks: DNS-over-HTTPS alleen is geen garantie dat de bezochte website verborgen blijft.
Wat is SNI en waarom is het belangrijk?
Server Name Indication is een onderdeel van TLS, het beveiligingsprotocol dat onder andere bij HTTPS wordt gebruikt.
Wanneer meerdere websites hetzelfde IP-adres gebruiken, moet een server kunnen bepalen met welke website de browser verbinding wil maken.
Traditioneel stuurt de browser daarvoor tijdens het opzetten van de beveiligde verbinding de gewenste domeinnaam mee.
Die informatie staat in de TLS ClientHello.
Bij een traditionele TLS-verbinding kan deze domeinnaam zichtbaar zijn voor iemand die het netwerkverkeer observeert.
Dat is precies wat in de Wireshark-demonstratie gebeurt.
Er is hierbij een belangrijk onderscheid: de waarnemer ziet de domeinnaam, maar krijgt daardoor niet automatisch toegang tot de inhoud van de versleutelde communicatie.
Een zichtbaar bezoek aan example.com betekent dus niet dat iemand ook kan zien welke specifieke HTTPS-pagina u daar opent.
Maar moderne browsers hebben toch ECH?
Ja. En dat maakt deze discussie interessanter.
Encrypted Client Hello (ECH) is ontwikkeld om gevoelige onderdelen van de TLS-handshake te versleutelen, waaronder de werkelijke domeinnaam die anders via SNI zichtbaar zou zijn.
Firefox ondersteunt ECH sinds versie 119. Ook andere moderne browsers en infrastructuurleveranciers werken met deze technologie.
Maar ondersteuning in een browser betekent niet dat iedere website automatisch ECH gebruikt.
Daarvoor moeten meerdere onderdelen van de verbinding samenwerken.
Als ECH niet beschikbaar is of niet wordt toegepast, kan de traditionele SNI nog steeds zichtbaar zijn.
En zelfs wanneer ECH correct werkt, blijven bijvoorbeeld bestemmings-IP-adressen, verbindingsduur en hoeveelheden netwerkverkeer waarneembaar.
ECH verbetert de privacy dus aanzienlijk, maar maakt internetverkeer niet volledig onzichtbaar.
Kan iemand via openbare wifi zien welke websites u bezoekt?
Dat kan, afhankelijk van de inrichting van het netwerk en de gebruikte beveiliging.
Een beheerder van een openbaar wifi-netwerk kan vaak verbindingsgegevens waarnemen, waaronder bestemmings-IP-adressen en verkeerspatronen.
Bij verbindingen zonder ECH kan ook de SNI zichtbaar zijn.
Dat betekent niet dat iedere andere bezoeker van een café automatisch uw internetverkeer kan onderscheppen. Daarvoor moet die persoon daadwerkelijk toegang hebben tot de relevante netwerkpakketten.
Ook kunnen moderne wifi-beveiliging en netwerkisolatie het meekijken door andere gebruikers beperken.
Een kwaadwillende netwerkbeheerder heeft doorgaans meer mogelijkheden dan een willekeurige gebruiker op hetzelfde netwerk.
Heeft u dan toch een VPN nodig?
Niet noodzakelijk.
Een VPN kan uw verkeer tussen uw apparaat en de VPN-server versleutelen. Daardoor ziet uw lokale netwerk normaal gesproken vooral dat u verbinding maakt met een VPN-server, in plaats van rechtstreeks met alle bezochte websites.
Maar een VPN maakt u niet automatisch anoniem.
U verplaatst een deel van het vertrouwen van uw internetprovider naar de VPN-aanbieder. Bovendien kunnen websites u nog steeds herkennen via bijvoorbeeld uw account, cookies of andere identificatiemethoden.
Voor de meeste mensen blijft het belangrijker om HTTPS te gebruiken, apparaten en browsers bij te werken, phishing te herkennen en sterke accountbeveiliging toe te passen.
Een VPN kan nuttig zijn voor aanvullende privacy, maar is geen universele oplossing.
Zelf controleren met Wireshark
Het interessante aan de demonstratie is dat u deze niet zomaar hoeft te geloven.
Wireshark is gratis software waarmee u netwerkverkeer kunt vastleggen en analyseren.
Op Linux, Windows en macOS kunt u daarmee uw eigen netwerkverbinding onderzoeken.
Wie specifiek wil controleren of een TLS-verbinding een leesbare SNI bevat, kan bijvoorbeeld dit Wireshark-weergavefilter gebruiken:
tls.handshake.extensions_server_name
Om te zoeken naar de ECH-extensie kan het volgende filter worden gebruikt:
tls.handshake.extension.type == 65037
De aanwezigheid van een ECH-extensie is overigens niet automatisch het bewijs dat ECH succesvol is toegepast.
Ook is er een verschil tussen het vastleggen van uw eigen netwerkverkeer en het onderscheppen van verkeer van andere apparaten.
Voor het onderzoeken van uw eigen computer hebt u doorgaans geen extra wifi-adapter nodig. Wireshark kan het verkeer rechtstreeks op de gebruikte netwerkinterface vastleggen.
Conclusie: versleuteld is niet hetzelfde als onzichtbaar
HTTPS, DNS-over-HTTPS en ECH beschermen verschillende onderdelen van uw internetverbinding.
Ze vullen elkaar aan, maar bieden niet allemaal dezelfde bescherming.
De Wireshark-demonstratie maakt duidelijk waarom absolute uitspraken over online privacy riskant zijn. Een verborgen DNS-aanvraag betekent niet automatisch dat de bezochte domeinnaam nergens anders zichtbaar is.
Tegelijkertijd zou het onjuist zijn om op basis van deze demonstratie te concluderen dat HTTPS of Cloudflare DNS nutteloos zijn.
De belangrijkste les: goede online privacy bestaat uit meerdere beschermingslagen. Geen enkele instelling maakt uw internetverkeer automatisch volledig onzichtbaar.
Wie zijn digitale privacy serieus neemt, doet er goed aan te begrijpen welke gegevens daadwerkelijk worden beschermd, welke metadata zichtbaar blijven en welke aanvullende maatregelen in de eigen situatie zinvol zijn.