Son zamanlarda kullanıcılarımız için almamız gereken güvenlik önlemleri artıyor. Örneğin, kullanıcılarımız şirketin web sayfasına erişeceklerinde, herhangi bir yere parolalarını vs. gireceklerinde; bunun şifreli ve güvenli bir şekilde taşınması gerekiyor. Ayrıca, Google’ın Chrome tarayıcısı üzerinde ve Mozilla’nın Firefox tarayıcısı üzerinde yaptığı geliştirmeler sonunda; kısa bir zaman sonra SSL ile şifrelenmemiş tüm web sayfaları güvenli değil olarak işaretlenecek. Bu da kullanıcılarımızın kafasında soru işaretleri oluşturacaktır. Bunun için sayfalarımıza SSL sertifikasını eklememiz gerekecek. Bu yazımızda da, açık kaynaklı sertifikasyon sistemi olan Let’s Encrypt’in ne olduğundan ve ne şekilde çalışacağından bahsedeceğiz.
Web sitelerimiz üzerinde kullanabileceğimiz üç çeşit SSL sertifikası tipi var. Bunlar DV (Domain Validation), OV (Organization Validation) ve EV (Extended Validation) sertifikalar. Let’s Encrypt adlı açık kaynak araç sayesinde sayfalarımıza DV sertifikalar basabiliyoruz. Ve hepsinden ötesi, tüm bu işlemleri ücretsiz ve otomatik bir şekilde yapabiliyoruz.
Let’s Encrypt 2018 Ağustos ayından itibaren hepimizin bildiği Verisign, COMODO gibi SSL sertifikası basabilen şirketler gibi tüm tarayıcılar tarafından tanınıyor. Yani Let’s Encrypt kullanarak sertifika bastığımız sayfalara kullanıcılar hangi tarayıcıdan girerlerse girsinler herhangi bir hata mesajı almıyorlar.
Let’s Encrypt Nasıl Çalışır?
Let’s Encrypt sertifika basma işlemlerini yaparken ACME protokolünü kullanıyor. ACME protokolünün agent’I sayesinde, sertifika basma ve yenileme işlemlerinizi otomatize edebiliyor. İlk olarak Let’s Encrypt ile sertifika basabilmek için domaininizi doğrulamanız gerekiyor. Bunun için kullanabileceğiniz iki yöntem var:
- DNS kaydıyla domainin sahibi olduğunuzu doğrulamak
- HTTP üzerinden domainin sahibi olduğunuzu doğrulamak.
Resim-1
Doğrulama işlemlerinizi yaptıktan sonra, Let’s Encrypt’ten sertifika isteğinde bulunuyorsunuz ve sertifikanız tamamen otomatik şekilde oluşturuluyor.
Resim-2
Sertifikanın süresi dolduğunda ise, kurmuş olduğunuz agent program tekrar Let’s Encrypt ile iletişime geçerek yeni bir sertifika oluşturuyor veya sertifikanızı yeniliyor.
Let’s Encrypt’in bir diğer güzel yanı da; Subject Alternative Name (SAN) içeren sertifikalar basabilmesi. Örneğin www.example.com ve www2.example.com gibi birden fazla FQDN’e sahip bir web sayfanız var. Certbot agent programına bu adresleri gösterdiğiniz zaman otomatik bir şekilde SAN attribute’una sahip bir sertifika oluşturabiliyor.
CentOS İşletim Sisteminde Kurulu Apache’ye Sertifika Oluşturma İşlemleri
Domain doğrulama işlemlerini yaptıktan sonra aşağıdaki komutları kullanarak sayfanıza sertifika oluşturabiliyorsunuz.
Certbot EPEL (Extra Packages for Enterprise Linux) reposunda bulunuyor. Bunu kullanabilmek için ilk önce aşağıdaki komutla EPEL’I aktifleştirmelisiniz.
sudo yum install epel-release
Daha sonra Certbot’u ve Apache için mod_ssl modülünü yüklemeniz gerekiyor.
sudo yum install httpd mod_ssl python-certbot-apache
Ve aşağıdaki komutla SAN attribute’una sahip sertifikanızı oluşturabilirsiniz.
sudo certbot --apache -d example.com -d www.example.com
Sertifikanızı bastığınıza göre, kontrol etmeniz gerekiyor. Bunu kontrol etmek için https://www.ssllabs.com/ sayfasına erişerek kontrol işlemini gerçekleştirebilirsiniz.
Otomatik Yenileme Ayarlanması
Eğer otomatik yenileme yerine elle yenileme yapmak isterseniz, aşağıdaki komutu çalıştırmanız yeterli.
sudo certbot renew
Elle yenileme yerine otomatik yenileme yapmak isterseniz de; Linux ortamlarda zamanlanmış görevleri çalıştırabileceğiniz crontab’a yenileme işlemini eklemeniz yeterli. İlk önce aşağıdaki komutla crontab’I açıp,
sudo crontab -e
sonrasında da aşağıdaki şekilde yenileme komutunu girebilirsiniz.
00 4 * * * /usr/bin/certbot renew >> /var/log/le-renew.log
Bu komut, her gece saat 4:00’da yenileme işlemini yapmayı deneyecek ve oluşan logları /var/log/le-renew.log dosyasına çıkartacaktır. Eğer sertifika yenileme işlemi gerçekleşirse Apache de otomatik olarak yeniden başlatılacaktır.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-centos-7
TAGs:let’s encerypt apache ssl, let’s encrypt nedir, let’s encrypt ssl, let’s encrypt ssl sertifikası, let’s encrypt ücretsiz ssl, let’s encrypt wordpress, ssl sertifikası oluşturma, ücretsiz SSL,ücretsiz SSL sertifikası oluşturma, ücretsiz https yapın