İçeriğe geç
DomainQ
Alan Adı ve DNS

DNS-01 Doğrulamasında Eski TXT Kayıtları Neden Temizlenmeli?

DNS-01 için aynı ad altında birden çok TXT kaydı bulunabilir. Ancak eski kayıtlar biriktikçe DNS yanıtı büyüyebilir ve Let’s Encrypt yanıtı reddedebilir.

DNS-01 Doğrulamasında Eski TXT Kayıtları Neden Temizlenmeli? — DomainQ blog kapak görseli

Sertifika yenilemesinden sonra DNS yönetim ekranında _acme-challenge ile başlayan aynı adlı birçok TXT kaydı görmek kafa karıştırabilir. Bunların her biri hatalı değildir: DNS-01 doğrulamasında aynı ad altında birden çok TXT kaydı bulunabilir. Yine de bu kayıtları süresiz bırakmak doğru bir düzen değildir. Let’s Encrypt, yanıt boyutu çok büyüdüğünde DNS-01 yanıtını reddetmeye başlar. Bu nedenle amaç, o anda gerekli doğrulama değerlerini korurken artık gerekmeyen geçici değerleri temizlemektir.

DNS-01 kayıt yaşam döngüsü: ACME istemcisi TXT değeri oluşturur; Değer _acme-challenge altında yayımlanır; Let’s Encrypt DNS üzerinden eşleşmeyi sorgular; Aktif doğrulama tamamlanır; Eski geçici TXT değerleri temizlenir
DNS-01 kayıt yaşam döngüsü

Kısa özet

  • DNS-01 doğrulamasında ACME istemcisi, _acme-challenge alanında bir TXT değeri oluşturur ve Let’s Encrypt bu değeri DNS üzerinden arar.
  • Aynı DNS adı altında birden fazla TXT kaydı bulunabilir; bu durum eş zamanlı wildcard ve wildcard olmayan doğrulamalarda görülebilir.
  • Eski TXT kayıtları temizlenmelidir. DNS yanıtı fazla büyürse Let’s Encrypt DNS-01 yanıtını reddetmeye başlayabilir.
  • Yeni kayıt yayımlanmadan doğrulama başlatılmamalıdır; sağlayıcının yayılma durumunu kontrol edemiyorsanız istemci yeterince beklemelidir.

DNS-01 doğrulamasında TXT kaydı ne yapar?

DNS-01, alan adı denetimini DNS üzerinden kanıtlayan bir ACME doğrulama yöntemidir. ACME istemcisi önce bir token alır. Ardından bu token ve hesap anahtarından türetilen TXT değerini _acme-challenge.alanadiniz altında oluşturur. Let’s Encrypt DNS sistemini sorgular ve eşleşen değeri bulursa sertifika düzenleme işlemine devam edilebilir.

Buradaki TXT kaydı, sitenizin normal metin içeriğiyle ilgili değildir. Doğrulama için kullanılan geçici DNS verisidir. DNS kayıt türlerinin genel rolünü ayırt etmek için DNS kayıtları: A, CNAME, MX ve TXT ne işe yarar? yazısına da bakabilirsiniz.

  • TXT değeri, ACME istemcisinin aldığı token ve hesap anahtarına dayanır.
  • Kayıt adı DNS-01 için _acme-challenge.alanadiniz biçimindedir.
  • Let’s Encrypt, DNS sorgusunda eşleşen değeri arar.

Kaynak: [1]

Aynı ad altında birden fazla TXT kaydı neden görülebilir?

Bir DNS adı için birden fazla TXT kaydı bulunabilir. Bu nedenle _acme-challenge altında birden çok değer görmek tek başına doğrulamanın başarısız olduğu anlamına gelmez.

Bu durum, örneğin wildcard sertifika ile wildcard olmayan sertifika için doğrulamaların aynı anda yürütülmesi sırasında oluşabilir. DNS-01 yöntemi wildcard sertifikaların düzenlenmesine de izin verir. Dolayısıyla birden çok aktif doğrulama varsa, gerekli TXT değerlerinin aynı ad altında birlikte bulunması beklenebilir.

Örnek senaryo: example.com için bir doğrulama sürerken, aynı anda *.example.com için başka bir doğrulama başlatılmış olsun. Her iki doğrulama da DNS-01 kullanıyorsa _acme-challenge.example.com altında birden fazla TXT değeri görülebilir. Bu örnekte yapılacak iş, değer sayısını tek başına hata saymamak; hangi değerlerin hâlâ yürüyen doğrulamalara ait olduğunu ayırmaktır.

  • Birden çok TXT değeri aynı DNS adı altında yer alabilir.
  • Eş zamanlı wildcard ve wildcard olmayan doğrulamalar buna örnektir.
  • Wildcard sertifikalar DNS-01 ile düzenlenebilir.

Kaynak: [1]

Eski kayıtlar neden silinmelidir?

Aynı ad altında birden çok TXT kaydına izin verilmesi, eski değerlerin kalıcı olarak tutulması gerektiği anlamına gelmez. Let’s Encrypt, eski TXT kayıtlarının temizlenmesini özellikle önerir.

Nedeni DNS yanıtının boyutudur. Kullanılmayan değerler zamanla birikirse _acme-challenge sorgusunun yanıtı büyür. Yanıt boyutu fazla büyüdüğünde Let’s Encrypt DNS-01 yanıtını reddetmeye başlar. Böyle bir durumda güncel ve doğru TXT değeri mevcut olsa bile doğrulama süreci ilerlemeyebilir.

