Bir CNAME kaydı, alt alan adının başka bir alan adını işaret etmesini sağlar. CNAME kaydının işaret ettiği hizmet kaldırıldığı halde kayıt DNS bölgesinde kalırsa, alt alan artık kullanılmayan bir dış hedefe yönelmeye devam eder.

Bu durum tek başına alt alanın ele geçirildiği anlamına gelmez. Risk, CNAME hedefinin başka bir hesap tarafından yeniden alınabilmesine ve hedef hizmetin özel alan adı sahipliğini nasıl doğruladığına bağlıdır.

Asıl sorun, DNS kaydının yaşam döngüsü ile işaret ettiği hizmetin yaşam döngüsünün birbirinden kopmasıdır. Kaynak silinirken CNAME unutulursa, kuruluşun kontrol ettiği bir alt alan dışarıdaki yeniden kullanılabilir bir ada bağlı kalabilir.

CNAME Kaydı Alt Alanı Hedefe Nasıl Bağlar?

DNS'te CNAME kaydındaki ad bir takma addır; kayıt değeri ise çözümlemenin devam edeceği hedef alan adını belirtir. Örneğin bir kuruluş, alt alan adını dışarıdaki bir barındırma veya bulut hizmetinin verdiği ada bağlayabilir. Kullanıcı alt alan adını sorguladığında recursive resolver (özyinelemeli DNS çözümleyicisi) CNAME hedefini izleyerek hizmetin adres bilgisine ulaşır.

Bu yapı, hizmet çalışırken normaldir. Risk, dış hizmetteki kaynak kaldırıldığı halde kuruluşun DNS bölgesindeki CNAME kaydı silinmediğinde başlar. DNS kaydı alt alanı eski hedefe yönlendirmeyi sürdürür; ancak hedefin artık kimin kontrolünde olduğu ayrı bir sorudur.

CNAME, web tarayıcısına başka bir adresi açmasını söyleyen HTTP yönlendirmesi değil, DNS çözümleme zincirinin bir parçasıdır. Bu nedenle eski hizmet sayfasının kapanması DNS eşlemesini kendiliğinden temizlemez. Kaynak ve DNS kaydı ayrı yerlerden yönetildiğinde, kaynak silinse bile kayıt yayında kalabilir.

Sahipsiz CNAME Kaydı Ne Zaman Alt Alanın Ele Geçirilmesine Yol Açar?

Bir CNAME kaydının sahipsiz görünmesi, kaydın mutlaka kötüye kullanılabileceği anlamına gelmez. Hedef ad başka bir hesaba verilebilmeli ve hizmetin alan adı doğrulama kuralları o hesabın alt alanı kendi kaynağına bağlamasına izin vermelidir.

Hedef henüz başka biri tarafından alınmamış olsa bile yeniden alınabilir bir adın DNS'te yayında kalması güvenlik açığı oluşturabilir. Alt alan ancak üçüncü bir taraf hedefi edinip kuruluşun alt alan adını kendi kaynağına bağlayabildiğinde ele geçirilmiş olur. Bu ayrım, riskli bir yapılandırmanın gerçekten ele geçirilmiş bir alt alanla karıştırılmasını önler.

Hedef Alan Adının Yeniden Alınabilmesi

Silinen hizmetin kullandığı hedef ad başka bir müşteri hesabına tekrar verilebiliyorsa risk artar. Hedef ad yeniden kullanılamıyorsa, yalnız önceki sahibine ayrılmışsa veya hizmet başka hesaplara verilmeyen benzersiz adlar kullanıyorsa sahipsiz CNAME kaydı ele geçirme yolunu açmaz.

Hedef Hizmette Alan Adı Sahipliği Kontrolü

Bir hesabın hedef adı oluşturabilmesi, kuruluşun alt alan adını kontrol edebilmesi için tek başına yeterli değildir. Hedef hizmet, özel alan adını bir kaynağa bağlarken ilgili hesaba özgü yeni bir doğrulama kaydını DNS bölgesine ekleme gibi bir sahiplik kanıtı istiyorsa yetkisiz eşleme engellenebilir. Yalnız eski CNAME kaydının bulunması, yeni hesabın alan adını yönettiğini kanıtlamaz. Güvenlik ekibi bu nedenle risk değerlendirmesini yalnız DNS yanıtıyla tamamlayamaz.

CNAME Kaydının DNS'te Yayında Kalması

Alt alanın yetkili DNS bölgesindeki CNAME kaydı silinmedikçe istemciler bu eşlemeyi almaya devam edebilir. Bir saldırgan hedefi başarıyla sahiplenirse, alt alana gelen trafik onun kontrolündeki kaynağa ulaşabilir. Yayında kalan CNAME kaydı, alt alan ile saldırganın kaynağı arasındaki DNS bağlantısını kurar.

