Când domeniul tău devine teren de joacă pentru străini: DNS Wildcards și GitHub Pages pe dos
Când domeniul tău devine o pradă pentru străini: Wildcard DNS și problemele cu GitHub Pages
Imaginați-vă că ești offline câteva săptămâni. Cât timp ești plecat, un hacker folosește domeniul tău ca să găzduiască site-uri de pariuri ilegale.
Asta i s-a întâmplat unui dezvoltator care folosea GitHub Pages. Fără să știe, cineva a creat un sub-domeniu nou pe immersivepoints.com și a început să servească conținut necorespunzător.
De ce a fost posibil
Dezvoltatorul folosea un wildcard DNS record. Asta înseamnă că toate sub-domeniile de tip *.immersivepoints.com erau direcționate către serverele GitHub. La început, părea o soluție simplă și elegantă.
Nu a luat în calcul că GitHub nu verifică cine deține domeniul. Oricine poate crea un repository cu un fișier CNAME care indică un sub-domeniu de sub immersivepoints.com. GitHub îl servește fără să întrebe nimic.
Cum a descoperit problema
Dezvoltatorul nu a aflat imediat. Abia când a primit o alertă de la Google Search Console a realizat că se întâmplă ceva. Câteva sub-domenii erau deja indexate de Google și conduceau la site-uri dubioase.
Fără acea alertă, abuzul putea continua luni de zile.
Ce nu face GitHub
GitHub are o funcție de verificare a domeniului, dar este ascunsă în setările de cont. Mulți utilizatori nu o găsesc. Iar când un repository folosește un custom domain, GitHub nu obligă la verificarea proprietății.
Din păcate, nu există un mecanism care să oblige verificarea DNS TXT records sau să trimită notificări către proprietarul domeniului.
Cum poți evita problemele
Câteva măsuri simple te pot proteja:
- Folosește DNS records specifice pentru fiecare sub-domeniu, în loc de wildcard.
- Verifică domeniul în setările contului GitHub, nu doar în repository.
- Adaugă un DNS TXT record ca să dovedești că ești proprietar.
- Monitorizează indexările cu Google Search Console sau servicii similare.
- Verifică regulat ce repositories folosesc custom domain pe GitHub.
Concluzie
Wildcard DNS combinat cu GitHub Pages poate crea o vulnerabilitate serioasă. Aproape orice persoană cu un cont GitHub poate „împrumuta” un sub-domeniu de sub domeniul tău.
而