familiewapen Mick Beermickbeer.com

manuscript ·

beginselTracking en cookiesbronnenverwant

CNAME-cloaking vermomt een derde partij als eigen subdomein

Een tracker kan draaien op een subdomein van de site zelf, via een DNS-omleiding die stiekem naar de tracker-infrastructuur wijst. Daardoor lijkt hij eerste-partij en ontwijkt hij browserblokkades. Wie alleen op de domeinnaam kijkt, mist hem; je moet de DNS-keten en het uiteindelijke IP volgen om te zien wie er echt achter zit.

De vermomming in één zin

Bij CNAME-cloaking laat een site een tracker van een derde partij draaien onder een eigen subdomein. Wat er voor de browser uitziet als stats.eigensite.nl, wijst achter de schermen door naar de servers van een externe partij. De derde partij draagt de jas van de eerste. De browser ziet een adres op het domein dat de bezoeker net vertrouwde, en behandelt alles wat daaronder gebeurt alsof het van de site zelf komt.

De truc zit niet in de code op de pagina. Die zit in het adresboek van het internet, in DNS. Om te snappen waarom dit werkt en hoe je het opspoort, moet je één stap dieper dan de domeinnaam.

Hoe een CNAME de omleiding maakt

DNS vertaalt een naam naar een adres. Vraag je naar www.eigensite.nl, dan geeft DNS uiteindelijk een IP-adres terug waar je verbinding mee maakt. Meestal loopt dat via een A-record of AAAA-record, dat een naam direct aan een IP koppelt.

Een CNAME-record doet iets anders. Het zegt: deze naam is een alias voor die andere naam, zoek daar verder. analytics.eigensite.nl kan een CNAME hebben die naar c.tracker-provider.com wijst. De browser stelt dan één vraag, aan analytics.eigensite.nl, en DNS lost dat stilletjes op naar de infrastructuur van de tracker. De bezoeker ziet in de adresbalk en in de netwerkrequests alleen het eigen subdomein. De omleiding gebeurt een laag lager, waar bijna niemand kijkt.

De ketting kan langer zijn dan één stap. Een subdomein wijst naar een naam van de provider, die weer naar een load balancer, die pas op het eind bij een IP-adres uitkomt. Wie de vermomming wil doorzien, volgt die hele ketting tot het einde.

Opsporen met dig

Je hebt geen scanner nodig om de eerste laag te zien. Het commando dig toont de DNS-keten rechtstreeks.

dig analytics.voorbeeld.nl CNAME +short

Als hier een naam van een externe partij terugkomt, bijvoorbeeld voorbeeld-nl.a.tracker-provider.net, dan is het "eigen" subdomein een doorverwijzing naar die partij. Wil je de hele keten zien, inclusief het IP waar het op uitkomt, vraag dan het volledige antwoord op:

dig analytics.voorbeeld.nl +noall +answer

Een typische uitkomst ziet er zo uit:

analytics.voorbeeld.nl.        3600  IN  CNAME  voorbeeld-nl.a.tracker-provider.net.
voorbeeld-nl.a.tracker-provider.net.  300  IN  A  203.0.113.45

De eerste regel is het bewijs. Het subdomein op het domein van de site is een alias voor een naam die bij een andere organisatie hoort. De tweede regel geeft het IP, dat je met een WHOIS-lookup of een offline GeoIP-database aan een houder en een land kunt koppelen. Zo zie je niet alleen dát het wordt omgeleid, maar ook waarheen en naar welke jurisdictie. Voor dat laatste geldt een eigen weegschaal, zie Waar het pakket landt en wie het kan vorderen zijn twee assen en In Europa gehost is geen vrijwaring.

Wat je op dit punt hebt vastgesteld is puur DNS. Je hebt gemeten dat een naam op het eigen domein doorverwijst naar een externe partij. Dat is een harde, herhaalbare observatie.

Waarom dit cookies oplevert die anders sneuvelen

De omleiding heeft één doel dat verder gaat dan onzichtbaarheid: het maakt de tracker eerste-partij in de ogen van de browser. Dat heeft gevolgen voor twee dingen tegelijk.

