Når domenet ditt blir en lekeplass for fremmede
Når domenet ditt blir en lekeplass for fremmede
Du er på reise i Afrika med ustabilt internett. Plutselig dukker det opp en melding fra Google Search Console: noen andre har tatt over en subdomene under ditt eget domene.
Det er ikke bare en teori. En utvikler som hostet en statisk 3D-visualisering på GitHub Pages opplevde akkurat dette. Mens han var offline, hadde noen lagt inn innhold på kafka.immersivepoints.com – uten at han visste det før flere uker senere.
Enkelhet foran sikkerhet
GitHub Pages er en av de enkleste måtene å hoste statiske sider på. Du setter opp DNS, peker mot GitHubs servere, og siden er live.
Denne utvikleren valgte en wildcard DNS-record (*.immersivepoints.com) for å slippe å lage egne poster for hver subdomene. Det virket smart – helt til det ikke gjorde det lenger.
Antagelsen var at bare han kunne opprette subdomener, siden han eide domenet. Men det stemmer ikke med hvordan GitHub Pages fungerer.
GitHubs manglende eierskapsbekreftelse
Problemet er at GitHub godtar CNAME-filer fra hvilken som helst repo, så lenge DNS-en peker mot deres servere. De sjekker ikke om du faktisk eier domenet.
Da en annen bruker opprettet en repo med en CNAME som pekte mot kafka.immersivepoints.com, begynte GitHub å vise innholdet der. Uten verifisering. Uten varsler.
Og fordi repoet var privat, kunne ikke eieren se det eller melde det inn.
Wildcard DNS + ingen kontroll
En wildcard DNS-record sier i praksis: «Alt under dette domenet skal rutes hit.» Det er effektivt, men gir deg ingen finjustert kontroll.
Kombinasjonen av wildcard DNS og GitHubs mangel på eierskapsbekreftelse gir andre mulighet til og ta over subdomener under ditt eget domene. I dette tilfellet ble subdomenen brukt til gambling-sider.
Kun overvåking avslørte misbruket
Uten Google Search Console hadde utvikleren aldri oppdaget det. De dårlige sidene kunne ha vært indeksert under hans domene uten at noen visste om det.
Det viser at monitoring ikke bare er en performance-måling – det er også en del av sikkerheten.
GitHubs delvise løsning
GitHub har en domain verification-funksjon, men den ligger i kontoinnstillinger, ikke i repo-innstillinger. Mange finner dem ikke.
De bør:
- Gi tydelige varsler når en custom domain er ikke-verifisert
- Kreve verifisering før CNAME-filer blir aktivert
- Bruke DNS TXT-records som eierskapsbekreftelse
Uten slike tiltak blir det lett å misbruke domener.
Slik beskytter du deg selv
Når du bruker GitHub Pages med custom domain, bør du:
- Unngå wildcard DNS-records hvis det ikke er absolutt nødvendig. Bruk spesifikke A-records eller CNAME-records i stedet.
- Verifiser domenet ditt gjennom GitHubs kontoinnstillinger.
- Bruk DNS TXT-records for å bekrefte eierskap.
- Monitor domenet ditt med Google Search Console eller tilsvarende,并设置 alerts for nye sider under ditt domene.
- Sjekk jevnlig hvilke repos som har CNAME-filer og om de er legitime.
- Vurder alternativ hosting for kritiske prosjekter som trenger sterkere kontroll over domenet.
Hva vi kan lære av dette
En wildcard DNS-record gir GitHub – og dermany person med en repo – en slags master key for alle subdomener under ditt domene. Det er convenient, men ikke alltid sikker.
GitHub bør også gjøre verifisering av custom domain mer synlig og mandatory i repoene.
Just don’t forget to set up monitoring.
Har du opplevd subdomain abuse eller domain hijacking? Kommenter gjerne – og sjekk DNS-en din nå.