CentOS 8'de Apache'yi Lets Encrypt SSL Sertifikası ile Güvenli Hale Getirin


Web sunucunuzun güvenliğini sağlamak, her zaman web sitenizi yayına almadan önce göz önünde bulundurmanız gereken temel faktörlerden biridir. Güvenlik sertifikası, web tarayıcılarından web sunucularına gönderilen trafiğin güvenliğini sağlamak için kritik öneme sahiptir ve bunu yaparken, kullanıcılara, gönderilen trafiğin güvence altına alındığının bilincinde olarak web sitenizle veri alışverişinde bulunma konusunda ilham verecektir.

Çoğu durumda, güvenlik sertifikalarının ücreti ödenir ve yıllık olarak yenilenir. Let's Encrypt sertifikası, sitenizi şifrelemek için kullanabileceğiniz ücretsiz, açık ve otomatik bir sertifika yetkilisidir. Sertifikanın süresi her 90 günde bir sona erer ve hiçbir ücret ödemeden otomatik olarak yenilenir.

Okuma Önerisi: CentOS 8'de Nginx'in Let's Encrypt ile Güvenliği Nasıl Sağlanır?

Bu makalede, Apache web sunucusu için Certbot ile Let's Encrypt Sertifikasını nasıl yükleyebileceğinizi ve daha sonra sertifikayı nasıl yapılandırabileceğinizi göstereceğiz. CentOS 8'de otomatik olarak yenilenmek için.

Önkoşullar

Başlamadan önce aşağıdakilerin yerinde olduğundan emin olun:

1. Apache HTTP web sunucusunun kurulu ve çalışır durumda olduğu CentOS 8 sunucusunun bir örneği. Apache web sunucunuzun çalışır durumda olduğunu doğrulayabilirsiniz.

sudo dnf install httpd
sudo systemctl status httpd

2. DNS web barındırma sağlayıcınızdaki web sunucunuzun genel IP adresine işaret eden Tam Nitelikli Alan Adı (FQDN). Bu kılavuz için sunucunun IP'sini 34.67.63.136 işaret eden linuxtechwhiz.info kullanacağız.

1. Adım. CentOS 8'e Certbot'u yükleyin

Certbot, güvenlik sertifikasının kurulumunu otomatikleştiren bir istemcidir. Sertifikayı Let's Encrypt Authority'den alır ve çok fazla sorun yaşamadan web sunucunuza dağıtır.

Certbot tamamen ücretsizdir ve web sunucunuzun yapılandırmasına göre talimatlar oluşturarak sertifikayı etkileşimli bir şekilde yüklemenize olanak sağlar.

Certbot'u indirmeden önce öncelikle şifreli bir bağlantının yapılandırılması için gerekli olan paketleri yükleyin.

RHEL tabanlı sistemler için yüksek kaliteli ek paketler sağlayan EPEL deposunu kurarak başlayacağız:

sudo dnf install epel-release

Daha sonra mod_ssl ve openssl paketlerini yükleyin.

sudo dnf install mod_ssl openssl

Tüm bağımlılıklar yüklendikten sonra Certbot'u ve Certbot için Apache modülünü yükleyin.

sudo dnf install certbot python3-certbot-apache

Komut, Certbot'u, Certbot için Apache modülünü ve diğer bağımlılıkları yükler.

Adım 2: Apache Sanal Konağı Oluşturun

Bir sonraki adım etki alanımız için sanal bir ana bilgisayar dosyası oluşturmak olacaktır – linuxtechwhiz.info. İlk önce HTML dosyalarınızı yerleştireceğiniz belge kökünü oluşturarak başlayın.

sudo mkdir /var/www/linuxtechwhiz.info.conf

Gösterildiği gibi bir test index.html dosyası oluşturun.

sudo echo “<h1>Welcome to Apache HTTP server</h1>” > /var/www/linuxtechwhiz.info/index.html

Daha sonra gösterildiği gibi bir sanal ana bilgisayar dosyası oluşturun.

sudo vim /etc/httpd/conf.d/linuxtechwhiz.info

Aşağıdaki yapılandırmayı ekleyin.

