Ubuntu ve Debian'da Ücretsiz Let's Encrypt SSL Sertifikası ile Apache'nin Güvenliği Nasıl Sağlanır?


Yeni kayıtlı bir alan adınız var ve web sunucunuz sizin tarafınızdan verilen SSL Kendinden İmzalı Sertifika ile çalışıyor, bu da sertifikanın oluşturduğu hatalar nedeniyle müşterilerinizin alan adını ziyaret ederken başlarını ağrıtıyor mu? Sınırlı bir bütçeniz var ve güvenilir bir CA tarafından verilen bir sertifikayı satın almaya gücünüz yetmiyor mu? İşte tam bu noktada Let's Encrypt yazılımı devreye giriyor ve günü kurtarıyor.

Apache veya Nginx için RHEL'e Let's Encrypt'i yüklemek istiyorsanız, CentOS Strong>, Fedora veya Ubuntu ve Debian için aşağıdaki kılavuzları izleyin:

RHEL ve CentOS 7/6'da Apache'yi Güvenli Hale Getirmek için Let's Encrypt Kurulumu

Ubuntu ve Debian'da Nginx'i Güvenli Hale Getirmek İçin Kurulum Yapalım

Let's Encrypt, web siteniz için gereken ücretsiz SSL/TLS sertifikalarını edinmenizi kolaylaştıran bir Sertifika Yetkilisi'dir (CA). Sunucunuzun güvenli bir şekilde çalışmasını sağlayarak kullanıcılarınız için hatasız, sorunsuz bir tarama deneyimi sağlar.

Örnek Ortamın Test Edilmesi

Sertifika oluşturmak için gereken tüm adımlar çoğunlukla Apache web sunucusu için otomatiktir. Ancak, web sunucusu yazılımınıza rağmen, özellikle web sitenizin içeriğinin Nginx arka plan programı tarafından sunulması durumunda, bazı adımların manuel olarak yapılması ve sertifikaların manuel olarak yüklenmesi gerekir.

Bu eğitim, Let's Encrypt yazılımını Ubuntu veya Debian'a nasıl kurabileceğiniz, alan adınız için ücretsiz bir sertifika oluşturup edinebileceğiniz ve bunu nasıl yapabileceğiniz konusunda size rehberlik edecektir. sertifikayı Apache ve Nginx web sunucularına manuel olarak yükleyebilirsiniz.

Gereksinimler

  1. Sunucunuzun harici IP Adresini işaret edecek geçerli A kayıtlarına sahip, genel kayıtlı bir alan adı. Sunucunuzun güvenlik duvarı arkasında olması durumunda, yönlendirici tarafına port yönlendirme kuralları ekleyerek sunucunuzun internetten word çapında erişilebilir olmasını sağlamak için gerekli önlemleri alın.
  2. Birden fazla etki alanı veya alt etki alanı barındırmanız durumunda, SSL modülü etkinleştirilmiş ve sanal barındırma etkinleştirilmiş olarak yüklenen Apache web sunucusu.

Adım 1: Apache'yi Kurun ve SSL Modülünü Etkinleştirin

1. Makinenizde Apache web sunucunuz kurulu değilse Apache arka plan programını yüklemek için aşağıdaki komutu verin.

sudo apt-get install apache2

2. Ubuntu veya Debian'daki Apache web sunucusu için SSL modülü aktivasyonu oldukça basittir. Aşağıdaki komutları vererek SSL modülünü etkinleştirin ve Apache varsayılan SSL sanal ana bilgisayarını etkinleştirin:

sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo service apache2 restart
or
sudo systemctl restart apache2.service

Ziyaretçiler artık alan adınıza HTTPS protokolü aracılığıyla erişebilir. Ancak sunucunuzun kendinden imzalı sertifikası güvenilir bir sertifika yetkilisi tarafından verilmediğinden, aşağıdaki resimde gösterildiği gibi tarayıcılarında bir hata uyarısı görüntülenecektir.

https://yourdomain.com

Adım 2: Ücretsiz Let's Encrypt Client'ı yükleyin

3. Sunucunuza Let's Encrypt yazılımını kurabilmeniz için sisteminizde git paketinin kurulu olması gerekmektedir. git yazılımını yüklemek için aşağıdaki komutu verin:

sudo apt-get -y install git

4. Ardından, sistem hiyerarşinizden Let's Encrypt git deposunu kopyalamak istediğiniz dizini seçin. Bu eğitimde Let’s Encrypt kurulum yolu olarak /usr/local/ dizinini kullanacağız.

