bg-tutorials

ACME SSL Sertifika Hataları Nasıl Giderilir

ACME SSL Hataları

ACME protokolünü kullanarak SSL sertifikaları kurarken veya yenilerken, süreci durduran şifreli hatalarla karşılaşmak alışılmadık bir durum değildir. Bu kılavuz, ACME ile ilgili en yaygın sorunlarda size yol gösterir, gerçekte ne anlama geldiklerini açıklar ve bunları tam olarak nasıl düzelteceğinizi gösterir. İster yeni bir sertifika yüklüyor, ister yenilemeleri otomatikleştiriyor ya da başarısız bir doğrulamada hata ayıklıyor olun, başlamanız gereken yer burasıdır.


Harici Hesap Bağlantısı Eksik veya Geçersiz

Bu hata, ACME sunucusu Harici Hesap Bağlama (EAB) gerektirdiğinde, ancak istemciniz geçerli kimlik bilgilerini göndermediğinde veya tamamen atladığında ortaya çıkar. EAB, belirli bir ACME sunucusunu kullanma izniniz olduğunu kanıtlamanın bir yoludur.

Nasıl düzeltilir?

  1. Anahtar Kimliğinizi ve HMAC anahtarınızı iki kez kontrol edin: Her ikisinin de doğru ve tam olarak belirtildiği gibi olduğundan emin olun. Gizli boşluk veya satır sonu yok.
  2. Doğru ACME Dizin URL’sini kullanın: Bazı istemciler –server‘ı geçmenize izin verir. Üretim ve hazırlık URL’lerini karıştırmayın.
  3. EAB bayraklarını ekleyin: Eğer acme.sh kullanıyorsanız, bayraklar aşağıdaki gibi görünmelidir: –eab-kid –eab-hmac-key
  4. ACME istemcinizi güncelleyin: İstemci güncel değilse güncelleyin. Yeni sürümler daha iyi EAB desteğine sahiptir.

Hesap Mevcut Değil

urn :ietf:params:acme:error:accountDoesNotExist hatası, ACME istemciniz CA’nın tanımadığı bir yerel hesap anahtarını (yapılandırma klasöründe depolanan) kullanmaya çalıştığında görünür.

Basit bir ifadeyle, ACME istemciniz var olmayan veya CA’nın ucunda silinmiş olan bir hesaba başvuruyor. İstemciyi yeniden yüklediğinizde, sunucuları taşıdığınızda veya hazırlama ve üretim uç noktaları arasında geçiş yaptığınızda bu durum yaygındır.

Nasıl düzeltilir?

1. ACME hesabınızı yeniden kaydedin: Kayıt olurken doğru harici hesap bağlama (EAB) kimlik bilgilerinizi kullanın.
acme.sh için örnek:

acme.sh --register-account \
--server https://acme.your-ca.com/v2/DV \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--accountemail [email protected]

2. ACME sunucu URL’sini kontrol edin: Siparişinizle eşleşen doğru uç noktaya kaydolduğunuzdan emin olun.

3. Hesap dosyalarını yeniden kullanmaktan kaçının: Aynı CA ve ortam için geçerli olduklarından %100 emin olmadığınız sürece account.conf veya hesap anahtarlarını sunucular veya istemciler arasında taşımayın.


Kötü Nonce veya Anti-replay Hatası

ACME istemciniz zaten kullanılmış, süresi dolmuş veya geçersiz bir nonce (CA’dan alınan bir kerelik belirteç) kullanarak bir istek gönderdi. Sunucu, yeniden oynatma saldırılarını önlemek için bunu engeller. urn :ietf:params:acme:error:badNonce genellikle kötü zamanlama, geciken istekler veya saat uyuşmazlığından kaynaklanan geçici bir sorundur.

Nasıl düzeltilir?

1. Sadece isteği yeniden deneyin: Çoğu ACME istemcisi (acme.sh gibi) badNonce hatası aldığında otomatik olarak yeniden deneyecektir. Değilse, son komutunuzu manuel olarak yeniden çalıştırın. İkinci denemede çalışması gerekir.

2. Sunucu saatinizi senkronize edin: Çarpık bir sistem saati yeniden oynatma hatalarına neden olabilir. Çalıştırın:

timedatectl status
timedatectl set-ntp true

Ya da ntpd veya chronyd adresinin düzgün çalıştığından emin olun.

3. Proxy veya CDN gecikmelerini kontrol edin: Cloudflare, yük dengeleyici veya yavaş bir proxy’nin arkasındaysanız, isteklerinizi nonce’u geçersiz kılacak kadar geciktirebilir. Geçici olarak atlamayı deneyin.


