![Windows 10/8/7'de Xbox One Denetleyici Sürücüsü Nasıl İndirilir ve Güncellenir](/f/fb876e6b1541b661c6ac8ab8f337e2f9.png?width=100&height=100)
Daha önce takip Seriyi Şifreleyelim ilişkin Apaçi veya Nginx SSL/TLS modüllü web sunucusu, bu makalede ücretsiz olarak edinilen bir SSL/TLS sertifikasının nasıl oluşturulacağı ve kurulacağı konusunda size rehberlik edeceğiz. Sertifika Yetkilisini Şifreleyelim Nginx web sunucusu HTTP işlemlerini güvenli hale getirmek için kullanacağımız CentOS/RHEL 7/6 ve fötr şapka dağıtım.
yüklemek istiyorsanız Şifreleyelim Apache için RHEL/CentOS 7/6 ve fötr şapka dağıtımlar için aşağıdaki kılavuzu izleyin:
Kurulum RHEL, CentOS ve Fedora'da Apache'yi Güvenli Hale Getirelim
1. İlk adımda, sahip değilseniz Nginx arka plan programı zaten kurulu, Nginx web sunucusunu şuradan yüklemek için aşağıdaki komutları kök ayrıcalıklarıyla verin:
epel depoları:# yum epel sürümünü yükleyin. # yum nginx'i kurun.
2. En hızlı yükleme yöntemi Şifreleyelim paketleri klonlayarak Linux sistemlerinde istemci github depolar.
İlk olarak, yükleyin git Aşağıdaki komutla sistemde istemci:
# yum git'i kurun.
3. Git istemcisi yüklendikten sonra dizini şu şekilde değiştirin: /opt
path ve aşağıdaki komutları çalıştırarak Let's Encrypt yazılımını çekin:
# cd /seç. # git klonu https://github.com/letsencrypt/letsencrypt.
4. Ücretsiz alma süreci SSL/TLS Sertifikası için Nginx kullanılarak manuel olarak yapılacaktır. Tek Başına Şifreleyelim Eklenti.
Bu yöntem, bu bağlantı noktasını gerektirir 80 süre boyunca ücretsiz olmalı Şifreleyelim istemci, sunucunun kimliğini doğrular ve sertifikalar oluşturur.
Bu nedenle, Nginx zaten çalışıyorsa, aşağıdaki komutla arka plan programını durdurun ve çalıştırın ss
80 numaralı bağlantı noktasının artık ağ yığınında kullanılmadığını doğrulamak için yardımcı program.
# hizmet nginx durağı. # systemctl nginx'i durdur. #ss -tln.
5. Şimdi ücretsiz bir SSL Sertifikası alma zamanı Şifreleyelim. Taşınmak Şifreleyelim kurulum dizini, henüz orada değilseniz ve çalıştırın letsencrypt-auto
certonly ile komut --bağımsız
seçenek ve -NS
Aşağıdaki örnekte önerildiği gibi bir sertifika oluşturmak istediğiniz her alan veya alt alan için bayrak.
# cd /seç. # ./letsencrypt-auto certonly --standalone -d alan_adiniz.tld -d www.alaniniz.tld.
6. Makinenize bir dizi paket ve bağımlılık yüklendikten sonra Let's Encrypt, kayıp anahtar kurtarma veya acil bildirimler için kullanılacak hesabınızı girmenizi isteyecektir.
7. Ardından, düğmesine basarak lisans koşullarını kabul etmelisiniz. Girmek anahtar.
8. Son olarak, her şey olması gerektiği gibi gittiyse, bash terminalinizde bir tebrik bilgisi mesajı gösterilecektir. Mesaj ayrıca sertifikanın ne zaman sona ereceğini de gösterecektir.
9. Artık ücretsiz bir sahip olduğunuza göre SSL/TLS Sertifikası, alan adınızın kullanabilmesi için Nginx web sunucusuna kurmanın zamanı geldi.
Tüm yeni SSL sertifikaları /etc/letsencrypt/live/
alan adınızın adını taşıyan bir dizin altında. Kullanmak ls komutu etki alanınız için verilen Sertifika dosyalarını listelemek ve tanımlamak için.
# sudo ls /etc/letsencrypt/live/ # sudo ls -al /etc/letsencrypt/live/your_domain.tld.
10. Sertifika dosyalarını Nginx'e yüklemek ve SSL'yi etkinleştirmek için /etc/nginx/nginx.conf
düzenlemek için dosya ve aşağıdaki ifadeleri sunucu bloğundan son dinleme satırından sonra ekleyin. Aşağıdaki çizimi kılavuz olarak kullanın.
# vi /etc/nginx/nginx.conf.
Nginx SSL blok alıntısı:
# SSL yapılandırması. 443 ssl default_server'ı dinle; ssl_certificate /etc/letsencrypt/live/your_domain.tld/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your_domain.tld/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers açık; ssl_ciphers 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH';
değiştirin alan adı SSL sertifikalarının kendi etki alanınızla eşleşmesi için dize.
11. Son olarak, yeniden başlat Nginx adresinden HTTPS Protokolü aracılığıyla etki alanınızı ziyaret edin ve https://yourdomain
. Sayfa, herhangi bir sertifika hatası olmadan sorunsuz yüklenmelidir.
# systemctl nginx'i yeniden başlatın. # hizmet nginx yeniden başlatılıyor.
12. doğrulamak için SSL/TLS sertifika ve düzlüğü aşağıdaki bağlantıyı ziyaret edin:
https://www.ssllabs.com/ssltest/analyze.html
13. Sunucunuzun zayıf bir desteği desteklediğine dair bir bildirim almanız durumunda DH anahtar değişimi ve genel bir derecelendirme B sınıf, yeni bir Diffie-Hellman şifrelemek /etc/nginx/ssl/ sunucunuzu şunlara karşı korumak için dizin Tıkanıklık aşağıdaki komutları çalıştırarak saldırı yapın.
# mkdir /etc/nginx/ssl. # cd /etc/nginx/ssl. # openssl dhparam -out dhparams.pem 4096.
Bu örnekte bir 4096 Aslında oluşturulması uzun zaman alan ve sunucunuza ve SSL anlaşmasına fazladan bir yük getiren bit anahtarı.
Bir anahtarı bu kadar uzun süre kullanmaya gerek yoksa ve paranoyaklık yapmamanız durumunda, bir anahtarla güvende olmalısınız. 2048 bit anahtarı.
14. Sonrasında DH anahtarı oluşturuldu, Nginx yapılandırma dosyasını açın ve ardından aşağıdaki ifadeleri ekleyin ssl_ciphers
DH anahtarını eklemek ve alan adınızın güvenlik seviyesini bir bir+
Seviye.
# vi /etc/nginx/nginx.conf.
Aşağıdaki blok alıntıyı ekleyin Nginx.conf:
ssl_dhparam /etc/nginx/ssl/dhparams.pem; ssl_session_timeout 30m; ssl_session_cache paylaşılan: SSL: 10m; ssl_buffer_size 8k; add_header Strict-Transport-Security max-age=31536000;
15. Tekrar başlat Nginx yukarıda belirtilen bağlantıdan önceki sonuç önbelleğini temizleyerek değişiklikleri uygulamak ve SSL sertifikanızı yeniden test etmek için hizmet.
# systemctl nginx'i yeniden başlatın. # hizmet nginx yeniden başlatılıyor.
16.CA'yı Şifreleyelim ücretsiz yayınlar SSL/TLS geçerli sertifikalar 90 günler. Sertifikalar, webroot eklentisi kullanılarak, web sunucunuzu durdurmadan, aşağıdaki komutları vererek, süresi dolmadan önce manuel olarak yenilenebilir ve uygulanabilir:
# ./letsencrypt-auto certonly -a webroot --agree-tos --renew-by-default --webroot-path=/usr/share/nginx/html/ -d yourdomain.tld -d www.yourdomain.tld. # systemctl nginx'i yeniden yükle.
Yukarıdaki komutu çalıştırırken, değiştirdiğinizden emin olun. webroot yolu
Nginx kök deyimi tarafından belirtilen web sunucusu belgenizin kökünü eşleştirmek için.
17. Sertifikayı süresi dolmadan otomatik olarak yenilemek için github erikaheidi'den bu bash betiğini oluşturun. /usr/local/bin/ dizini ve aşağıdaki içeriği ekleyin (komut dosyası, Nginx ayarını yansıtacak şekilde biraz değiştirilir).
# vi /usr/local/bin/cert-renew.
Aşağıdaki satırları ekleyin sertifika yenileme
dosya.
#!/bin/bash webyolu='/usr/share/nginx/html/' alan=$1. le_path='/opt/letsencrypt' le_conf='/etc/letsencrypt' exp_limit=30; get_domain_list(){ certdomain=$1 config_file="$le_conf/renewal/$certdomain.conf" eğer [! -f $config_file ]; ardından echo "[ERROR] $certdomain sertifikasının yapılandırma dosyası bulunamadı." çıkış 1; fi domains=$(grep --only-matching --perl-regex "(?<=domains \= ).*" "${config_file}") last_char=$(echo "${domains}" | awk '{ print substr($0,length, 1)}') if [ "${last_char}" = "," ]; sonra domains=$(echo "${domains}" |awk '{print substr($0, 1, length-1)}') fi echo $domains; } if [ -z "$alan" ]; ardından yankı "[ERROR] sertifika yenileme için alan adını sağlamalısınız." çıkış 1; fi cert_file="/etc/letsencrypt/live/$domain/fullchain.pem" eğer [! -f $cert_file ]; ardından "$domain etki alanı için [ERROR] sertifika dosyası bulunamadı." çıkış 1; fi exp=$(date -d "`openssl x509 -in $cert_file -text -noout|grep "Sonra Değil"|cut -c 25-`" +%s) datenow=$(tarih -d "şimdi" +%s) days_exp=$(echo \( $exp - $datenow \) / 86400 |bc) echo "$domain için son kullanma tarihi kontrol ediliyor..." if [ "$days_exp" -gt "$exp_limit" ]; ardından echo "Sertifika güncel, yenilemeye gerek yok ($days_exp gün kaldı)." 0 çıkışı; else echo "$domain sertifikasının süresi yakında dolacak. Yenileme isteği başlatılıyor..." domain_list=$( get_domain_list $domain ) "$le_path"/letsencrypt-auto certonly -a webroot --agree-tos --renew-by-default --webroot-path=”$webpath” --domains "${domain_list}" echo "Nginx yeniden yükleniyor... " sudo systemctl reload nginx echo "$alan adı için yenileme işlemi tamamlandı" çıkış 0; fi.
18. değiştirin $web yolu
Nginx belge kökünüzle eşleşmesi için komut dosyasının başından itibaren değişken. Komut dosyasının yürütülebilir olduğundan ve M.Ö
hesap makinesi aşağıdaki komutları vererek sisteminize yüklenir.
# chmod +x /usr/local/bin/cert-renew. # yum kurulum bc.
Aşağıdaki komutu vererek komut dosyasını alanınıza göre test edebilirsiniz:
# /usr/local/bin/cert-renew yourdomain.tld.
19. Son olarak, sertifika yenileme sürecini otomatik olarak çalıştırmak için, sertifikayı son kullanma tarihinden önceki 30 gün içinde güncellemek için betiği her hafta yürütmek üzere yeni bir cron işi ekleyin.
# crontab -e.
Dosyanın en altına aşağıdaki satırı ekleyin.
@weekly /usr/local/bin/cert-renew your_domain.tld >> /var/log/your_domain.tld-renew.log 2>&1.
Bu kadar! Şimdi Nginx sunucu, ücretsiz olarak güvenli web içeriği sunabilir. SSL/TLS Şifreleyelim web sitenizde sertifika.