Wildcard Sertifika ve DNS-01 Ne İşe Yarar?
Bir uygulama büyüdükçe app.domain.com, staging.domain.com ve cdn.domain.com gibi alt alanlar oluşabilir. Her biri için ayrı sertifika yönetmek yerine, aynı güven sınırındaki hizmetlerde bir wildcard sertifika kullanılabilir. Ancak aynı özel anahtarı çok sayıda sunucuya dağıtmak, anahtar sızıntısının etkisini artırır; bağımsız ekip veya müşteriler için ayrı sertifikalar daha uygun olabilir.
*.domain.com sertifikası yalnız bir seviyedeki adları kapsar: app.domain.com uygundur, domain.com ve api.app.domain.com kapsam dışındadır. Let’s Encrypt wildcard sertifikaları için DNS-01 gerekir; HTTP-01 bu işi yapmaz. Sertifikanın alınması, ilgili sanal sunuculara atanması ve yenilenince yeniden yüklenmesi ayrı adımlardır. Otomasyon bu adımların tamamını ve hata bildirimlerini kapsamalıdır.
Bu rehber, cPanel, Plesk ve Nginx üzerinde DNS-01 doğrulaması, istemci seçimi, sertifika yükleme ve yenileme kontrolünü ele alır. Kök alanı da kullanıyorsanız domain.com adını sertifika talebine ayrıca ekleyin. Wildcard TLS trafiğini şifrelemeye yardımcı olur; uygulamadaki açıkları veya yanlış erişim izinlerini ortadan kaldırmaz.
DNS-01’in Mantığı, Küçük Tuzaklar ve Güvenli Bir Başlangıç
TXT kaydıyla kanıtlama nedir, neden bu kadar kritik?
DNS-01 alan adının DNS’i üzerinde kontrol sahibi olduğunuzu doğrular; hukuki mülkiyet belgesi değildir. İstemci, verilen doğrulama verisinden bir TXT değeri türetir ve bunu _acme-challenge.domain.com altında yayımlar. Web sunucusu kapalı ağda veya CDN arkasında olabilir, fakat doğrulama TXT kaydı Let’s Encrypt’in sorguladığı genel DNS üzerinden erişilebilir olmalıdır.
TTL, yayılım ve o meşhur bekleme
TXT kaydını doğru yetkili DNS bölgesine ekleyin ve tüm yetkili sunucularda beklenen değerin görünmesini kontrol edin. Düşük TTL yardımcı olabilir, ancak sonradan düşürülen TTL daha önce önbelleğe alınmış olumlu veya olumsuz yanıtları temizlemez. Sağlayıcının yayım süresine göre istemcinin bekleme ayarını kullanın. Ayrıntı için taşımalarda TTL ve DNS yayılımı rehberine bakabilirsiniz.
CAA kayıtları: “Bu alan için kim sertifika verebilir?”
CAA kayıtları hangi sertifika otoritesinin sertifika verebileceğini sınırlar. issuewild varsa wildcard iznini o belirler; yoksa issue wildcard için de kullanılır. Kök alanın normal sertifika iznini ayrıca kontrol edin. İlgili politikanın Let’s Encrypt için letsencrypt.org değerine izin vermesi gerekir. Diğer kayıtlarla ilişkisi için DNS kayıtları rehberini inceleyebilirsiniz.
Güvenlik: API anahtarları, kimlik bilgilerinin saklanması
DNS API kimlik bilgilerini yalnız gereken bölge ve işlemlerle sınırlandırın; bazı eklentiler bölge keşfi için ek okuma izni isteyebilir. Sırları yalnız yenilemeyi çalıştıran hesabın okuyabildiği dosyalarda saklayın. acme.sh kimlik bilgilerini kendi yapılandırmasına kaydedebilir; bu dizini de koruyun. Yedek gerekiyorsa şifreli ve erişim kontrollü tutun, token değerlerini komut geçmişine veya hata kayıtlarına yazmayın.
cPanel’de Wildcard ve DNS-01: Gerçekçi Bir Yol Haritası
AutoSSL için yetkili DNS koşulu
cPanel’in Let’s Encrypt sağlayıcısı AutoSSL ile wildcard sertifikayı destekler. Bunun için yetkili DNS’in yerel cPanel/WHM sunucusunda veya onun DNS kümesinde yönetilebilmesi gerekir. Harici DNS sağlayıcısında bu doğrulama yolu desteklenmiyorsa, acme.sh veya Certbot ile sağlayıcının DNS API’sini kullanıp sertifikayı cPanel’e yükleyebilirsiniz. Önce yöneticiyle AutoSSL sağlayıcısını ve DNS yetkisini doğrulayın.
acme.sh ile pratik senaryo
acme.sh, farklı DNS sağlayıcıları için eklentiler sunar. Cloudflare örneğinde CF_Token ve hesap/bölge bilgileri, Route53 için desteklenen AWS kimlik bilgileri hazırlanır. Let’s Encrypt kullanmak için CA’yı açıkça seçin; varsayılan CA’nın aynı olduğunu varsaymayın. İstemci TXT kaydını ekler, doğrular ve sertifikayı üretir. Anahtar türünü ve sertifikayı yöneten hesabı yenileme boyunca tutarlı kullanın. Ayrıntılar acme.sh projesinde yer alır.
Önemli not: Alan adını hem domain.com hem de *.domain.com olarak eklemeyi unutmayın. Wildcard kök alanı kapsamaz. İkisini birden doğrulamak, gerçek hayatta en hatasız yol.
Certbot ve DNS eklentileriyle alternatif
Certbot’un Cloudflare ve Route53 gibi sağlayıcılar için ayrı DNS eklentileri vardır. Kimlik bilgisi biçimi eklentiye göre değişir: Cloudflare INI dosyası kullanırken bazı AWS kurulumlarında rol veya AWS kimlik bilgisi zinciri kullanılabilir. Eklentinin TXT ekleme, bekleme ve temizleme akışını kontrol edin. Kurulum ve gerekli izinler için Certbot DNS eklentileri belgesini izleyin.
Sertifikayı cPanel’e yüklemek
cPanel SSL/TLS arayüzünde sertifika, özel anahtar ve CA zinciri alanlarını doğru doldurup sertifikayı ilgili alan adına atayın. UAPI SSL install_ssl çağrısında hedef domain, cert, key ve gerektiğinde cabundle belirtilir; dönen durum ve hatalar incelenir. acme.sh’nin cpanel_uapi hook’u cPanel sunucusundaki yerel uapi komutunu kullanır; uzak API tokenı alan bir hook değildir. Root kullanılıyorsa hesap seçimi DEPLOY_CPANEL_USER değişkeniyle yapılır. Yenilemede yükleme adımını da çalıştırın ve her gerekli sanal sunucunun yeni sertifikayı sunduğunu doğrulayın.
Doğrulama ve yükleme hatalarını ayrı izleyin. Yanlış DNS bölgesi, CAA, API yetkileri, hız sınırları veya başarısız yükleme farklı çözümler gerektirir. Test ortamında DNS doğrulamasını sınayın; staging sertifikasını canlı hizmete atamayın. Üretim sertifikası yüklendikten sonra dışarıdan sunulan sertifikayı ve son kullanma tarihini kontrol edin.
Plesk’te Wildcard Sertifika: Eklenti ile Tek Nefeste
Let’s Encrypt eklentisi ve DNS-01
Plesk’in Let’s Encrypt akışında wildcard seçeneği DNS-01 kullanır. Yetkili DNS Plesk tarafından yönetiliyorsa TXT kaydı otomatik güncellenebilir. Harici DNS’te manuel TXT eklemek ilk düzenlemeyi sağlayabilir, fakat tek başına otomatik yenileme sağlamaz. Desteklenen bir senkronizasyon gerekir; örneğin Cloudflare DNS Integration eklentisinde ilgili alanın eşitlemesini etkinleştirmek bu amaçla belgelenmiştir.
Otomatik yenileme ve bildirim
Plesk’te alanın SSL/TLS Certificates bölümünde sertifika ve yenileme durumunu izleyin. Wildcard ile kök alanı gerektiği gibi seçin; yeni alt alanlarda Hosting Settings içinden sertifika atamasını kontrol edin. İlk kurulumdan sonra DNS doğrulaması kadar atama ve dışarıdan sunulan sertifikayı da doğrulayın. DNS sağlayıcısı veya token değişince yenileme yolunu yeniden sınayın; uyarı ve son kullanma tarihi izlemesini açık tutun.
Ekstra güvenlik katmanı
Wildcard sertifika ile trafiği şifreledikten sonra, sayfalarınızın tarayıcıda daha sıkı kurallarla açılmasını istiyorsanız HSTS gibi başlıkları da düşünebilirsiniz. Bu konuda pratik bir özet isterseniz, şu rehber iyi bir başlangıç: HTTP güvenlik başlıkları rehberi: HSTS, CSP ve diğerleri. HSTS kullanmadan önce HTTPS erişiminin kesintisiz çalıştığını doğrulayın; includeSubDomains seçeneği tüm alt alanların hazır olmasını gerektirir.
Nginx ve Çıplak Sunucuda Otomasyon: Certbot mu acme.sh mi?
DNS sağlayıcınızı seçin, API anahtarınızı hazırlayın
Nginx çalışan bir VPS veya fiziksel sunucuda Certbot ya da acme.sh seçimini DNS eklentisi ve işletim sistemi desteğine göre yapın. DNS API erişimi, sertifika dosyalarına yazma ve Nginx’i yeniden yükleme yetkileri aynı otomasyon akışında çalışmalıdır. Route53 kullanırken kayıt değiştirme iznini hedef bölgeyle sınırlayın; eklentinin bölge listeleme gibi ek keşif izinlerini ayrıca değerlendirin.
Certbot ile örnek akış
Cloudflare için yalnız gerekli bölgelerde Zone:DNS:Edit yetkisi olan token kullanın. Certbot ve DNS eklentisini işletim sisteminize uygun yöntemle kurun, INI dosyasını yalnız çalıştıran hesabın okuyacağı izinlerle hazırlayın. domain.com ve *.domain.com için talep oluşturun; mevcut timer veya cron görevini kontrol etmeden ikinci bir görev eklemeyin. Uygun yayılım beklemesini seçin. Adımlar Certbot DNS eklentileri rehberinde açıklanır.
acme.sh ile örnek akış
acme.sh ile CA’yı açıkça Let’s Encrypt seçip DNS eklentisini çağırın. Nginx’i doğrudan istemcinin iç depolama dosyalarına bağlamak yerine –install-cert ile kalıcı servis yollarını ve bir reload komutunu kaydedin. Yenileme görevi bu yollara yazabilmeli ve Nginx test/reload komutunu çalıştırabilmelidir. Yapılandırma testi başarılıysa reload yapın; bu akış tek başına sıfır kesinti garantisi değildir. Seçenekler için acme.sh projesine bakın.
Nginx yapılandırması ve güvenli dosya izinleri
Nginx ssl_certificate için fullchain, ssl_certificate_key için özel anahtar dosyasını kullanır. Dosya yollarını gerçek sertifika adıyla eşleştirin; yapılandırmayı test edip ardından reload uygulayın. Özel anahtarı Nginx ana sürecinin okuyabildiği en dar izinlerle koruyun; ana sürecin root çalıştığı düzende worker hesabına ayrıca okuma izni vermek gerekmez. Staging dosyalarını üretim yollarından ayrı tutun.
Yenileme, İzleme ve “Gece Uykusu Kaçmasın” Stratejileri
Otomatik yenileme nasıl sağlama alınır?
Certbot’un zamanlayıcısı kurulum yöntemine bağlıdır; acme.sh kurulumu da ilgili kullanıcı için cron oluşturabilir. Görevin varlığını, çalıştıran hesabı ve çıktılarını doğrulayın. Certbot renew –dry-run DNS doğrulamasını sınar; deploy hook varsayılan olarak bu testte çalışmadığından yüklemeyi ayrıca doğrulayın. Hata bildirimi ve dışarıdan sertifika bitiş tarihi izlemesi, başarılı bir zamanlayıcı kaydından daha güçlü güvence sağlar.
Önce test, sonra prod: staging ile rate limit duvarına çarpmayın
İlk kurulumu Let’s Encrypt staging ortamında sınayarak üretim limitlerini gereksiz taleplerle tüketmeyin. Test sertifikaları tarayıcıların normal güven zincirine ait değildir; canlı hizmete yüklenmemelidir. DNS doğrulaması, üretimden alma ve hizmete atama kontrollerini ayrı tamamlayın.
TTL, CDN ve propagation pratikleri
HTTP CDN önbelleği DNS TXT yayılımını yönetmez. Kontrol edilmesi gereken yetkili DNS ve çözümleyici önbellekleridir. Wildcard ve kök alan aynı anda doğrulanırken aynı _acme-challenge adında birden fazla TXT değeri gerekebilir; diğer etkin doğrulamaların kayıtlarını ezmeyin. CDN TLS’i sonlandırıyorsa kenar sertifikası ile origin sertifikasının yenileme ve yüklemesini ayrı izleyin.
Operasyonel ipuçları: yedek, kayıp anahtar ve geri dönüş planı
Bir kez şunların başınıza geldiğini düşünün: API anahtarınızı kaybettiniz veya bir güvenlik olayı nedeniyle derhal yenilemek zorundasınız. Rutin rotasyonda yeni token oluşturun, entegrasyonu güncelleyin, doğrulamayı sınayın ve eski tokenı iptal edin. Ancak tokenın ele geçirildiğinden şüpheleniyorsanız eski tokenı iptal etmek için yeni entegrasyonun testini beklemeyin; ardından yeni kimlik bilgileriyle akışı yeniden kurup sınayın. Yetkisiz DNS ve sertifika değişikliklerini de inceleyin. Bu sırada yapılandırmayı kısa bir not defterinde sürümleyerek tutmak, değişikliklerin kimden-ne zaman geldiğini bilmek açısından muhteşem rahatlatıcıdır. Sertifikalar ve yapılandırmalar için akılcı bir yedek politikası da her zamanki gibi kurtarıcıdır; isterseniz şu yol haritası nefes aldırır: 3-2-1 yedekleme stratejisi ve otomatik yedekler.
Sık Görülen Hatalar ve “Ah keşke” Dedirten Ayrıntılar
Wildcard kök alanı kapsamaz, ikisini birlikte doğrulayın
Bu en sık unutulanlardan. *.domain.com aldınız diye domain.com kendiliğinden dahil olmaz. Komutta veya eklentide ikisini de belirtmeyi alışkanlık haline getirin. Bir gün ana alanı bir yönlendirmeye bağlarsınız ve “Güvenli değil” uyarısı karşınıza çıkar; o gün “Keşke ikisini de ekleseydim” dersiniz.
CAA kilidi ve yanlış yetkiler
CAA başarısızlığında yalnız yeni bir issue kaydı eklemek yeterli olmayabilir: wildcard için mevcut issuewild politikasını ve kök alanın issue iznini birlikte kontrol edin. Let’s Encrypt yetkilendirmesi letsencrypt.org ile yapılır. Beklenmeyen DNS hataları veya DNSSEC doğrulama sorunları da çözülmelidir. Kayıt türleri için DNS kayıtları rehberine bakın.
DNS sağlayıcısı API limitleri ve kimlik bilgisi güvenliği
Çok sayıda alanı aynı anda yeniliyorsanız, DNS sağlayıcınızın API limitlerine çarpabilirsiniz. Akışı biraz seyreltmek, alanları gruplar hâlinde yenilemek, gecikmeli cron’lar tanımlamak akıllıca olur. Kimlik bilgilerini gereksiz yetkilerle geniş tutmayın. Yalnız eklentinin ihtiyaç duyduğu DNS düzenleme ve gerekli keşif izinlerini verin ve dosya izinlerini sıkı tutun. Bu sadece güvenlik değil, hatayı küçültme sanatı.
HTTP başlıklarını unutmamak
Sertifika tamam, trafik şifreli. Güzel. Peki tarayıcıya “Bu siteyi yalnızca HTTPS ile ziyaret et” dediniz mi? HSTS gibi başlıklar burada devreye girer. Zamanla CSP ve arkadaşlarıyla sayfaları daha güvenli kılmak mümkün. HSTS’i HTTPS hazır olduğunda uygulayın; includeSubDomains ve preload için tüm kapsamı değerlendirin. Bu güvenlik başlıkları için şu rehbere göz atmak iyi gelir: HTTP güvenlik başlıkları rehberi.
DNS-01’in ne istediğini unutmamak
Manuel TXT girişi tek başına gözetimsiz yenileme değildir; her gerekli doğrulamada insan müdahalesi veya çalışan bir DNS hook’u gerekir. Bu durumda daima şu akılda kalsın: Let’s Encrypt sizden tam olarak hangi isimde ve hangi değerle TXT kaydı istiyor, onu birebir ekleyin. Fazladan boşluk, yanlış zone, alt zone’lar… Küçük gibi görünen ayrıntılar moral bozabilir. Emin olmadığınızda, Let’s Encrypt’in resmi açıklamasına dönüp bir kez daha okuyun: Let’s Encrypt DNS-01 açıklaması.
Kapanış: Kafa Rahatlığına Giden Kısa Yol
Sağlam bir wildcard otomasyonu dört parçadan oluşur: yetkili DNS’te doğrulama, sertifikanın üretilmesi, doğru hizmete atanması ve yenilemenin izlenmesi. cPanel’de uygun DNS yönetimi varsa AutoSSL kullanılabilir; dış DNS’te istemci ve yükleme hook’u gerekir. Plesk’te desteklenen DNS yönetimi veya senkronizasyonu, Nginx’te ise dosya yolları ve test/reload adımı belirleyicidir.
İlk kurulumu staging’de deneyin, DNS ve CAA koşullarını kontrol edin; yenileme ve dışarıdan sertifika izlemesini kalıcı olarak sürdürün. Bir de, trafiğiniz şifreli akarken tarayıcıya daha iyi davranmayı unutmayın; HSTS ve arkadaşlarıyla web’inizi parlatın. DNS tarafında daha geniş bir perspektif ararsanız, yüksek erişilebilirlik için Anycast DNS ve otomatik failover da ilginizi çekebilir, zamanla bu kabiliyetleri aynı orkestraya dahil etmek keyif verir.
Umarım bu yazı, “Wildcard’ı otomatiğe bağlasak da rahatlasak” diyen herkese pratik bir yol haritası sunar. Bir gün bir alt alan daha eklerken tarayıcıya güvenle gülümser, “İyi ki uğraşmışım” dersiniz. Takıldığınız bir yer olursa, not düşmekten çekinmeyin. Bir dahaki yazıda görüşmek üzere.