Talep Edilen Tanımlayıcı Temsil Edilmedi

urn :ietf:params:acme:error:rejectedIdentifier hatası ortaya çıktığında, ACME sunucusu doğrulamaya çalıştığınız bir veya daha fazla alan adını reddetmiştir. Bunun nedeni genellikle

  • Alan adı genel DNS’de mevcut değil
  • Sunucunuza işaret eden bir DNS kaydı yok
  • Etki alanı sertifika verme yetkisine sahip değil

Basitçe söylemek gerekirse, CA bu alan adının size ait olduğunu veya sizin kontrolünüzde olduğunu doğrulayamaz.

Nasıl düzeltilir?

1. Komutunuzda doğru biçimi kullanın: Yalnızca alan adını ekleyin. protokol, eğik çizgi veya tam URL yok.

  • Doğru: -d example.com
  • Yanlış: -d http://example.com

2. Etki alanının var olduğunu ve çözümlendiğini kontrol edin. Çalıştırın:

dig example.com +short

Çıktı yoksa, alan adınız henüz yayında değildir, önce DNS ayarlarınızı düzeltin.

2. ACME siparişinizle eşleştirin: Ticari bir ACME sertifikası kullanıyorsanız, yayınladığınız alan adının orijinal siparişte listelendiğinden emin olun. Anında alan adı ekleyemezsiniz. Önceden onaylanmış olması gerekir.

3. Yazım hatalarına ve alt alan adı karışıklıklarına dikkat edin: www.example.com vs example.com gibi şeyleri iki kez kontrol edin. Bunlar ayrı girişler olarak değerlendirilir.


Yetkisiz veya Geçersiz Yanıt

Sertifika yetkilisi alan adı sahipliğinizi doğrulayamadı. Çoğu zaman, istemcinizin sunucuya yerleştirdiği ACME meydan okuma dosyasına erişememiştir. Bu bir HTTP doğrulama sorunudur: CA sitenize ulaşmaya çalışmış ancak meydan okumayı bulamamış veya okuyamamıştır.

Tam hata mesajı urn :ietf:params:acme:error:unauthorized şeklindedir. Şu şekilde de görünebilir: “http://yourdomain.com/.well-known/acme-challenge/ adresinden geçersiz yanıt…”.

Nasıl düzeltilir?

  • Sunucunuza 80 numaralı bağlantı noktasından erişilebildiğinden emin olun (siteniz normalde HTTPS’ye yönlendirilse bile).
  • ACME istemci yapılandırmanızdaki webroot yolunu iki kez kontrol edin. Meydan okuma dosyaları şuraya yazılmalıdır: /.well-known/acme-challenge/.
  • Sunucunuz HTTPS yönlendirmelerini zorluyorsa, bu yol için düz HTTP isteklerine geçici olarak izin verin.
  • CA’dan harici HTTP doğrulamasını engelleyebilecek CDN’leri, ters proxy’leri veya güvenlik duvarlarını devre dışı bırakın.
  • Dosya izinlerini kontrol edin ve meydan okuma dosyasının gerçekten oluşturulduğunu ve herkesin erişimine açık olduğunu doğrulayın.

Belirteç Bulunamadı veya Dosyaya Ulaşılamıyor (404 veya 403)

ACME sunucusu HTTP meydan okuma dosyasını almaya çalıştı, ancak 404 (Bulunamadı) veya 403 (Yasak) yanıtı aldı. Bu, dosyanın doğru yerleştirilmediği, herkesin erişimine açık olmadığı veya web sunucunuzun erişimi engellediği anlamına gelir.

Tam hata mesajları değişiklik gösterebilir. İşte görmeyi bekleyebileceğiniz şeyler:

  • http://yourdomain.com/.well-known/acme-challenge/ adresinden geçersiz yanıt… [404]
  • Geçersiz yanıt… [403 Forbidden]
  • urn:ietf:params:acme:error:unauthorized

Nasıl düzeltilir?

Etki alanı için belge kökünü kontrol edin ve ACME istemcisinin dosyayı yerleştirdiği yerle eşleştiğinden emin olun: /.well-known/acme-challenge/

Belirteç dosyasının var olduğunu ve bir tarayıcıdan erişilebilir olduğunu onaylayın. Meydan okuma URL’sini doğrudan tarayıcınızda açabilmeli ve token içeriğini görebilmelisiniz.

Doğru dosya izinlerini ayarlayın: ACME challenge dosyası ve üst klasörleri dünya tarafından okunabilir olmalıdır.

.htaccess kuralları, güvenlik duvarları veya güvenlik eklentileri (WordPress’te olduğu gibi) kullanıyorsanız, bunların /.well-known/ yoluna erişimi engellemediğinden emin olun.

