07.06.2023

Ubuntu 20.04'te Let's Encrypt SSL Nasıl Edinilir

SSL/TLS şifrelemesi ağ altyapısının ayrılmaz bir parçasıdır. Herhangi bir web ve posta sunucusu veri şifrelemeyi etkinleştirmenize izin verir. Bu makalede, ücretsiz bir SSL sertifikası Let's Encrypt edinme sürecine bakacağız.

Başlangıç koşulları olarak, bir alan adınız olmalıdır. DNS A kaydı sunucunuzun genel adresini içermelidir. Güvenlik duvarı etkinse, HTTP ve HTTPS trafiği için erişimi açın.

sudo ufw allow 80
sudo ufw allow 443

Adım 1 – "Let's Encrypt" paketinin yüklenmesi

"Let's Encrypt" paketini tüm bağımlılıklarıyla birlikte yükleme işlemi son derece basittir. Bunu yapmak için şu komutu girin:

sudo apt install letsencrypt

"Let's Encrypt" paketi ile birlikte bu komut otomatik sertifika yenileme için "certbot.timer" yardımcı programını da yükler. Günde iki kez sistemdeki SSL sertifikalarının geçerliliğini kontrol eder ve önümüzdeki 30 gün içinde süresi dolacak olanların süresini uzatır. Çalıştığından emin olmak için şunu girin:

sudo systemctl status certbot.timer

Sertifika almak için farklı konfigürasyonlar ve koşullar vardır. Bunlardan bazılarına göz atalım.

Adım 2 – "Let's Encrypt" SSL sertifikasını almak için bağımsız sunucu

The easiest way to get an ssl certificate is to use a standalone option in Certbot. Domain-name.com adresini alan adınızla değiştirin, komutu çalıştırın ve talimatları izleyin:

sudo certbot certonly --standalone --agree-tos --preferred-challenges http -d domain-name.com

Certonly seçeneği, sertifikanın yalnızca herhangi bir web sunucusuna yüklenmeden alınacağı anlamına gelir, standalone, kimlik doğrulama için kendi web sunucunuzu başlatmanıza izin verir, agree-tos, bir ön koşul olan ACME sunucu abonelik sözleşmesinin kabul edilmesi anlamına gelir ve preferred-challenges http, HTTP kullanarak yetkilendirme yapılması anlamına gelir.

Adım 3 – SSL sertifikasının nginx ve Apache web sunucularına otomatik olarak yüklenmesi

Certbot, sertifikayı nginx ve Apache web sunucularına otomatik olarak yükleyebilir. Bunu yapmak için ek bir paket yüklemeniz ve web sunucunuz için uygun olanı seçmeniz gerekir.

apt install python3-certbot-nginx
apt install python3-certbot-apache

Bu komutu nginx için çalıştırın:

sudo certbot --nginx --agree-tos --preferred-challenges http -d domain-name.com

Ya da Apache için bu:

sudo certbot --apache --agree-tos --preferred-challenges http -d domain-name.com

Talimatları izleyin ve Certbot sizin için bir SSL sertifikası yükleyecektir.

Adım 4 – "Let's Encrypt" Wildcard SSL sertifikası

To create a wildcard certificate, the only possible challenge method is DNS. d parametresinde hem çıplak etki alanını hem de joker karakteri belirtmeniz gerekir.

sudo certbot certonly --manual --agree-tos --preferred-challenges dns -d domain-name.com -d *.domain-name.com

Bundan sonra, belirtilen TXT kaydını DNS sunucunuza yerleştirin ve devam et'e tıklayın.

Her şey yolundaysa, yeni joker sertifikanızın depolandığı yolu ve diğer bazı bilgileri göreceksiniz.