CNAME Kaydı Nedir?
Kısa tanım
CNAME kaydı (canonical name), bir alan adını IP adresi yerine başka bir alan adına yönlendiren DNS kaydıdır; resolver sorguyu hedef adda sürdürür ve oradaki A/AAAA kayıtlarını döndürür. Genellikle www veya shop gibi alt alan adlarını bir barındırma, CDN ya da SaaS sağlayıcısına bağlamak için kullanılır. Standart gereği CNAME, aynı ad üzerinde başka kayıtlarla birlikte bulunamaz; bu yüzden kök alan adında kullanılamaz.
Diğer adları: CNAME, canonical name kaydı, CNAME record, takma ad kaydı

Adres değil, başka bir ad
A kaydı bir adı doğrudan IP adresine bağlar; CNAME ise “bu adın asıl adı şudur” der. Resolver bir CNAME ile karşılaşınca sorguyu hedef ad için yeniden başlatır ve sonunda oradaki adresi döndürür:
shop.example.com. 3600 IN CNAME stores.saglayici-ornek.net.
stores.saglayici-ornek.net. 300 IN A 198.51.100.25Asıl fayda, adresin kontrolünün sağlayıcıda kalmasıdır. Mağaza platformu, barındırma şirketi veya CDN sunucularının IP adreslerini değiştirdiğinde sizin hiçbir kaydı güncellemeniz gerekmez. Bu yüzden SaaS ürünleri özel alan adı bağlarken neredeyse her zaman CNAME ister.
Kök alan adında (apex) neden CNAME olmaz?
DNS standardı (RFC 1034), bir adda CNAME varsa o adda başka hiçbir verinin bulunmamasını şart koşar. Kök alan adı ise (example.com, zone apex) zorunlu olarak SOA ve NS kayıtlarını taşır; çoğu zaman da e-posta için MX ve doğrulama için TXT kayıtları vardır. CNAME bu kayıtlarla yan yana duramayacağı için standarda uygun bir zone'da apex'e CNAME konamaz. Bazı panellerin buna izin vermesi kuralı ortadan kaldırmaz; sonuç, e-postanın veya doğrulamaların sessizce bozulması olabilir.
Aynı nedenle www gibi bir alt adda CNAME kullanıyorsanız, o ada ayrıca TXT veya MX eklemeye çalışmayın. MX ve NS kayıtlarının hedefi de bir CNAME olmamalı, doğrudan adres kaydı olan bir ad olmalıdır.
CNAME flattening ve ALIAS: sağlayıcıların çözümü
Apex'i bir sağlayıcı ad hostname'ine bağlama ihtiyacı çok yaygın olduğu için DNS sağlayıcıları kendi özelliklerini geliştirdi. Panelde apex'e bir CNAME girersiniz; yetkili sunucu bu adı arka planda kendisi çözer ve dışarıya bir A/AAAA cevabı verir. Dışarıdan bakan resolver CNAME görmez, standart ihlal edilmez.
- Cloudflare bu özelliği CNAME flattening olarak adlandırır ve belgelerine göre zone apex'teki CNAME'ler için tüm planlarda varsayılan olarak uygular.
- Diğer sağlayıcılar benzer işlevi ALIAS veya ANAME adıyla sunar.
Bunlar standart bir kayıt türü değil, sağlayıcıya özgü davranışlardır. DNS sağlayıcısı değiştirirken aynı özelliğin yeni tarafta da bulunduğunu kontrol etmek gerekir.
Sarkan CNAME ve alt alan adı ele geçirme
Bir kampanya sitesi için açılan kampanya.example.com, artık kullanılmayan bir bulut servisine CNAME ile bağlı kalmışsa ciddi bir risk oluşur. Servis hesabı kapatıldığında hedef ad sahipsiz kalır; aynı adı o platformda talep eden biri sizin alt alan adınızda içerik yayınlayabilir. Buna “subdomain takeover” denir ve kimlik avı ya da çerez tabanlı saldırılar için kullanılabilir. Önlemi basittir: bir servisi kapatırken ona işaret eden DNS kaydını da aynı gün silin ve zone'u düzenli aralıklarla gözden geçirin.
Kısa kontrol listesi
- Zone dosyalarında hedefi tam nitelikli ad olarak, sonunda nokta ile yazın; aksi halde zone adı otomatik eklenebilir.
- CNAME zincirlerini kısa tutun; her halka ek bir sorgu ve olası bir arıza noktasıdır.
dig shop.example.com CNAME +shortile hedefi,dig shop.example.com +shortile çözülen son adresi görün.