Ten eerste de blokkades. Adblockers en trackerlijsten zoals EasyPrivacy werken grotendeels op domeinnamen. Ze kennen tracker-provider.com en houden requests naar dat domein tegen. Een request naar analytics.eigensite.nl staat op geen enkele lijst, want dat is een uniek subdomein van deze ene site. De filter laat het door. De trackerlijsten die specifiek CNAME-cloaking bestrijden moeten daarom de DNS resolven voordat ze filteren, en dat is precies wat de meeste blokkades op basis van snelheid overslaan.

Ten tweede de cookies. Een cookie die door een echt derde-partij-domein wordt gezet, is een third-party cookie. Moderne browsers knijpen die dood of geven ze een korte levensduur. Een cookie die wordt gezet in het antwoord van analytics.eigensite.nl, is een first-party cookie, want het staat op het domein dat de bezoeker bezoekt. Dat cookie krijgt de volledige, lange levensduur van een eigen cookie. De vermomming levert dus zowel het passeren van de filters als een langer geheugen op.

Dat mechanisme staat los van een cookie-banner. Ook wie op de banner weigert, kan zo alsnog een identifier krijgen die als eerste-partij binnenkomt. Over hoe je dat verschil tussen weigeren en werkelijk stoppen meet, schreef ik in Cookies weigeren scheelt echt, maar reken er niet blind op.

Welke browsers er wel of niet tegen beschermen

De bescherming verschilt per browser, en dat verschil is de kern van waarom de truc bestaat.

Safari, met Intelligent Tracking Prevention, kijkt niet alleen naar het domein maar ook naar de CNAME-keten. Als ITP ziet dat een first-party subdomein via CNAME naar een bekende tracker resolvet, behandelt het de cookies alsof ze van een derde partij komen. Het kapt de levensduur van zulke cookies terug tot zeven dagen, en bij een deel van de gevallen naar één dag. De vermomming wordt in Safari dus deels doorzien.

Firefox biedt in de strikte modus van Enhanced Tracking Protection een vergelijkbare CNAME-ontcloaking. Het resolvet de keten en past de trackerlijst toe op het einddoel, waardoor een gecloakte tracker alsnog wordt geblokkeerd. In de standaardmodus is die bescherming zwakker.

Chrome doet dit standaard niet. Wie Chrome gebruikt zonder aanvullende, DNS-resolvende blokkade, krijgt de gecloakte tracker en het first-party cookie gewoon binnen. Omdat Chrome het grootste deel van de bezoekers levert, is dat het scenario waar de meeste sites op mikken. Precies daar heeft de vermomming het grootste bereik.

Wanneer het wel cloaking is en wanneer niet

Een CNAME naar een ander domein is op zichzelf doodnormaal. Het internet draait erop. De vraag is altijd: naar wie wijst de keten aan het einde, en wat gebeurt daar. Drie voorbeelden van een CNAME die géén cloaking is:

  • Een eigen CDN-subdomein. static.eigensite.nl wijst via CNAME naar eigensite.cdnprovider.net. Dat levert plaatjes, scripts en stylesheets uit. Er wordt geen identifier gezet om de bezoeker over sites heen te volgen. Dit is een leveringsketen, geen volgketen.
  • Een e-mailprovider-subdomein. email.eigensite.nl of mg.eigensite.nl wijst naar een verzenddienst voor nieuwsbrieven en transactiemail. De verwijzing is technisch identiek aan cloaking, de functie is het versturen van post.
  • Een subdomein naar eigen infrastructuur. api.eigensite.nl wijst naar een eigen backend bij een hostingpartij. Het IP komt uit bij de site zelf of bij een neutrale hoster, niet bij een advertentie- of analytics-bedrijf.

En het geval dat wél cloaking is:

  • Een subdomein dat via CNAME resolvet naar een bekende tracker-provider. analytics.eigensite.nl of m.eigensite.nl komt uit bij de infrastructuur van een analytics- of advertentiepartij, en in het antwoord wordt een first-party cookie met een identifier gezet. De naam suggereert een eigen dienst, de bestemming is een tracker.

