format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightWeb Siteniz İçin SSL Sertifikası Otomatik Yenileme Rehberi (Certbot)
- arrow_rightCertbot Nedir ve Neden Kullanmalısınız?
- arrow_rightCertbot'un Avantajları
- arrow_rightCertbot Kurulumu ve SSL Sertifikası Alma
- arrow_right1. Adım: Sunucunuzu Hazırlayın
- arrow_right2. Adım: SSL Sertifikası Alma
- arrow_rightCertbot Otomatik Yenileme Nasıl Ayarlanır?
- arrow_rightOtomatik Yenileme Yapılandırmasını Kontrol Edin
- arrow_rightCron Job Yapılandırması
- arrow_rightSystemd Timer ile Yenileme (Alternatif)
- arrow_rightYenileme Sürecini Test Etme ve Doğrulama
- arrow_rightSertifika Durumunu Kontrol Etme
- arrow_rightSSL Testi Yapma
- arrow_rightYenileme Günlüklerini İnceleme
- arrow_rightYaygın Sorunlar ve Çözümleri
- arrow_rightSertifika Yenilenmedi Hatası
- arrow_rightWeb Sunucusu Yeniden Başlatılmıyor
- arrow_rightÇoklu Alan Adları İçin Yenileme
- arrow_rightCertbot ve Sunucu Yazılımı Karşılaştırması
- arrow_rightEn İyi Uygulamalar ve İpuçları
- arrow_rightGüvenlik Önlemleri
- arrow_rightPerformans İyileştirmeleri
- arrow_rightYedekleme Stratejisi
- arrow_rightSonuç
Web Siteniz İçin SSL Sertifikası Otomatik Yenileme Rehberi (Certbot)
SSL sertifikaları, modern web sitelerinin güvenliği için vazgeçilmez bir unsurdur. Cloud sunucu altyapılarında çalışan web siteleri için Let's Encrypt ve Certbot, ücretsiz SSL sertifikası sağlama ve yönetme konusunda endüstri standardı haline gelmiştir. Bu rehberde, Certbot ile SSL sertifikanızı nasıl otomatik yenileyebileceğinizi adım adım açıklayacağız.
Certbot Nedir ve Neden Kullanmalısınız?
Certbot, Electronic Frontier Foundation (EFF) tarafından geliştirilen, Let's Encrypt sertifika otoritesinden SSL/TLS sertifikaları almanızı ve yenilemenizi sağlayan açık kaynaklı bir araçtır. 2024 yılı itibarıyla Let's Encrypt, dünya genelinde 300 milyondan fazla web sitesine hizmet vermektedir (Kaynak: Let's Encrypt Statistics).
Manual SSL yenileme işlemleri, sertifikanın süresi dolduğunda sitenizin erişilemez olmasına neden olabilir. Bu durum, hem kullanıcı deneyimini hem de SEO performansını olumsuz etkiler. Certbot'un otomatik yenileme özelliği, bu riski tamamen ortadan kaldırır.
Certbot'un Avantajları
- Ücretsiz SSL: Let's Encrypt sertifikaları tamamen ücretsizdir
- Otomatik Yenileme: Sertifikalarınız süre sonundan önce otomatik olarak yenilenir
- Kolay Kurulum: Tek komutla kurulum ve yapılandırma
- Geniş Destek: Apache, Nginx, Nginx Proxy Manager ve daha birçok sunucu yazılımıyla uyumlu
- Güvenlik: Modern TLS 1.3 protokolünü destekler
Certbot Kurulumu ve SSL Sertifikası Alma
1. Adım: Sunucunuzu Hazırlayın
Öncelikle sunucunuzda SSH ile bağlantı sağlayın. Ubuntu/Debian tabanlı sistemler için aşağıdaki komutlarla Certbot'u kurabilirsiniz:
sudo apt update
sudo apt install certbot python3-certbot-nginx
CentOS/RHEL tabanlı sistemler için:
sudo yum install certbot python3-certbot-nginx
Yüksek performanslı veri merkezi altyapılarında çalışan sunucularda kurulum genellikle birkaç dakika içinde tamamlanır.
2. Adım: SSL Sertifikası Alma
Nginx kullanıyorsanız, Certbot otomatik olarak yapılandırma dosyalarınızı düzenler:
sudo certbot --nginx -d domainadiniz.com -d www.domainadiniz.com
Apache için:
sudo certbot --apache -d domainadiniz.com -d www.domainadiniz.com
Sertifika alma sürecinde e-posta adresinizi girmeniz ve Let's Encrypt kullanım şartlarını kabul etmeniz istenecektir.
Certbot Otomatik Yenileme Nasıl Ayarlanır?
Let's Encrypt sertifikaları 90 gün geçerlidir. Certbot, kurulum sırasında otomatik yenileme için bir cron job oluşturur. Yenileme işlemini manuel olarak kontrol etmek ve yapılandırmak için aşağıdaki adımları izleyin.
Otomatik Yenileme Yapılandırmasını Kontrol Edin
sudo certbot renew --dry-run
Bu komut, yenileme işleminin sorunsuz çalışıp çalışmayacağını simüle eder. Herhangi bir hata alırsanız, yapılandırmanızı gözden geçirmeniz gerekebilir.
Cron Job Yapılandırması
Otomatik yenileme için crontab dosyanızı düzenleyin:
sudo crontab -e
Aşağıdaki satırı ekleyin:
0 2 * * * certbot renew --quiet --deploy-hook "systemctl reload nginx"
Bu yapılandırma, her gün saat 02:00'de sertifika yenileme işlemini çalıştırır. Yenileme başarılı olursa Nginx otomatik olarak yeniden başlatılır.
Systemd Timer ile Yenileme (Alternatif)
Modern sistemlerde cron yerine systemd timer kullanabilirsiniz:
sudo systemctl enable certbot-renewal.timer
sudo systemctl start certbot-renewal.timer
Bu yöntem, özellikle sunucu kaynak yönetimi açısından daha güvenilirdir ve sistem yeniden başlatıldığında bile çalışmaya devam eder.
Yenileme Sürecini Test Etme ve Doğrulama
Sertifika Durumunu Kontrol Etme
sudo certbot certificates
Bu komut, tüm sertifikalarınızı, son yenileme tarihlerini ve son kullanım tarihlerini listeler.
SSL Testi Yapma
Sertifikanızın doğru çalıştığını test etmek için Qualys SSL Labs gibi araçları kullanabilirsiniz. Ayrıca tarayıcınızda adres çubuğunda kilit simgesini kontrol edebilirsiniz.
Yenileme Günlüklerini İnceleme
Oluşabilecek sorunları teşhis etmek için Certbot günlüklerini kontrol edin:
sudo tail -f /var/log/letsencrypt/letsencrypt.log
Bu günlük dosyası, yenileme işlemlerindeki hataları ve uyarıları içerir.
Yaygın Sorunlar ve Çözümleri
Sertifika Yenilenmedi Hatası
Bu hata genellikle şu nedenlerden kaynaklanır:
- DNS Sorunları: Alan adınızın DNS kayıtları güncel olmalıdır
- Sunucu Kapalı: Yenileme sırasında sunucunuz erişilebilir olmalıdır
- Port 80 Engellenmiş: HTTP doğrulaması için port 80 açık olmalıdır
- Yanlış Alan Adı: Sertifikada kayıtlı alan adı ile sunucu adresi eşleşmelidir
Web Sunucusu Yeniden Başlatılmıyor
Sertifika yenilendikten sonra web sunucunuzun yeniden başlaması gerekir. Yenileme betiğinde --deploy-hook parametresini kullanarak bunu otomatikleştirebilirsiniz:
certbot renew --quiet --deploy-hook "systemctl reload nginx"
Çoklu Alan Adları İçin Yenileme
Birden fazla alan adı için sertifika kullandıysanız, Certbot tüm alan adlarını otomatik olarak yeniler. Her alan adı için ayrı ayrı yenileme işlemi yapmanıza gerek yoktur.
Certbot ve Sunucu Yazılımı Karşılaştırması
| Sunucu Yazılımı | Certbot Eklentisi | Otomatik Yapılandırma Kurulum Kolaylığı||
|---|---|---|---|
| Nginx | python3-certbot-nginx | Evet | Çok Kolay |
| Apache | python3-certbot-apache | Evet | Çok Kolay |
| Nginx Proxy Manager | Manuel kurulum | Hayır | |
| cPanel | AutoSSL | Evet | Çok Kolay |
cPanel kullanıyorsanız, yerleşik AutoSSL özelliği de otomatik yenileme sağlar. Detaylı bilgi için cPanel rehberimizi inceleyebilirsiniz.
En İyi Uygulamalar ve İpuçları
Güvenlik Önlemleri
- Sertifikalarınızı düzenli olarak --dry-run ile test edin
- Yedekleme mekanizması oluşturun
- SSL/TLS yapılandırmanızı düzenli olarak güncelleyin
- HSTS (HTTP Strict Transport Security) etkinleştirin
Performans İyileştirmeleri
SSL oturum önbelleklemeyi etkinleştirerek sunucu performansını artırabilirsiniz. Nginx için:
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
Yedekleme Stratejisi
Her yenileme öncesi sertifikalarınızı yedekleyin:
sudo certbot certificates --output-dir /etc/letsencrypt/archive/backup
GitLab gibi sistemlerle entegre ederek sertifika yönetimini otomatikleştirebilirsiniz.
Sonuç
Certbot ve Let's Encrypt kombinasyonu, web siteniz için güvenli ve ücretsiz SSL koruması sağlamanın en kolay yoludur. Otomatik yenileme özelliği sayesinde, sertifika süre sonu kaygılarını tamamen ortadan kaldırabilir ve sitenizin her zaman güvenli kalmasını sağlayabilirsiniz.
Unutmayın ki SSL güvenliği sadece sertifika yenileme ile sınırlı değildir. Sunucu altyapınızın güvenliği, düzgün yapılandırılmış VPN bağlantıları ve düzenli güvenlik güncellemeleri de kritik öneme sahiptir. Herhangi bir sorunla karşılaşırsanız, iletişim sayfamızdan destek alabilirsiniz.
SSL sertifikası yönetimi konusunda daha fazla bilgi için blog yazılarımızı ve topluluk forumumuzu ziyaret etmeyi unutmayın.