Bu risk nedeniyle temizlik, kayıtları gelişigüzel silmek değildir. Önce devam eden doğrulamaları ve onların ihtiyaç duyduğu değerleri koruyun. Ardından artık kullanılmayan eski değerleri kaldırın. Birden fazla sertifika veya otomasyon aynı alan adını kullanıyorsa, silme işlemini diğer etkin doğrulamaları hesaba katarak planlayın.

  • Eski TXT değerleri DNS yanıtını büyütebilir.
  • Yanıt çok büyürse Let’s Encrypt yanıtı reddetmeye başlayabilir.
  • Temizlikte yalnız artık gerekmeyen değerler kaldırılmalıdır.

Kaynak: [1]

Yayılmayı beklemeden doğrulama başlatmayın

TXT kaydını eklemek veya kaldırmak DNS sağlayıcısının tüm sunucularında hemen görünmeyebilir. Çoğu DNS sağlayıcısında, bir kaydın güncellenmesi ile tüm sunucularda kullanılabilir olması arasında bir yayılma süresi vardır.

Sağlayıcınız güncellemenin tamamen yayıldığını otomatik olarak kontrol etmeye yönelik bir yöntem sunuyorsa, doğrulama zamanlamasını bu bilgiye göre yönetebilirsiniz. Böyle bir yöntem yoksa ACME istemcinizi doğrulama tetiklenmeden önce yeterince uzun bekleyecek şekilde yapılandırmanız gerekir. Let’s Encrypt’e göre bu süre bazen bir saate kadar çıkabilir.

Bu bekleme yalnız yeni TXT değeri eklerken değil, eski değerleri temizledikten sonra da kayıt görünümünü dikkatle değerlendirmek için önemlidir. Ancak kaynakta belirli bir temizlik sonrası bekleme süresi verilmez; bu nedenle kullandığınız sağlayıcı ve istemcinin yayılma kontrolü yaklaşımını esas alın.

  • DNS güncellemelerinin yayılması zaman alabilir.
  • Sağlayıcı otomatik yayılma kontrolü sunmuyorsa istemci yeterince beklemelidir.
  • Bu bekleme bazen bir saate kadar çıkabilir.

Kaynak: [1]

Geçici ACME kayıtları için pratik temizlik düzeni

Düzenli bir süreç, gereksiz TXT birikimini azaltır. Sertifika işlemi öncesinde _acme-challenge adını kontrol edin; işlem sırasında aktif doğrulamalara ait değerleri koruyun; işlem tamamlandıktan sonra artık gerekli olmayan geçici değerleri gözden geçirin. Bu yaklaşım, aynı adı paylaşan eş zamanlı doğrulamaları bozmadan temizlik yapmaya yardım eder.

Otomasyon kullanıyorsanız, istemcinizin DNS kaydını oluşturma, yayılmayı bekleme ve işlem sonrası kayıt kaldırma davranışını test edin. Test sırasında wildcard ve wildcard olmayan doğrulamaların aynı anda gerçekleşebileceği durumları ayrıca düşünün. Amaç tüm TXT kayıtlarını anında silmek değil, güncel doğrulama için gereken değerler dışındaki eski değerlerin birikmesini önlemektir.

  • İşlem öncesinde mevcut _acme-challenge değerlerini gözden geçirin.
  • Devam eden doğrulamaların kullandığı değerleri koruyun.
  • Tamamlanan işlemden kalan gereksiz geçici değerleri temizleyin.
  • Yayılma kontrolü yoksa istemcinin bekleme süresini yapılandırın.

Kaynak: [1]

Uygulama kontrol listesi

  • _acme-challenge adı altında bulunan TXT değerlerini gözden geçirin.
  • Devam eden sertifika doğrulamalarını ve gerekli değerleri belirleyin.
  • Wildcard ile wildcard olmayan doğrulamaların eş zamanlı olup olmadığını kontrol edin.
  • Artık gerekli olmayan eski geçici TXT değerlerini kaldırın.
  • DNS sağlayıcınızın yayılma durumunu otomatik kontrol edip etmediğini öğrenin.
  • Otomatik kontrol yoksa istemciyi doğrulamadan önce yeterince bekleyecek şekilde yapılandırın.
  • Temizlikten sonra yeni bir doğrulama başlatırken yalnız gerekli güncel değerlerin bulunduğunu kontrol edin.

DNS-01 altında birden fazla TXT kaydı görmek normal olabilir; özellikle eş zamanlı wildcard ve wildcard olmayan doğrulamalarda bu beklenir. Asıl sorun, artık kullanılmayan değerlerin denetimsiz biçimde birikmesidir. Aktif doğrulamaların kayıtlarını koruyup eski geçici değerleri temizlemek, DNS yanıtının gereksiz büyümesini ve Let’s Encrypt’in yanıtı reddetme riskini azaltan temel düzenleme adımıdır.

Sık sorulan sorular

Aynı _acme-challenge adı altında birden fazla TXT kaydı hata mıdır?

Hayır. Aynı DNS adı altında birden fazla TXT kaydı bulunabilir. Wildcard ve wildcard olmayan sertifikalar için doğrulamalar aynı anda yürütülürken bu durum görülebilir.

Eski ACME TXT kayıtlarını neden kaldırmalıyım?

Let’s Encrypt, eski TXT kayıtlarının temizlenmesini önerir. Kullanılmayan değerler birikerek DNS yanıtını büyütebilir; yanıt fazla büyürse Let’s Encrypt DNS-01 yanıtını reddetmeye başlar.

TXT kaydını ekledikten sonra doğrulamayı hemen başlatabilir miyim?

DNS sağlayıcılarında kayıt güncellemesi ile kaydın tüm sunucularda kullanılabilir olması arasında yayılma süresi olabilir. Sağlayıcı bunu otomatik kontrol etmiyorsa istemci doğrulamayı tetiklemeden önce yeterince beklemelidir; bu süre bazen bir saate kadar çıkabilir.

Kaynaklar

[1] Challenge Types – Let's Encrypt