<VirtualHost *:443>
  ServerName linuxtechwhiz.info
  ServerAlias www.linuxtechwhiz.info
  DocumentRoot /var/www/linuxtechwhiz.info/
  <Directory /var/www/linuxtechwhiz.info/>
      Options -Indexes +FollowSymLinks
      AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log
  CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined
</VirtualHost>

Kaydet ve çık.

İzinleri gösterildiği gibi Belge köküne atayın.

sudo chown -R apache:apache /var/www/linuxtechwhiz.info

Değişikliklerin etkili olması için Apache hizmetini yeniden başlatın.

sudo systemctl restart httpd

Adım 3: Let’s Encrypt SSL Sertifikasını CentOS 8’e yükleyin

Şimdi Let's Encrypt sertifikasının kurulumunu başlatmak için gösterildiği gibi certbot'u çalıştırın.

sudo certbot --apache -d domain.com

Bizim durumumuzda bu şöyle olacaktır:

sudo certbot --apache -d linuxtechwhiz.info

Komut, alan adınız için Lets Encrypt'i yapılandırmanıza olanak tanıyan bir dizi istemde size yol gösterecektir. E-posta adresinizi girdiğinizden, Hizmet Şartlarını kabul ettiğinizden ve HTTP'nin şifrelenmiş versiyonu olan HTTPS protokolünü kullanmak istediğiniz alan adlarını belirttiğinizden emin olun.

Her şey yolunda giderse, sitenizin güvenliğinin Let's Encrypt sertifikası kullanılarak sağlandığını bildiren bir tebrik mesajı almalısınız. Sertifikanızın geçerliliği de görüntülenecektir; bu genellikle dağıtımdan 90 gün sonra gerçekleşir.

Şimdi sanal ana bilgisayar dosyanıza geri dönün ve aşağıdaki yapılandırma satırlarını ekleyin.

SSLEngine On
 SSLCertificateFile    /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem
 SSLCertificateKeyFile  /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem

Kaydet ve çık.

Son Apache sanal ana bilgisayar yapılandırması şuna benzer:

<VirtualHost *:443>
  ServerName linuxtechwhiz.info
  ServerAlias www.linuxtechwhiz.info
  DocumentRoot /var/www/linuxtechwhiz.info/
  <Directory /var/www/linuxtechwhiz.info/>
      Options -Indexes +FollowSymLinks
      AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log
  CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined

 SSLEngine On
 SSLCertificateFile    /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem
 SSLCertificateKeyFile  /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem
</VirtualHost>

Bir kez daha Apache'yi yeniden başlatın.

sudo systemctl restart httpd

Adım 4: Let’s Encrypt SSL Sertifikasını Doğrulama

Her şeyin çalıştığını doğrulamak için tarayıcınızı başlatın ve sunucunuzun IP adresini ziyaret edin. Artık URL'nin başında bir asma kilit sembolü görmelisiniz.

Daha fazla ayrıntıya ulaşmak için asma kilit sembolünü tıklayın ve görüntülenen açılır menüden "Sertifika" seçeneğini tıklayın.

Sertifika ayrıntıları bir sonraki açılır pencerede görüntülenecektir.

Ayrıca sunucunuzu https://www.ssllabs.com/ssltest/ adresinden test edebilirsiniz; sitenizin gösterildiği gibi 'A' notu alması gerekir.

Adım 5: Let's Encrypt SSL Sertifikasını Otomatik Yenileyin

Let's Encrypt yalnızca 90 gün boyunca geçerlidir. Genellikle yenileme işlemi, /etc/cron.d dizinine bir yenileme komut dosyası ekleyen certbot paketi tarafından gerçekleştirilir. Komut dosyası günde iki kez çalışır ve geçerlilik süresinin sona ermesinden sonraki 30 gün içinde tüm sertifikaları otomatik olarak yeniler.

Otomatik yenileme sürecini test etmek için certbot ile bir deneme testi gerçekleştirin.

sudo /usr/local/bin/certbot-auto renew --dry-run

Herhangi bir hatayla karşılaşılmadıysa, bu, gitmeye hazır olduğunuz anlamına gelir.

Bu bizi bu kılavuzun sonuna getiriyor. Bu kılavuzda, CentOS 8 sisteminde çalışan Apache web sunucusuna Let's Encrypt sertifikasını yüklemek ve yapılandırmak için certbot'u nasıl kullanabileceğinizi gösterdik.