Het onderscheid zit dus in twee dingen samen: wie er aan het einde van de keten staat, en of daar een identifier wordt gezet die de bezoeker herkenbaar maakt. Het eerste zie je met dig. Het tweede zie je in de HAR van een echte browsersessie, zie Netwerkverkeer lezen via HAR-files. Een naam die "analytics" heet is trouwens geen bewijs op zich, zie Een naam in de code is nog geen tracker; het bewijs is de bestemming en het gedrag.

De juridische haak

Voor de wet maakt het niet uit via welk domein het verzoek loopt. Artikel 11.7a van de Telecommunicatiewet regelt het plaatsen en uitlezen van gegevens op het apparaat van de gebruiker. De eis van voorafgaande toestemming geldt onafhankelijk van de vraag of de tracker op tracker-provider.com draait of op analytics.eigensite.nl. De vermomming verandert het technische pad, niet de juridische kwalificatie van wat er gebeurt.

Hetzelfde geldt onder de AVG. Wordt er een identifier gezet en uitgelezen waarmee een persoon herkenbaar wordt, dan is er verwerking van persoonsgegevens, en gelden de eisen van grondslag, transparantie en verantwoordingsplicht. Dat de tracker onder een eigen subdomein draait, ontslaat de site niet van die plichten. Sterker, het maakt de site tot een partij die actief helpt om een derde onherkenbaar te maken. Dat is een omstandigheid die tegen de verwerkingsverantwoordelijke pleit, niet voor.

De cloaking maakt de handhaving wel moeilijker. Een toezichthouder of onderzoeker die alleen op domeinnamen kijkt, ziet de tracker niet. Wie de DNS-keten volgt, ziet hem alsnog. De wet reikt tot achter de vermomming, de moeite om erbij te komen is groter geworden.

Wat de meting wel en niet aantoont

Hier moet ik scherp zijn over bewijsniveau, zie Label elke bevinding op bewijsniveau.

Een CNAME zien is gemeten. dig geeft een herhaalbaar, verifieerbaar antwoord: dit subdomein verwijst naar die externe partij, op dit IP, in deze jurisdictie. Daar hoeft niemand mij op te vertrouwen, het commando is voor iedereen na te doen.

Dat er persoonsgegevens stromen, is afgeleid. Uit de combinatie van de bestemming, een bekende tracker, en een first-party cookie met een identifier in het HAR-verkeer, leid ik af dat de site bezoekers herkenbaar volgt. Die afleiding is sterk, want de puzzelstukken passen, maar het blijft een gevolgtrekking uit wat ik meet, geen directe waarneming van de inhoud van hun database.

Dat onderscheid is belangrijk als het serieus wordt. Bij een klacht of een publicatie moet de harde kern, de CNAME en de cookie, in de meting liggen, en de gevolgtrekking daarboven als gevolgtrekking benoemd. Meet daarom zoals een bezoeker, niet zoals een scanner, want de cloaking richt zich juist op de echte browser, zie Meet zoals een bezoeker, niet zoals een scanner. En verwar de rollen niet: een gecloakte partij kan analytics zijn, een advertentienetwerk of iets ertussenin, en dat verschil telt, zie Trackers hebben rollen, en die verwar je niet.

Zie ook Server-side tagging verplaatst de tracking uit het zicht, Een naam in de code is nog geen tracker en Trackers hebben rollen, en die verwar je niet.

bronnen
  1. Yana Dimova e.a., "The CNAME of the Game: Large-scale Analysis of DNS-based Tracking Evasion", PETS 2021de eerste grootschalige meting van CNAME-tracking en de bijbehorende cookielekken
  2. Telecommunicatiewet, artikel 11.7ade toestemmingseis geldt ongeacht via welk domein het verzoek loopt
citeer alsBeer, M. (2026, 9 juli). CNAME-cloaking vermomt een derde partij als eigen subdomein. mickbeer.com. https://mickbeer.com/#cname-cloaking-vermomt-een-derde-partij-als-eigen-subdomein

lees dit stuk in het manuscript, met alles waar het aan hangt