Sunucu

CentOS 7 Apache Sunucuda Ücretsiz SSL Kurulumu ( Let’s Encrypt )

Bu yazımızda, CentOS 7 Apache sunucuda Let’s Encrypt ile ücretsiz SSL kurulumu konusundan bahsedeceğiz. Göstereceğimiz tüm adımları uyguladığınız zaman sunucu ile istemci arasındaki bütün trafiği şifrelemiş olacaksınız. Bu işlem e-ticaret web sitelerini ve diğer finansal hizmet veren sitelerin çevrimiçi olarak güvence altına alınması için kullanılan standart bir uygulamadır.  Ücretsiz SSL uygulamasının öncüsü olan Let’s Encrypt, bu yazımızda sertifika sağlayıcısının ismi olarak kullanılacaktır.

CentOS 7 Apache Sunucuda Ücretsiz SSL Kurulumu ( Let’s Encrypt )

Konumuza başlamadan önce aşağıda bahsedeceğimiz şeylere ihtiyacınız olacaktır.

  • CentOS 7 VPS’e root SSH erişimi
  • Düzgün bir şekilde yapılandırılmış domain ve vhost ile Apache web sunucusu

Şimdi uygulamanız gereken adımlara bir bakalım.

Gereken modüllerin kurulumu

Certbot‘un kurulum işlemi için, EPEL dizinini varsayılan olarak bulunmadığı için yüklemeniz gerekiyor. Şifrelemenin Apache tarafından yapılması için ise  mod_ssl de gereklidir.

Bu bağımlılıkların ikisini de yüklemek için aşağıda yer alan komutu çalıştırın:

yum install epel-release mod_ssl

Şimdi ise certbot’un kendisini kurmaya hazır olmanız gerekiyor.

Let’s Encrypt istemcisinin indirilmesi

Daha sonra, certbot istemcisini EPEL deposundan yüklemeniz gerekiyor:

yum install python-certbot-apache

 

Certbot şimdi kurulmuş ve kullanım için hazır olmalıdır.

Ücretsiz SSL sertifikası kurulumu

Certbot, SSL sertifikası yönetimini kolaylık bir şekilde yapacaktır. Parametre olarak sağlayacağınız domain için yeni bir sertifika oluşturacaktır.

Biz bu yazımızda sizlere örnek olması için, sertifikanın verileceği domani test.com olarak belirledik.

certbot --apache -d test.com

 

Birden fazla domain ya da alt domain için SSL oluşturmak istiyorsanız eğer aşağıda yer alan komutu kullanmanız gerekiyor:

certbot --apache -d test.com -d www.test.com

 

UYARI! İlk domainin sizin kullandığınız ana domain olması gerekiyor. Biz bu örnek için test.com’u belirlemiştik.

Sertifikanın yüklenmesi işlemi için, sertifika ayrıntılarını özelleştirebilmenizi adım adım sağlayacak bir yazı sunulur. HTTPS’yi zorlamak ya da HTTP’yi varsayılan protokol olarak bırakmak arasında bir seçim yapmanız mümkündür. Güvenlik nedenlerinden dolayı bir e mail adresi yazmanız gerekecektir.

Kurulumun tamamlanmasının ardından, benzer bir mesaj görmeniz gerekiyor:

IMPORTANT NOTES:

 - If you lose your account credentials, you can recover through
   e-mails sent to user@example.com.
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/example.com/fullchain.pem. Your cert
   will expire on 2016-04-21. To obtain a new version of the
   certificate in the future, simply run Let's Encrypt again.
 - Your account credentials have been saved in your Let's Encrypt
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Let's
   Encrypt so making regular backups of this folder is ideal.
 - If you like Let's Encrypt, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Ücretsiz SSL sertifikası için otomatik yenileme 

Let’s Encrypt ücretsiz ss sertifikaları 90 gün (3 ay) boyunca geçerli olmaktadır. Fakat bütün web uzmanları olası bir sorunun önüne geçmek için 60 günde bir yenilemenizi önermektedir. Yenileme işlemi için certbot aşağıda yer alan komut ile yardımcı olacaktır:

renew

 

Sertifikanın, son kullanım tarihinden itibaren 30 günden az bir süre geçip geçmediğinin kontrolünü sağlayacaktır.

Devam etmek için aşağıda yer alan komutu kullanın:

certbot renew

 

Yüklenen sertifika yeniyse eğer certbot sadece son kullanma tarihini kontrol edecektir:

Processing /etc/letsencrypt/renewal/test.com.conf

The following certs are not due for renewal yet:
  /etc/letsencrypt/live/test.com/fullchain.pem (skipped)
No renewals were attempted.

Bu yenileme sürecinin otomatikleşmesi için bir cronjob  kurabilirsiniz. Öncelikli olarak, crontab’ı açın:

crontab -e

 

Bu görevi her Pazartesi gece yarısı çalışacak şekilde planlayabilirsiniz:

0 0 * * 1 /usr/bin/certbot renew >> /var/log/sslyenileme.log

 

Komut dosyasının çıktısı aşağıda belirttiğimiz yere yazılacaktır:

/var/log/sslyenileme.log

 

Sonuç

Gerekli olan güvenliği ücretsiz SSL sertifikasının uygulanmasıyla, Apache web sunucunuzu güvenli hale getirmiş bulunuyorsunuz. Bundan sonra sunucu ve istemci arasında yer alan bütün trafikler şifrelenir. Hiç kimsenin iletişimi engellemeyeceğini, önemli bilgilerinizi değiştirerek alamayacağından emin olabilirsiniz.

CentOS 7 Apache Sunucuda Let’s Encrypt ile Ücretsiz SSL Kurulumu başlıklı yazımız ile ilgili aklınıza takılan sorularınızın yanıtını alabilmeniz için veya öneride bulunabilmeniz için aşağıda yer alan yorumlar kısmını kullanarak bizimle iletişime geçebilirsiniz.

Dilerseniz daha önce bloğumuzda paylaştığımız Veri Merkezi Tier Standartları Nelerdir ? başlıklı yazımızı da okuyabilirsiniz.

Serhat Yılmaz

Blog sayfamızda bilişim sektöründe edinmiş olduğum bilgi ve deneyimleri paylaşmaktayız. Yazılarımıza yorumlarınızı katarak bizleri mutlu edebilirsiniz.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu