CNAME ve TXT Çakışması Nedeniyle Sertifika Başvuru Sorunu
Categories:
Aynı Önekli CNAME ve TXT Kayıtları Aynı Anda Var Olamaz
Alan adlarıyla uğraşmış olanlar A, AAAA kayıtlarının CNAME ile aynı anda var olamayacağını bilir, ancak TXT kayıtlarının CNAME ile çakışma durumunu pek yaşamamış olabilir.
Ne zaman TXT ve CNAME kayıtları aynı önekle birlikte kullanılır?
Bir senaryo, LetsEncrypt sertifika başvurusu sırasında DNS-01 zorlamasını kullanarak alan adı mülkiyetini doğrulamaktır.
- Certbot, ackey ve acsecret ya da token kullanarak
_acme-challenge.example.comiçin bir TXT kaydı oluşturur - LetsEncrypt TXT kaydını sorgulayarak, başvuranın DNS kaydı oluşturabileceğini ve alan adı mülkiyetine sahip olduğunu teyit eder
- LetsEncrypt sertifikayı imzalar
- Certbot
_acme-challenge.example.comiçin TXT kaydını temizler
Eğer TXT kaydı oluşturulurken zaten _acme-challenge.example.com için bir CNAME kaydı varsa, TXT kaydı oluşturulamaz ve domain doğrulama zorlaması başarısız olur.
Neden _acme-challenge.example.com için bir CNAME kaydı oluşur?
Alibaba Cloud’un yeni piyasaya sürdüğü ESA Edge Security Acceleration, cloudflare’e benzer şekilde DCDN’in adı değiştirilmiş ve geliştirilmiş bir versiyonudur. İlk kullanımda wildcard sertifika başvurusunu desteklemiyordu, bu yüzden script kullanarak kendi wildcard sertifikamı periyodik olarak yüklüyordum ve bu biraz zahmetliydi. Daha sonra 托管 DCV (托管 Domain Control Validation) çıktığında, kendi wildcard sertifikalarını kendimiz yönetebileceğimizi gördüm. Talimatlara uyarak, gerçekten de kendi wildcard sertifikalarını yönetebildim. Ancak birkaç ay sonra fark ettiğim bir gizli tehlike ortaya çıktı. Bu CNAME kaydı devam ediyor ve aynı önekli TXT kayıtlarının oluşturulmasını engelliyor, bu da başka bir yerde alan adı mülkiyetini kanıtlamamı engelliyor.

Çözüm Önerileri
Çözüm 1:托管 DCV Kullanmamak
托管 DCV, _acme-challenge.example.com için belirli bir değerin girilmesini gerektirir. Bu, etki alanının üçüncü bir tarafa ait olduğunu beyan etmek ve artık etki alanının kontrolünü elde tutmamak anlamına gelir.
Wildcard sertifikaya ihtiyaç duyarsanız, ESA’nın API’sini çağıran bir script kullanarak wildcard sertifikayı periyodik olarak ESA’ya yükleyebilirsiniz.
Çözüm 2: DNS-01 Zorlamasını Kullanmamak
Certbot, DNS-01’in yanı sıra HTTP-01 ve TLS-ALPN-01 gibi farklı domain mülkiyeti doğrulama yöntemleri sunar.
HTTP-01 ve TLS-ALPN-01 yöntemleri, sertifikayı vermeden önce hizmetin erişilebilir olduğunu doğrulamak için bir hizmet gerektirir.
DNS-01 ise hizmet kurulmadan önce sertifikayı almanızı sağlar.
Çözüm 3: ESA ve Bulut Çözümü DNS İşletim Duvarını Kırmak
Her iki hizmet de Alibaba Cloud’a aittir, ancak her biri kendi DNS API’sini uygular. Eğer ESA kendi Bulut Çözümü DNS‘inde CNAME veya TXT kayıtları oluşturabilseydi ve sertifikayı aldıktan sonra kayıtları silebilseydi, DNS-01 zorlamasını başka bir yerde kullanmayı etkilemezdi.
Çözüm 4: Alibaba ESA Kullanmamak
Cloudflare’de böyle bir sorun yok, sertifikalar istenildiği gibi verilir.