Bir CNAME Kaydının Riskli Olduğu Nasıl Anlaşılır?

Kontrolün amacı yalnız hedefin çalışıp çalışmadığını görmek değil, hedefin kuruluşun yönetiminde kalıp kalmadığını ve başkası tarafından talep edilip edilemeyeceğini belirlemektir. Tek bir hata sayfası, sorgulanan alan adının DNS'te bulunmadığını bildiren NXDOMAIN yanıtı veya başarısız HTTP isteği kaydın kesinlikle kötüye kullanılabileceğini göstermez.

  1. DNS bölgesindeki CNAME kayıtlarını çıkarın ve her kaydın hangi uygulama veya hizmet için kullanıldığını eşleştirin.
  2. Her CNAME hedefinin DNS'te çözülüp çözülmediğini ve bağlı olduğu hizmet kaynağının gerçekten var olup olmadığını kontrol edin.
  3. Hedef kaynağın hangi hesap, abonelik veya ekip tarafından yönetildiğini doğrulayın; sahibi belirlenemeyen kayıtları inceleme listesine alın.
  4. İlgili hizmetin hedef adları başka hesaplara yeniden verip vermediğini ve özel alan adı sahipliğini nasıl doğruladığını kontrol edin.
  5. Kaynak kaldırılmışsa ve CNAME gereksizse kaydı bekletmeden silin; alt alan kullanılmaya devam edecekse yalnız kuruluşun kontrolündeki geçerli hedefe yönlendirin.

Bu yaklaşım, yalnız dışarıdan görülen hata mesajlarına güvenmek yerine DNS kaydını, kaynak sahipliğini ve hedef hizmetin davranışını birlikte değerlendirir. Böylece yanlış alarmları gerçekten ele geçirilebilecek durumlardan ayırmak kolaylaşır.

Hizmet Kapatılırken CNAME Kaydının Kaldırılması

Bir hizmeti planlı olarak kapatırken önce CNAME kaydını kaldırın veya kuruluşun kontrolündeki yeni hedefe yönlendirin. TTL, DNS kaydının önbellekte ne kadar tutulabileceğini belirten süredir. Eski eşleme önbelleklerde kullanılmaya devam edebileceği için DNS değişikliğiyle dış kaynağın silinmesi arasına bekleme süresi koyun.

  1. CNAME kaydının hangi uygulamalar, istemciler veya otomasyonlar tarafından kullanıldığını belirleyin.
  2. Alt alan artık kullanılmayacaksa CNAME kaydını kaldırın; kullanılacaksa kuruluşun kontrolündeki yeni hedefe yönlendirin.
  3. Bütün yetkili DNS sunucularının yeni yanıtı verdiğini doğrulayın; bu andan başlayarak en az önceki CNAME kaydının TTL süresi boyunca eski kaynağı kontrolünüzde tutun.
  4. Bekleme süresi dolduktan ve eski hedefe bağlı uygulama ya da istemci kalmadığı doğrulandıktan sonra dış hizmetteki eski kaynağı devre dışı bırakın veya silin.
  5. Değişiklikten sonra CNAME envanterini yeniden tarayarak sahipsiz hedef kalmadığını doğrulayın.

Kaynak zaten silinmiş ve CNAME kaydı geride kalmışsa önce gereksiz DNS kaydını kaldırın veya kuruluşun kontrolündeki bir hedefe yönlendirin. Alt alanın daha önce üçüncü bir tarafça ele geçirildiğine dair belirti varsa güvenlik ekibinin erişim kayıtlarını ve verilerin açığa çıkıp çıkmadığını da incelemesi gerekir.

CNAME Envanteri ve Hizmet Kapatma Süreci

Sahipsiz CNAME sorunu çoğu zaman tek bir DNS hatasından değil, kaynak ve DNS kayıtlarının farklı ekiplerce ayrı ayrı yönetilmesinden doğar. Bu nedenle kalıcı çözüm, DNS temizliğini hizmet kapatma sürecinin zorunlu bir adımı yapmaktır.

  • Her CNAME için hedef, hizmet sahibi, sorumlu ekip ve kullanım amacını içeren güncel bir kayıt envanteri tutun.
  • DNS kayıtlarını düzenli olarak kontrol ederek hedefin varlığını ve kuruluşun kontrolünde olduğunu yeniden doğrulayın.
  • Mümkünse alan adı sahipliğini doğrulayan hizmetleri, başka hesaplara verilmeyen hedef adlarını veya DNS kaydını kaynakla birlikte yöneten özellikleri tercih edin.
  • Otomasyon kullanılıyorsa kaynak silme işlemini, DNS değişikliği ve yukarıdaki bekleme adımları tamamlanmadan çalışmayacak biçimde düzenleyin.