Настройка Gnome в CentOS 8
İçindekiler:
- Ön şartlar
- Certbot'u Yükleme
- Güçlü Dh (Diffie-Hellman) Grubu Oluşturma
- Let's Encrypt SSL sertifikası edinme
- Otomatik yenileme SSL sertifikasını şifreleyelim
- Sonuç
Let's Encrypt, ücretsiz SSL sertifikaları sağlayan Internet Security Research Group (ISRG) tarafından geliştirilen ücretsiz, otomatik ve açık bir sertifika yetkilisidir.
Let's Encrypt tarafından verilen sertifikalara tüm büyük tarayıcılar tarafından güvenilir ve yayın tarihinden itibaren 90 gün geçerlidir.
Bu öğreticide, Nginx'i web sunucusu olarak çalıştıran CentOS 8'e ücretsiz Let's Encrypt SSL sertifikasının nasıl yükleneceği hakkında adım adım talimatlar vereceğiz. Nginx'in SSL sertifikasını kullanmak ve HTTP / 2'yi etkinleştirmek için nasıl yapılandırılacağını da göstereceğiz.
Ön şartlar
Devam etmeden önce aşağıdaki önkoşulları yerine getirdiğinizden emin olun:
- Genel IP'nizi işaret eden bir alan adınız var.
example.comkullanacağız. CentOS sunucunuzda Nginx yüklü. Güvenlik duvarınız 80 ve 443 numaralı bağlantı noktalarındaki bağlantıları kabul edecek şekilde yapılandırıldı.
Certbot'u Yükleme
Certbot, Let's Encrypt SSL sertifikalarını sunucunuzdan HTTPS'den alma ve otomatik olarak etkinleştirme sürecini basitleştiren ücretsiz bir komut satırı aracıdır.
Certbot paketi standart CentOS 8 depolarına dahil değildir, ancak satıcının web sitesinden indirilebilir.
Certbot komut dosyasını
/usr/local/bin
dizinine indirmek için aşağıdaki
wget
komutunu root veya sudo kullanıcısı olarak çalıştırın:
sudo wget -P /usr/local/bin
İndirme işlemi tamamlandıktan sonra dosyayı yürütülebilir yapın:
sudo chmod +x /usr/local/bin/certbot-auto
Güçlü Dh (Diffie-Hellman) Grubu Oluşturma
Diffie – Hellman anahtar değişimi (DH), kriptografik anahtarları güvenli olmayan bir iletişim kanalı üzerinden güvenli bir şekilde alışverişi yapma yöntemidir.
Aşağıdaki komutu yazarak yeni bir 2048 bit DH parametre kümesi oluşturun:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Let's Encrypt SSL sertifikası edinme
Etki alanı için bir SSL sertifikası almak için,
${webroot-path}/.well-known/acme-challenge
dizininde istenen etki alanını doğrulamak için geçici bir dosya oluşturarak çalışan Webroot eklentisini kullanacağız. Let's Encrypt sunucusu, istenen etki alanının certbot'un çalıştığı sunucuya çözümlendiğini doğrulamak için geçici dosyaya HTTP istekleri gönderir.
Daha basit hale getirmek için
.well-known/acme-challenge
için tüm HTTP isteklerini
/var/lib/letsencrypt
.
Aşağıdaki komutlar dizini oluşturur ve Nginx sunucusu için yazılabilir yapar.
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp nginx /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
Kod çoğaltılmasını önlemek için, tüm Nginx sunucu blok dosyalarına eklenecek aşağıdaki iki parçacığı oluşturun:
sudo mkdir /etc/nginx/snippets
/etc/nginx/snippets/letsencrypt.conf
location ^~ /.well-known/acme-challenge/ { allow all; root /var/lib/letsencrypt/; default_type "text/plain"; try_files $uri =404; }
/etc/nginx/snippets/ssl.conf
ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers off; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 30s; add_header Strict-Transport-Security "max-age=63072000" always; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff;
Yukarıdaki snippet, Mozilla tarafından önerilen yongalayıcıları içerir, OCSP Zımbalama, HTTP Sıkı Aktarım Güvenliği'ni (HSTS) etkinleştirir ve güvenlik odaklı birkaç HTTP üstbilgisini zorlar.
letsencrypt.conf
oluşturulduktan sonra, etki alanı sunucusu bloğunu açın ve aşağıda gösterildiği gibi
letsencrypt.conf
snippet'ini
letsencrypt.conf
:
server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }
Değişikliklerin etkili olması için Nginx yapılandırmasını yeniden yükleyin:
sudo systemctl reload nginx
Alan adınız için SSL sertifika dosyalarını edinmek üzere certbot aracını webroot eklentisiyle çalıştırın:
sudo /usr/local/bin/certbot-auto certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
İlk kez
certbot
, araç eksik bağımlılıkları yükler.
SSL sertifikası başarıyla alındığında, certbot aşağıdaki mesajı yazdıracaktır:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2020-03-12. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
Artık sertifika dosyalarına sahip olduğunuza göre, alan adı sunucusu bloğunuzu aşağıdaki gibi düzenleyebilirsiniz:
/etc/nginx/conf.d/example.com.conf
server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; #… other code }
Yukarıdaki yapılandırma ile HTTPS'yi zorluyoruz ve www'yi www olmayan sürüme yönlendiriyoruz.
Son olarak, değişikliklerin etkili olması için Nginx hizmetini yeniden yükleyin:
sudo systemctl reload nginx
Şimdi,
https://
kullanarak web sitenizi açın, yeşil bir kilit simgesi göreceksiniz.

