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.