403 alırsanız, dosya sahipliğini ve varsa SELinux/AppArmor kısıtlamalarını da kontrol edin.


CAA Kayıtları İhracı Yasaklıyor

DNS’nizde, etki alanınız için hangi sertifika yetkililerinin sertifika verebileceğini kısıtlayan bir CAA kaydı vardır. Kullanmaya çalıştığınız CA listelenmiyorsa, varsayılan olarak engellenmiştir. Aşağıdaki hata mesajını görebilirsiniz: urn :ietf:params:acme:error:caa

Bu DNS düzeyinde bir politikadır, sunucu sorunu değildir. CA’ların herhangi bir sertifika vermeden önce CAA’yı kontrol etmeleri gerekir.

Nasıl düzeltilir?

CAA kayıtları için alan adınızın DNS bölgesini kontrol edin. Çevrimiçi araçları veya dig komutunu kullanabilirsiniz:

dig CAA yourdomain.com

CAA kaydı yoksa, herhangi bir CA yayınlayabilir. Ancak bir tane varsa, sertifika sağlayıcınızın tam adını içerdiğinden emin olun:

  • 0 sorun “sectigo.com”
  • 0 sorun “digicert.com”

Joker sertifika kullanıyorsanız, issuewild satırını da ekleyin: 0 issuewild “sectigo.com”

DNS yayılımı için birkaç dakika bekleyin, ardından ACME siparişini yeniden deneyin. Emin değilseniz, yayınlamayı test etmek için CAA kaydını geçici olarak kaldırın, ancak bunu yalnızca DNS’yi güvenli bir şekilde yönetiyorsanız yapın.


TXT Kaydı Bulunamadı (Wildcard Sertifikaları için)

Joker karakter sertifikaları ( *.example.com gibi), joker karakter alan adları için tüm CA’lar tarafından izin verilen tek yöntem olan DNS-01 doğrulaması gerektirir.

DNS-01, DNS’de özel bir TXT kaydı oluşturmanızı isteyerek çalışır: _acme-challenge.example.com

Bu kayıt eksikse veya henüz yayılmamışsa, bu hatayı alırsınız.

Hata örnekleri:

  • urn:ietf:params:acme:error:dns :: DNS sorunu: NXDOMAIN _acme-challenge.example.com için TXT arıyor
  • _acme-challenge.example.com için TXT kaydı bulunamadı

Nasıl düzeltilir?

DNS sağlayıcınızda bir TXT kaydı oluşturun:

  • İsim: _acme-challenge.example.com
  • Değer: (ACME istemcinizin size verdiği belirteç; her istek için benzersizdir)

DNS’in yayılması için 1-10 dakika bekleyin. Bazı sağlayıcılar daha uzun sürebilir. Aşağıdaki komutla onaylayın.

dig TXT _acme-challenge.example.com

Ayrıca çevrimiçi bir DNS arama aracı da kullanabilirsiniz. Görünür olduğunda, doğrulamayı yeniden deneyin.


Çok Fazla Talep veya Hız Sınırı Aşıldı

Hata urn :ietf:params:acme:error:rateLimited veya 429 Too Many Requests olarak görünür, ACME sunucusu bir hız sınırına ulaştığınız için isteğinizi işlemeyi reddediyordur.

Bu genellikle kısa bir süre içinde aynı alan(lar) için çok fazla sertifika talep ettiğinizde veya arka arkaya çok fazla başarısız talep gönderdiğinizde olur.

Nasıl düzeltilir?

Çoğu hız sınırı, neye ulaştığınıza bağlı olarak bir saat, bir gün veya bir hafta sonra otomatik olarak sıfırlanır. Bir komut dosyası kullanıyorsanız, günlükleri kontrol edin ve yeniden denemeden önce hataları düzeltin. Körü körüne kaba kuvvet uygulamayın, bu sadece kilitlenmeyi daha da kötüleştirir.

DNS-01 doğrulamaları için, küçük TXT kaydı hatalarından sonra hızlı yeniden isteklerden kaçının. DNS yayılımını bekleyin. CA’nız bir hız sınırı durum sayfası veya başlıkları sağlıyorsa, daha kesin sıfırlama süreleri için bunları kontrol edin.


DNS Hataları veya Arama Hataları

“DNS sorunu: NXDOMAIN example.com için A arıyor” veya“Ad çözümlemede geçici hata” gibi mesajlar alırsanız, ACME sunucusunun alan adınızı çözümleyemediği anlamına gelir, çünkü alan adı mevcut değildir, henüz yayılmamıştır veya geçerli IP kayıtları yoktur.

