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

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

Bu yazıda, Apache web sunucusunda ücretsiz SSL / TLS sertifikası kurulum prosedürünü öğreneceksiniz. Rehberdeki talimatları tamamladığınızda, sunucu ile istemci arasındaki tüm trafik şifrelenmiş olacaktır.

Bu, e-ticaret web sitelerini ve diğer finansal hizmetleri çevrimiçi olarak güvence altına almak için kullanılan standart bir uygulamadır. Let’s Encrypt, ücretsiz SSL uygulamasının öncüsüdür ve bu rehberde sertifika sağlayıcısı olarak kullanılacaktır.

Ancak ömürlük ücretsiz SSL tercih edersiniz, hosting hizmetlerimizi incelemenizi öneririz.

Nelere ihtiyacınız olacak?

Bu rehbere başlamadan önce aşağıdakilere ihtiyacınız var:

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

Adım 1 — Gerekli modüllerin kurulumu

Certbot‘u kurmak için, EPEL dizinini varsayılan olarak mevcut olmadığı için yüklemeniz gerekecektir. Şifrelemenin Apache tarafından tanınması için mod_ssl de gereklidir.

Bu bağımlılıkların ikisini de yüklemek için lütfen şu komutu çalıştırın:

yum install epel-release mod_ssl

Şimdi daha ileri gitmeye ve certbot’un kendisini kurmaya hazır olmalısınız.

Adım 2 — Let’s Encrypt istemcisinin indirilmesi

Sonra, certbot istemcisini EPEL deposundan yüklemelisiniz:

yum install python-certbot-apache

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

Adım 3 — Ücretsiz SSL sertifikası kurulumu

Certbot, SSL sertifikası yönetimini kolaylıkla halledecektir. Parametre olarak sağlayacağınız alan adı için yeni bir sertifika üretecektir.

Bu rehberde, sertifikanın verileceği alan olarak ornej.com kullanılacaktır:

certbot --apache -d ornek.com

Birden çok alan adı veya alt alan adı için SSL oluşturmak istiyorsanız şu komutu çalıştırabilirsiniz:

certbot --apache -d ornek.com -d www.ornek.com

ÖNEMLİ! İlk alan adı, sizin ana alan adınız olmalıdır. Bu örnekte ornek.com’dur.

Sertifikayı yüklerken, sertifika ayrıntılarını özelleştirebilmeniz için adım adım bir rehber sunulur. HTTPS’yi zorlamak veya HTTP’yi varsayılan protokol olarak bırakmak arasında bir seçim yapabilirsiniz. Güvenlik nedenlerinden ötürü bir email adresi yazmanız da istenecektir.

Kurulum tamamlandıktan sonra, benzer bir mesaj görmelisiniz:

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

Bu mesajda özet olarak, hesap bilgilerinizi kaybetmeniz durumuzda user@example.com adresine e-posta atarak tekrar alabileceğiniz, sertifikanızın bitiş tarihi, tekrar SSL sertifikası almak için aynı adımları uygulamanız gerektiği, bilgilerin /etc/letsencrypt dizininde olduğu ve bu klasörü kopyalamanız gerektiği yazmaktadır.

Adım 4 — Ücretsiz SSL sertifikası için otomatik yenileme ayarlamak

Let’s Encrypt ücretsiz ss sertifikaları 90 gün boyunca geçerlidir. Ancak her web uzmanı olası bir sorunu önlemek için 60 günde bir yenilemenizi önerir. Yenilemek için certbot, renew komutuyla bize yardımcı olacaktır. Sertifikanın, son kullanım tarihinden itibaren 30 günden az süre geçip geçmediğini kontrol edecektir.

Devam etmek için bu komutu çalıştırın:

certbot renew

Yüklü sertifika yeni ise, certbot yalnızca son kullanma tarihini kontrol edecektir:

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

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

Bu yenileme sürecini otomatikleştirmek için bir cronjob (zamanlanmış görev) kurabilirsiniz. Öncelikle, crontab’ı açın:

crontab -e

Bu görev, her Pazartesi gece yarısı çalışacak şekilde planlanabilir:

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

Komut dosyasının çıktısı /var/log/sslyenileme.log dosyasına yazılacaktır.

Sonuç

En gerekli güvenlik özelliği olan ücretsiz SSL sertifikasını uygulayarak ücretsiz SSL kurulumnu tamamladınız ve Apache web sunucunuzu güvenli hale getirdiniz!

Bundan böyle, sunucu ve istemci arasındaki tüm trafik şifrelenir. Kimsenin iletişimi engelleyemeyeceğini, önemli bilgileri değiştirip / alamayacağından emin olabilirsiniz.

Author
Yazar

Egehan D.

Egehan Hostinger'da ML ve NN ile denetimsiz öğrenme üzerinde çalışıyor. Veri analizi hakkında büyük bir tutkuya sahiptir. İşi her ne kadar hobi gibi olsa da, çeşitli aktivitelerde gönüllü olmaktan ve ormanda kamp yapmaktan da büyük oranda zevk alıyor.