Wanneer je domein een speeltuin wordt voor iedereen: DNS-wildcards en GitHub Pages die misgaan
Wanneer je domein een speeltuin wordt voor vreemden: wildcard DNS en GitHub Pages
Stel je voor: je zit in Afrika met een wispelturige verbinding. En dan komt de melding binnen. Google Search Console waarschuwt dat iemand anders een subdomein van jouw domein in gebruik heeft.
Dat klinkt als een zeldzaam ongeluk, maar het is een developer overkomen die een statische site op GitHub Pages hostte. Terwijl hij offline was, verscheen er plots een site op kafka.immersivepoints.com. Een subdomein dat hij zelf nooit had aangemaakt.
Hoe een slimme DNS-setup misging
De developer had een wildcard DNS-record ingesteld. Daarmee wijs je elk mogelijk subdomein naar dezelfde servers. Praktisch voor mensen die vaak nieuwe subpagina’s of projecten starten. Maar ook riskant, omdat je daarmee de deur opent voor ongewenste content.
GitHub Pages controleert namelijk niet of degene die een CNAME-bestand aanmaakt ook echt eigenaar is van het domein. Elk repository met een CNAME die naar jouw domein wijst, kan content serveren. Of dat nu via een publieke of private repo gebeurt.
Het probleem met verificatie
GitHub heeft wel een domeinverificatie-functie, maar die zit verstopt in de accountinstellingen. Niet iedereen vindt hem of weet dat hij nodig is. Daardoor kunnen anderen zonder jouw kennis subdomains claimen.
In dit geval werd het subdomein gebruikt voor gokpagina’s. Dat soort content schaadt je reputatie bij zoekmachines en kan je domein in de problemen brengen.
Wat je kunt leren van dit incident
Monitoring maakte het verschil. Dankzij Google Search Console ontdekte de developer pas wat er mis was. Zonder die waarschuwingen had het probleem onopgemerkt kunnen blijven.
Om herhaling te voorkomen, is een paar eenvoudige maatregelen verstandig:
- Gebruik geen wildcard DNS als het niet per se nodig is. Maak liever specifieke A- of CNAME-records aan voor de subdomains die je echt gebruikt.
- Verifieer je domein via GitHubs accountinstellingen.
- Voeg DNS TXT-records toe om je eigenaarschap aan te tonen.
- Monitor je domein met Google Search Console of Bing Webmaster Tools. Zo krijg je alerts wanneer nieuwe content onder je domein verschijnt.
- Check regelmatig welke repositories een CNAME hebben en of die ook echt van jou zijn.
- Overweeg voor kritieke projecten andere hosting aan te bieden,而不是GitHub Pages. Self-hosting of een dedicated provider geeft je meer controle.
DNS en de verantwoordelijkheid van platforms
Als je DNS-setup te ruim is, krijg je een master key-probleem. Dat is prima voor convenience, maar niet voor security. En als platforms zoals GitHub de verificatie niet goed voor de gebruiker maakt, is het risico groot.
Wildcards zijn convenient tot ze het niet meer zijn.