Debian 10'da Nginx için Ücretsiz SSL Sertifikası Nasıl Kurulur


Bir web sitesi kurarken aklınızda bulundurmanız gereken en önemli hususlardan biri sitenizin güvenliğidir. SSL sertifikası, kullanıcının tarayıcısından web sunucusuna gönderilen verileri şifreleyen dijital bir sertifikadır. Bu şekilde gönderilen veriler, iletişiminizi kesmek ve gizlice dinlemek için Wireshark gibi paket algılayıcıları kullanan bilgisayar korsanlarına karşı gizli ve güvenlidir.

Şifrelenmiş bir sitenin URL çubuğunda bir asma kilit simgesi ve ardından aşağıdaki ekran görüntüsünde gösterildiği gibi https kısaltması bulunur.

Şifrelenmemiş bir sitenin URL çubuğunda genellikle "Güvenli Değil" bildirimi bulunur.

Önkoşullar

Başlamadan önce aşağıdaki gereksinimlerin karşılandığından emin olun:

  1. Debian 10 Minimal Server'ın çalışan bir örneği.
  2. Debian 10'da Etki Alanı Kurulumu ile Nginx Web Sunucusunun çalışan bir örneği.
  3. Debian 10'un IP adresini gösteren A kaydına sahip kayıtlı bir Tam Nitelikli Alan Adı (FQDN) Alan Sağlayıcınızda.

Bu eğitim için linux-console.net'un 192.168.0.104 IP adresini işaret etmesini sağladık.

Bu makalede, Nginx için Ücretsiz SSL Sertifikası almak üzere Debian 10'a Let's Encrypt SSL'i nasıl kurabileceğinizi inceliyoruz. güçlü> barındırılan site.

Let's Encrypt SSL Nedir?

Let's Encrypt SSL, EFF'den (Electronic Frontier Foundation) alınan, 3 ay boyunca geçerli olan ve geçerlilik süresi dolduğunda otomatik olarak yenilenen ücretsiz bir sertifikadır. Cebiniz sıkışıksa sitenizi şifrelemenin kolay ve ucuz bir yoludur.

Lafı fazla uzatmadan hemen konuya girelim ve Nginx web sunucusuna Let's Encrypt'i yükleyelim:

Adım 1: Certbot'u Debian 10'a yükleyin

Başlamak için Certbot'u yüklememiz gerekiyor; Let's encrypt dijital sertifikasını alan ve daha sonra bunu bir web sunucusuna dağıtan bir yazılımdır. Bunu başarmak için python3-certbot-nginx paketini kurmamız gerekiyor. Ancak bunu yapmadan önce sistem paketlerini güncelleyelim.

sudo apt update

Bir sonraki adım, python3-certbot-nginx paketinin gerektirdiği bağımlılıkları yüklemektir.

sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

Şimdi python3-certbot-nginx paketini yükleyelim.

sudo apt install python3-certbot-nginx

Adım 2. Nginx Sunucu Bloğu Yapılandırmasını Doğrulama

Certbot'un Let's encrypt SSL sertifikasını Nginx web sunucusuna otomatik olarak dağıtması için bir sunucu bloğunun yapılandırılması gerekir. Önceki makalenin son bölümünde Nginx sunucu bloklarının yapılandırmasını ele almıştık.

Merakla takip ettiyseniz /etc/nginx/sites-available/some_domain adresinde bir sunucu bloğunuz olmalıdır. Bizim durumumuzda Nginx sunucu bloğu şöyle olacaktır:

/etc/nginx/sites-available/linux-console.net

Ayrıca sunucu_adı yönergesinin alan adınıza karşılık geldiğinden emin olun.

server_name linux-console.net linux-console.net;

Tüm Nginx yapılandırmalarının düzgün olduğunu doğrulamak için şunu çalıştırın:

sudo nginx -t

Yukarıdaki çıktı her şeyin yolunda olduğunu gösteriyor.

3. Adım: Güvenlik Duvarını HTTPS Bağlantı Noktasını Açacak Şekilde Yapılandırma

Ufw'yi yapılandırıp etkinleştirdiyseniz, her zaman tavsiye edildiği gibi, web sunucusunun herkes tarafından erişilebilir olması için güvenlik duvarı üzerinden HTTPS protokolüne izin vermemiz gerekir.

sudo ufw allow 'Nginx Full'

Ardından, değişiklikleri etkilemek için güvenlik duvarını yeniden yükleyin.

sudo ufw reload

Güvenlik duvarı üzerinden protokole izin verdiğimizi doğrulamak için.

sudo ufw status

4. Adım: Alan Adı için Let’s Encrypt SSL Sertifikasını Dağıtma

Tüm ayarlar ve yapılandırmalar kontrol altındayken, alan adı sitesine Let's Encrypt SSL sertifikasını getirip dağıtmanın zamanı geldi.

sudo certbot --nginx -d domain-name  -d www.domain-name.com 

Bizim durumumuzda, sahip olacağız

sudo certbot --nginx -d linux-console.net -d linux-console.net

İlk adımda e-posta adresinizi girmeniz istenecektir. Adresinizi yazın ve Enter'a basın.

Daha sonra hizmet şartlarını kabul etmeniz istenecektir. Devam etmek için A yazın.

Certbot, size EFF'deki en son gelişmeler hakkında bildirimler göndermek için e-postanızı kullanma konusunda izninizi istemeye devam edecektir. Burada, dahil olmayı veya devre dışı kalmayı seçebilirsiniz, dahil olmak için Y (Evet) yazın ve Enter tuşuna basın. Katılımı reddetmek için N (Hayır)'a basın.

Certbot daha sonra Let's encrypt ile iletişime geçecek, SSL sertifikasını indirecek ve daha önce oluşturduğunuz Nginx sunucu bloğuna dağıtacaktır.

Sonraki bölümde, normal HTTP trafiğini HTTPS'ye yönlendirmek için 2 yazın.

Sertifika Nginx Sunucunuz'a dağıtılacak ve web sunucunuzun artık Let's Encrypt SSL kullanılarak şifrelendiğini onaylayan bir tebrik bildirimi alacaksınız.

Adım 5: Nginx Web Sitesinde HTTPS'yi Doğrulayın

Değişiklikleri bir web tarayıcısı aracılığıyla doğrulamak için tarayıcı sekmenizi yenileyin ve asma kilit sembolüne dikkat ettiğinizden emin olun.

SSL sertifikası ayrıntılarını görüntülemek için asma kilit simgesini tıklayın ve "Sertifika" seçeneğini seçin.

Tüm sertifika ayrıntıları görüntülenecektir.

Sitenizin URL'sini https://www.ssllabs.com/ssltest/ adresinde test ederek web sunucunuzun durumunu daha ayrıntılı olarak doğrulayabilirsiniz. Web sunucusu bir SSL sertifikası kullanılarak şifrelendiyse gösterildiği gibi bir A puanı alırsınız.

Çözüm

Bu eğitimimizin sonuna geldik. Kılavuzda, Debian 10'da Nginx için ücretsiz bir SSL sertifikasının nasıl kurulacağını öğrendiniz.