Domainınız Başkasının Oyun Alanına Dönüştü: DNS Wildcard Hataları ve GitHub Pages Felaketi

Domainınız Başkasının Oyun Alanına Dönüştü: DNS Wildcard Hataları ve GitHub Pages Felaketi

May 19, 2026 dns security github pages domain hijacking web hosting best practices dns configuration cybersecurity

Adım Adım Kaybolan Domain: Wildcard DNS Kayıtları ve GitHub Pages'in Tuzağı

Bir yazılımcının durumu düşünün: Afrika'da seyahat ediyor, internet bağlantısı çok kötü ama hayat güzel gidiyor. Sonra birden Google Search Console'dan uyarı geliyor—birileri domain'inin bir alt alanını "sahiplenmiş."

Tüm vücut donuyor.

Bu, hayal ürünü bir senaryo değil. Gerçekten yaşanan bir olaydan bahsediyoruz. 3D noktaları görselleştiren bir proje GitHub Pages'te barındıran bir geliştirici, çevrimdışı olduğu sırada fark etmedi ki kafka.immersivepoints.com başka birinin eline geçmişti. Haftalarca bunu hiç bilmedi. Sadece arama konsolu sayesinde öğrendi.

Başlangıç: Kolaylık Güvenlikten Ağır Bastı

GitHub Pages harika bir servis. Statik siteler, kişisel portföyler, dokümantasyon—sunucu yönetimini düşünmeden bu şeyleri barındırmanın en pratik yollarından biri. DNS kayıtlarını ayarlıyor, GitHub'ın sunucularına yönlendiriyor, işlem bitti—siteniz canlı.

Bu geliştirici de tam olarak bunu yaptı. Wildcard DNS kaydı (*.immersivepoints.com) oluşturdu ve GitHub'ın IP adreslerine işaret ettirdi. Basit, şık, fakat güvensiz.

Perde arkasındaki varsayım mantıklı geliyordu: "Alt alanları sadece ben oluşturabilirim çünkü domain'i sadece ben sahibiyim."

Ama GitHub Pages öyle çalışmıyormuş.

Güvenlik Açığı: GitHub'ın Çok Esnek CNAME Kontrolü

Kimsenin söylemediği sorun şu: GitHub, CNAME dosyası olan herhangi bir repository'deki içeriği sunacak, tek şart DNS kayıtlarının GitHub'ın sunucularına işaret etmesi. Repository düzeyinde bir sahiplik doğrulaması yok.

Yani başka bir GitHub kullanıcısı CNAME dosyasıyla bir repository oluşturup kafka.immersivepoints.com'a işaret ettirdiğinde, GitHub bunu mutlu mutu sundu. Hiç doğrulama yapmadı. Haber vermedi. İzin istedi mi? Hayır.

En kötü tarafı ise bunu private repository'den yaptığı için, domain sahibi bunu bulup şikayet edecek hiçbir yolun olmadı.

Asıl Sorun: Doğrulanmayan Wildcard Kayıtları

Bu, GitHub Pages'in ötesine geçen bir sorun. *.yourdomain.com gibi wildcard DNS kayıtları kullandığında temelde şöyle diyorsunuz: "Bu alan altındaki her şeyi şu servise yönlendir." Verimli ama kontrol kayboluyor.

GitHub'ın domain sahipliğini doğrulamadan her CNAME dosyasını kabul etme yaklaşımıyla birleşince işte ortaya çıkıyor—birinin rüyası, birinin kabusu. GitHub hesabı olan herkes senin wildcard DNS kaydının altında bir alt alan talep edebiliyor.

Bu durumda kötü niyetli kişiler fırsatı kaçırmamış. Ele geçirilen alt alan slot makine dolandırıcılığını barındırıyordu. Domain'inin arama motorlarındaki itibarı çöpe gitti.

Hiç Kimse Fark Etmedi (Ta Ki...)

Geliştirici bir şey sayesinde kurtuldu: Google Search Console'u kurmuştu. Olayı öğrenen tek şey de o oldu. Olmasaydı, dolandırıcı siteler barındırıcının domain'i altında saatlerce indexlenmeye devam edebilirdi.

Burada önemli bir ders var: izleme bir güvenlik aracıdır, sadece performans metriği değil.

Sonra Ne Oldu: GitHub'ın Yarım Çözümü

Araştırma yapınca ortaya çıktı—GitHub'ın aslında domain doğrulama özelliği var. Fakat ayarların derinliklerine saklanmış, çoğu kişi buluyor bile. Repository ayarlarında değil, hesap ayarlarında.

Bu bir UX problemi. GitHub şunu yapmalıydı:

  1. Uyarı göstermek repository ayarlarında eğer domain doğrulanmadıysa
  2. Doğrulamayı zorunlu kılmak CNAME dosyası sunmadan önce
  3. DNS TXT kaydı benzeri mekanizmalar kullanarak sahipliği onaylamak

Geliştirici kötü niyetli repository'leri GitHub'a bildirdi ama cevap aldı mı? Zamanlaması ve şeffaflığı... istenen seviyede değil.

Kendini Koruma Rehberi

GitHub Pages kullanıyorsan ve özel domain'in varsa, kontrol listesi hazır:

✓ Wildcard DNS kayıtlarından uzak dur eğer çok gerekli değilse. Sadece ihtiyacın olan alt alanlar için özel A veya CNAME kayıtları kullan.

✓ Domain'ini doğrula GitHub hesap ayarlarında, sadece repository ayarlarında değil.

✓ DNS TXT kaydı kullan sahipliği ispatlamak için. Saldırganlar için zorluk katılır.

✓ Domain'ini takip et Google Search Console, Bing Webmaster Tools ya da benzer araçlarla. Yeni sayfaların indexlendiği konusunda uyarı kur.

✓ GitHub Pages ayarlarını düzenli kontrol et. Hangi repository'lerde CNAME dosyası var, onları doğru mu yönetiyorsun?

✓ Düşün ki GitHub Pages kritik projeler için çok güvenli olmayabilir eğer alan üzerinde katı kontrol istiyorsan. Kendi sunucuların ya da özel hosting sağlayıcı daha iyi seçenek olabilir.

Asıl Mesele

Bu olay gösteriyor ki geliştiriciler DNS'i sadece kurması değil, neden önemli olduğunu anlaması gerekiyor. Wildcard DNS kaydı, GitHub'a tüm alt alan yapınıza anahtar vermek gibidir. Rahat ama tehlikeli.

Aynı zamanda platformların daha güvenli varsayılanları olması gerektiğini gösteriyor. GitHub Pages kapsamlı bir hizmet ama keşfedilebilirlik ve güvenlik uyarıları geliştirilmeli. Domain doğrulamasını hesap ayarlarında saklıp, repository kurulum akışında öne çıkarmamak—sonuçları ciddi olan bir tasarım hatası.

İyi haber: bunun hepsi önlenebilir. Doğru DNS yapılandırması ve domain doğrulamasıyla GitHub Pages projeleriniz güvenli kalabilir.

Sadece izlemeyi unutma.


Kendi domain'in başına benzer bir şey mi geldi? Yorum bölümünde paylaş—ve elini şu anda DNS kayıtlarına at. Gelecekte kendine minnettar olacaksın.

Read in other languages:

RU BG EL CS UZ SV FI RO PT PL NB NL HU IT FR ES DE DA ZH-HANS EN