Sertifika yetkilisi, alan adınızın var olduğunu ve gerçek bir yeri işaret ettiğini doğrulamak için DNS’ye güvenir. A (IPv4) veya AAAA (IPv6) kayıtlarınıza ulaşamazsa doğrulama işlemini durduracaktır.

Bu şu durumlarda gerçekleşebilir:

  • Alan adınız yepyeni ve DNS tam olarak yayılmamış
  • Doğru DNS kayıtlarını eklemeyi unuttunuz
  • Genel DNS görünürlüğü olmayan yerel veya dahili bir ağda çalışıyorsunuz
  • Gönderdiğiniz alan adında bir yazım hatası var

Nasıl düzeltilir?

  • Alan adınızın canlı sunucunuzu işaret eden geçerli A veya AAAA kayıtlarına sahip olduğunu iki kez kontrol edin.
  • Yayılımı doğrulamak için dig, nslookup gibi araçları veya çevrimiçi denetleyicileri (örn. whatsmydns.net) kullanın.
  • Özel veya yalnızca dahili bir alan adı kullanmadığınızdan emin olun. ACME doğrulaması yalnızca genel olarak çözümlenebilir adlar için çalışır.
  • DNS değişikliklerinden sonra birkaç dakika bekleyin; değişiklikler her zaman anında yayına girmez.

ACME Sunucusuna Bağlanılamadı

Bu hata, sunucunuz ACME API uç noktasına ulaşamadığında görünür. ACME istemcisine bağlı olarak Bağlantı reddedildi, Bağlantı sırasında zaman aşımı, Bağlanılamadı veya benzer mesajlar olarak görünebilir.

Nasıl düzeltilir?

  • Sunucunuzun 443 numaralı bağlantı noktasında giden HTTPS bağlantılarına izin verdiğinden emin olun.
  • Güvenlik duvarı ayarlarını veya giden ağ kurallarını kontrol edin (özellikle bulut/VPS kurulumlarında).
  • Bir proxy kullanıyorsanız, CA’nın ACME sunucusu etki alanına giden trafiğe izin verin.
  • Sunucunuzun çalışan bir DNS çözümleyicisi olduğunu doğrulayın.
  • Bağlanabilirliği şu şekilde test edin: curl https://acme.example.com (CA’nızın gerçek uç noktasıyla değiştirin).
  • Ağ sorunlarını çözdükten sonra ACME istemcinizi yeniden başlatın.

Yenileme Sonrası Komut Dosyası Başarısız

Bu hata, başarılı bir sertifika yenilemesinden sonra web sunucunuzu veya hizmetinizi yeniden yüklemeyi amaçlayan takip komut dosyası düzgün çalışmadığında ortaya çıkar. ACME istemcinize bağlı olarak, “post-hook error”, “deploy script failed” veya “command not found” gibi mesajlar görebilirsiniz.

Nasıl düzeltilir?

  • Neyin bozulduğunu görmek için yenileme sonrası komut dosyanızı manuel olarak çalıştırın.
  • Özellikle yeni sertifika ve anahtar için dosya yollarını kontrol edin.
  • Komut dosyasının çalıştırma izinlerine sahip olduğundan emin olun (örneğin, chmod +x script.sh).
  • Yazım hataları, eksik bağımlılıklar veya yanlış komut sözdizimi olup olmadığına bakın.
  • Bir deploy hook veya post-hook kullanıyorsanız, istemcinin bunu desteklediğini ve düzgün yapılandırıldığını doğrulayın.

Son Sözler

En yaygın ACMS SSL sertifika hatalarını ele aldık ve hızlı düzeltmeler verdik. Bunların hiçbiri sorununuzu çözmezse, ACME istemcinizi hata ayıklama modunda çalıştırın. Çoğu istemci, günlüğe kaydetmeyi etkinleştirdiğinizde daha ayrıntılı çıktı verecektir. Bu bilgi, gerçek nedenin belirlenmesine ve SSL’inizin tekrar çalışmasına yardımcı olabilir.

Bugün SSL Dragon’dan sipariş vererek SSL Sertifikalarında %10 indirimden yararlanın!

Hızlı düzenleme, güçlü şifreleme, %99,99 tarayıcı güvenilirliği, özel destek ve 25 günlük para iade garantisi. Kupon kodu: SAVE10

A detailed image of a dragon in flight
Tarafından yazıldı

SSL Sertifikaları konusunda uzmanlaşmış deneyimli içerik yazarı. Karmaşık siber güvenlik konularını açık, ilgi çekici içeriğe dönüştürmek. Etkili anlatımlar yoluyla dijital güvenliğin geliştirilmesine katkıda bulunun.