/usr/local dizinine geçin ve aşağıdaki komutları vererek letsencrypt istemcisini kurun:

cd /usr/local
sudo git clone https://github.com/letsencrypt/letsencrypt

Adım 4: Apache için bir SSL Sertifikası oluşturun

5. Apache için SSL Sertifikası alma süreci Apache eklentisi sayesinde otomatikleştirilmiştir. Alan adınıza karşı aşağıdaki komutu vererek sertifikayı oluşturun. Alan adınızı -d işaretine parametre olarak girin.

cd /usr/local/letsencrypt
sudo ./letsencrypt-auto --apache -d your_domain.tld

Örneğin, sertifikanın birden fazla alan adı veya alt alan adı üzerinde çalışması gerekiyorsa, temel alan adından sonra her bir geçerli DNS kaydı için -d işaretini kullanarak bunların hepsini ekleyin.

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld 

6. Lisansı kabul edin, kurtarma için bir e-posta adresi girin ve istemcilerin alanınıza hem HTTP protokollerini (güvenli hem de güvenli olmayan) kullanarak göz atıp tarayamayacağını veya güvenli olmayan tüm istekleri HTTPS'ye yönlendirip yönlendiremeyeceğini seçin.

7. Kurulum işlemi başarıyla tamamlandıktan sonra konsolunuzda, aşağıdaki ekran görüntülerinde gösterildiği gibi son kullanma tarihi ve yapılandırmayı nasıl test edebileceğiniz hakkında sizi bilgilendiren bir tebrik mesajı görüntülenir.

Artık sertifika dosyalarınızı basit bir dizin listesiyle /etc/letsencrypt/live dizininde bulabileceksiniz.

sudo ls /etc/letsencrypt/live

8. Son olarak SSL Sertifikanızın durumunu doğrulamak için aşağıdaki bağlantıyı ziyaret edin. Alan adını buna göre değiştirin.

https://www.ssllabs.com/ssltest/analyze.html?d=your_domain.tld&latest

Ayrıca ziyaretçileriniz artık web tarayıcılarında herhangi bir hata görünmeden HTTPS protokolünü kullanarak alan adınıza erişebilirler.

4. Adım: Otomatik Yenileme Sertifikaların Şifrelenmesine İzin Verir

9. Varsayılan olarak Let's Encrypt yetkilisi tarafından verilen sertifikalar 90 gün boyunca geçerlidir. Sertifikayı sona erme tarihinden önce yenilemek için, daha önce olduğu gibi tam bayrakları ve parametreleri kullanarak istemciyi manuel olarak yeniden çalıştırmanız gerekir.

sudo ./letsencrypt-auto --apache -d your_domain.tld

Veya birden fazla alt alan olması durumunda:

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld

10. Sertifika yenileme süreci, Linux zamanlama cron arka plan programı kullanılarak, sona erme tarihine 30 günden daha kısa bir süre kala çalışacak şekilde otomatikleştirilebilir.

sudo crontab -e

Yalnızca bir satır kullanarak crontab dosyasının sonuna aşağıdaki komutu ekleyin:

0 1 1 */2 * cd /usr/local/letsencrypt && ./letsencrypt-auto certonly --apache --renew-by-default --apache -d domain.tld >> /var/log/domain.tld-renew.log 2>&1

11. Let's Encrypt yazılımı için yenileme alan adı yapılandırma dosyanızla ilgili ayrıntıları /etc/letsencrypt/renewal/ dizininde bulabilirsiniz.

cat /etc/letsencrypt/renewal/caeszar.tk.conf

Apache web sunucusunun yeni SSL yapılandırma dosyasını görüntülemek için /etc/letsencrypt/options-ssl-apache.conf dosyasını da kontrol etmelisiniz.

12. Ayrıca Let's encrypt apache eklentisi, web sunucusu yapılandırmanızdaki bazı dosyaları değiştirir. Hangi dosyaların değiştirildiğini kontrol etmek için /etc/apache2/sites-enabled dizininin içeriğini listeleyin.

ls /etc/apache2/sites-enabled/
sudo cat /etc/apache2/sites-enabled/000-default-le-ssl.conf

Şimdilik bu kadar! Sonraki eğitim dizisinde, Ubuntu ve Debian<'da Nginx web sunucusu için Let's Encrypt sertifikasını nasıl edinebileceğiniz ve yükleyebileceğiniz tartışılacaktır. ve CentOS'ta da.