När din domän blir en lekplats för andra: DNS-wildcards och GitHub Pages som spårat ur
När ditt domän blir en lekplats för främlingar: DNS-wildcards och GitHub Pages
Du reser genom Afrika med dålig uppkoppling. Allt känns bra. Plötsligt dyker det upp ett mejl från Google Search Console – någon har tagit över en subdomän under ditt namn.
Panik.
Det här är ingen teori. En utvecklare som körde en statisk sajt för 3D-visualisering på GitHub Pages råkade ut för precis det här. Medan hen var offline hade någon lagt upp innehåll på kafka.immersivepoints.com. De upptäckte det först veckor senare.
Hur det började: Enkelhet före säkerhet
GitHub Pages är smidigt. Du slipper mecka med servrar och kan ändå få en snygg, statisk sajt live. De flesta sätter upp en DNS-post som pekar mot GitHubs servrar och är klara.
Utvecklaren i fråga hade gjort just det. De använde en wildcard-post (*.immersivepoints.com) för att slippa skapa varje subdomän manuellt. Det kändes enkelt och elegant. Men det var också riskfyllt.
Antagandet var logiskt: ”Jag äger domänen, så bara jag kan använda subdomänerna.” Men så fungerar inte GitHub Pages.
Vad som gick snett: GitHub släpper igenom allt
GitHub kontrollerar inte vem som egentligen äger en domän när en CNAME-fil dyker upp. Det räcker att DNS-posten pekar mot deras servrar. Så när en annan användare la upp en CNAME som pekade mot kafka.immersivepoints.com, accepterade GitHub det direkt.
De kunde till och med göra det från ett privat repo. Då fanns det ingen enkel väg att upptäcka eller anmäla missbruket.
Problemet i grunden: Wildcard utan kontroll
Wildcard-poster är praktiska. De skickar all trafik under domänen till samma ställe. Men när de kombineras med GitHubs slappa hantering av CNAME-filer blir det farligt. Vem som helst med ett GitHub-konto kan ta en subdomän under din wildcard-post.
I det här fallet hade de hijackade subdomänerna använts för att hosta slotmaskinspelsidor. Det är exakt den sortens innehåll som förstör förtroendet för din domän hos Google.
Hur det upptäcktes
Utvecklaren hade tur – de hade installerat Google Search Console. Det var enbart den inställningen som gjorde att de såg att något var amiss.