Let's Encrypt ve ACME Protokolü Otomasyonu
Certbot ve diğer istemcilerle ACME protokolünü kullanarak sertifika verme ve yenileme işlemlerini otomatikleştirin.
Let's Encrypt ve ACME Protokolü Otomasyonu, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.
Let's Encrypt'e Giriş
Let's Encrypt, Internet Security Research Group (ISRG) tarafından işletilen, ücretsiz, otomatik ve açık bir sertifika yetkilisidir ve Aralık 2015'te genel beta sürümüyle kullanıma sunulmuştur. 3 milyardan fazla sertifika düzenlemiş ve genel olarak güvenilen TLS sertifikalarını edinmenin maliyetini ve karmaşıklığını ortadan kaldırarak web genelinde HTTPS kullanımını büyük ölçüde artırmıştır.
ACME Protokolüne Genel Bakış
2019'da RFC 8555 olarak standartlaştırılan Otomatik Sertifika Yönetimi Ortamı (ACME) protokolü, istemcilerin alan adı sahipliğini otomatik olarak nasıl kanıtlayacağını ve CA'lerden nasıl sertifika alacağını tanımlar. ACME, el ile yürütülen alan adı doğrulama süreçlerinin yerine kriptografik olarak doğrulanan otomatik bir değiş tokuş koyarak sertifika yaşam döngüsünün müdahalesiz biçimde yönetilmesini sağlar.
HTTP-01 Doğrulaması
HTTP-01 doğrulaması, ACME istemcisinin "http://DOMAIN/.well-known/acme-challenge/TOKEN" adresine belirli bir TOKEN dosyası yerleştirmesini zorunlu kılarak alan adı sahipliğini doğrular. CA, TOKEN değerini doğrulamak için bu URL'yi alır. HTTP-01'in uygulanması basittir; ancak 80 numaralı bağlantı noktasının erişilebilir olmasını gerektirir ve joker sertifikalar için kullanılamaz.
DNS-01 Doğrulaması
DNS-01 doğrulaması, ACME istemcisinin "_acme-challenge.DOMAIN" adresinde belirli bir değere sahip bir DNS TXT kaydı oluşturmasını zorunlu kılarak alan adı sahipliğini doğrular. CA, kaydı doğrulamak için DNS'yi sorgular. DNS-01, joker sertifika düzenlemeyi destekleyen tek doğrulama türüdür ("*.example.com") ve web sunucuları güvenlik duvarlarının arkasında olduğunda bile çalışır.
TLS-ALPN-01 Doğrulaması
TLS-ALPN-01 doğrulaması, "acme-tls/1" adlı özel bir ALPN protokol tanımlayıcısı kullanarak alan adı sahipliğini TLS katmanında doğrular. ACME istemcisi, doğrulama TOKEN'ını özel bir uzantıda taşıyan kendinden imzalı bir sertifikayı 443 numaralı bağlantı noktasında geçici olarak sunar. Bu doğrulama, çalışan bir web sunucusu olmadan çalışır ve yük dengelemesi yapılan ortamları destekler.
Certbot Başvuru İstemcisi
Certbot, Electronic Frontier Foundation'ın Let's Encrypt için geliştirdiği başvuru ACME istemcisidir. Alan adı doğrulama, sertifika düzenleme ve otomatik yenileme olmak üzere sertifikanın tüm yaşam döngüsünü otomatikleştirir. Certbot, TLS ayarlarını otomatik olarak yapılandıran Apache ve nginx eklentilerini içerir. Modern Linux dağıtımlarına "snap install --classic certbot" komutuyla yükleyebilirsiniz.
Alternatif ACME İstemcileri
Certbot'un yanı sıra farklı kullanım amaçlarına yönelik birçok ACME istemcisi vardır. acme.sh, kaynakları sınırlı ortamlarda yaygın olarak kullanılan saf bir kabuk betiği ACME istemcisidir. Caddy web sunucusu yerleşik ACME desteğine sahiptir ve sertifikaları otomatik olarak yeniler. Kapsayıcı ortamlarında kullanılan Traefik, kapsayıcılaştırılmış iş yükleri için ACME işlemlerini certificatesResolvers yapılandırması aracılığıyla yürütür.
Sertifika Yenilemesini Otomatikleştirme
Let's Encrypt sertifikaları, otomasyonu teşvik etmek ve ele geçirilmiş özel anahtarların oluşturduğu maruz kalma süresini azaltmak amacıyla tasarım gereği 90 gün geçerlidir. Certbot, günde iki kez çalışan bir systemd zamanlayıcısı veya cron işi kurarak süresinin dolmasına 30 gün veya daha az kalan sertifikaları yeniler. El ile yenileme, hizmet kesintilerine yol açan kötü bir uygulamadır.
Let's Encrypt Hız Sınırları
Let's Encrypt, kötüye kullanımı önlemek için hız sınırları uygular. Temel sınırlar, kayıtlı alan adı başına haftada 50 sertifika ve haftada 5 yinelenen sertifikadır. Başarısız doğrulama denemeleri de ana bilgisayar adı başına saatte 5 denemeyle sınırlandırılır. Geliştirme sırasında Let's Encrypt hazırlık ortamı, genel olarak güvenilmeyen bir deneme CA'sına karşı sınırsız sertifika düzenleme olanağı sağlar.
Çok Alan Adlı ve Joker Sertifikalar
Tek bir ACME sertifikası birden fazla alan adını kapsayabilir (Konu Alternatif Adları). "certbot --domains example.com,www.example.com,api.example.com" komutu, üç SAN içeren bir sertifika düzenler. Joker sertifikalar ("*.example.com") DNS-01 doğrulaması gerektirir ve tek düzeyli tüm alt alan adlarını kapsar. Joker sertifikalar kök alan adının (example.com) kendisini kapsamaz; bu nedenle ek bir SAN gerekir.
Dahili PKI için ACME
ACME protokolü yalnızca Let's Encrypt ile sınırlı değildir. Step-CA (smallstep), EJBCA ve HashiCorp Vault gibi dahili CA'ler, dahili sertifika otomasyonu için ACME uç noktaları sunabilir. Bu sayede dışa açık hizmetlerde kullanılan aynı otomatik sertifika yaşam döngüsü yönetimi, dahili mTLS altyapısına ve özel hizmetlere de uygulanabilir.
ACME Doğrulamaları Denetimi
"*.example.com" gibi bir joker sertifikayı düzenlemek için hangi ACME doğrulama türü gereklidir?
Ders Özeti: Let's Encrypt ve ACME
Let's Encrypt, ACME protokolü (RFC 8555) aracılığıyla ücretsiz sertifikalar sağlar. HTTP-01 doğrulamaları, 80 numaralı bağlantı noktasındaki joker olmayan sertifikalar için çalışır. DNS-01, DNS bölgesi denetimini kanıtlayarak joker sertifikaları mümkün kılar. TLS-ALPN-01, web sunucusu olmadan çalışır. Certbot ve acme.sh tüm yaşam döngüsünü otomatikleştirir. 90 günlük sertifikalar otomasyon gerektirir. Hız sınırları, deneme sırasında hazırlık ortamının kullanılmasını zorunlu kılar.
Sıkça Sorulan Sorular
“Let's Encrypt ve ACME Protokolü Otomasyonu” dersi ücretsiz mi?
Evet — “Let's Encrypt ve ACME Protokolü Otomasyonu” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.
“Let's Encrypt ve ACME Protokolü Otomasyonu” dersinde ne öğreneceğim?
Certbot ve diğer istemcilerle ACME protokolünü kullanarak sertifika verme ve yenileme işlemlerini otomatikleştirin. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Let's Encrypt ve ACME Protokolü Otomasyonu” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- OpenSSL Komut Satırı Temelleri
- Sertifika Zincirleri Oluşturma ve Yönetme
- OCSP Zımbalama ve Sertifika Şeffaflığı
- Let's Encrypt ve ACME Protokolü Otomasyonu