Otomatik yenileme SSL sertifikasını şifreleyelim
Şifreleme sertifikaları 90 gün geçerlidir. Sertifikaların geçerlilik süresi dolmadan otomatik olarak yenilenmesi için günde iki kez çalışacak bir cronjob oluşturun ve geçerlilik süresi sona ermeden 30 gün önce tüm sertifikaları otomatik olarak yenileyin.
Yeni bir cronjob oluşturmak için
crontab
komutunu kullanın:
sudo crontab -e
Aşağıdaki satırı yapıştırın:
0 */12 * * * root test -x /usr/local/bin/certbot-auto -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && /usr/local/bin/certbot-auto -q renew --renew-hook "systemctl reload nginx"
Dosyayı kaydedip kapatın.
Yenileme işlemini test etmek için, certbot komutunu ve ardından
--dry-run
anahtarını kullanabilirsiniz:
sudo certbot renew --dry-run
Hata yoksa, test yenileme işleminin başarılı olduğu anlamına gelir.
Sonuç
Bu eğitimde, alan adınız için SSL sertifikalarını indirmek için certbot Let's Encrypt istemcisini nasıl kullanacağınızı gösterdik. Ayrıca, kod çoğaltılmasını önlemek için Nginx snippet'leri oluşturduk ve Nginx'i sertifikaları kullanacak şekilde yapılandırdık. Eğiticinin sonunda, otomatik sertifika yenilemesi için bir cronjob kurduk.
Certbot hakkında daha fazla bilgi edinmek için belge sayfalarını ziyaret edin.
nginx centos certbot ssl şifreleyelimCentos 7'yi şifreleyelim ile güvenli nginx
Bu eğitimde, Centgin 7'de certbot aracını kullanarak Nginx'inizi Let's Encrypt ile nasıl güvenceye alacağınız hakkında adım adım talimatlar vereceğiz
Debian 9'u şifreleyelim ile güvenli nginx
Bu öğreticide, Debian 9'da Nginx için ücretsiz bir SSL sertifikası almak için Certbot aracını nasıl kullanacağımızı açıklayacağız. Nginx'in SSL sertifikasını kullanacak ve HTTP / 2'yi etkinleştirecek şekilde nasıl yapılandırılacağını da göstereceğiz.
Ubuntu 18.04'te şifreleyelim ile güvenli nginx
Let's Encrypt, Internet Security Research Group tarafından geliştirilen ücretsiz ve açık bir sertifika yetkilisidir. Bu eğitimde, Ubuntu 18.04'teki certbot aracını kullanarak Nginx'inizi Let's Encrypt ile nasıl güvenceye alacağınıza ilişkin adım adım talimatlar vereceğiz







