Jak zainstalować Certyfikat Let's Encrypt SSL, aby zabezpieczyć Nginx na RHEL 9/8

Jak zainstalować Certyfikat Let's Encrypt SSL, aby zabezpieczyć Nginx na RHEL 9/8

W tym artykule poprowadzimy Cię, jak generować i zainstalować certyfikat SSL/TLS uzyskany za darmo Zaszypujmy Urząd Świadectwa że będziemy używać do zabezpieczenia transakcji HTTP Nginx Web Fedora, Rocky Linux I Almalinux.

Jeśli chcesz zainstalować Zaszypujmy W przypadku Apache w dystrybucjach RHEL i RHEL, postępuj zgodnie z tym przewodnikiem poniżej:

[Może się również spodobać: Jak zainstalować Certyfikat Let's Encrypt SSL, aby zabezpieczyć Apache w systemach RHEL]

Wymagania

  • Zarejestrowana nazwa domeny z ważną A DNS Records, aby wrócić do publicznego adresu IP serwera.
  • Serwer WWW Nginx zainstalowany z włączonymi SSL i wirtualnymi hostami (tylko dla wielu domen lub hostingu subdomenów).

Nasza konfiguracja środowiska testowego

Skonfiguruj HTTPS z Lets Szyfruj, aby zabezpieczyć Nginx na RHEL

Krok 1: Zainstaluj serwer WWW Nginx w systemach RHEL

1. W pierwszym kroku, na wypadek, gdybyś nie miał Nginx Demon już zainstalowany, wydaj poniższe polecenia z uprawnieniami root, aby zainstalować Webserver Nginx z repozytoriów EPEL.

------------- On Rhel, Rocky & Almalinux 9 ------------- # DNF Zainstaluj https: // dl.Fedoraproject.ORG/PUB/EPEL/EPEL-Relase-Latest-9.Noarch.RPM ------------- Na Rhel, Rocky & Almalinux 8 ------------- # DNF Zainstaluj https: // dl.Fedoraproject.ORG/PUB/EPEL/EPEL-Relase-Latest-8.Noarch.RPM ------------- Zainstaluj serwer WWW Nginx ------------- # mniam instaluj nginx 

Notatka: Użytkownicy Fedora nie muszą instalować repozytorium EPEL.

Krok 2: Zainstaluj Let's Encrypt (CertBot) w RHEL Systems

2. Najszybszą metodą instalacji klienta Let's Encrypt w systemach Linux jest instalacja Certbot I Python3-Certbot-Nginx pakiety z repozytorium EPEL.

# DNF Zainstaluj certbot python3-certbot-nginx 
Zainstaluj certbot dla Nginx w systemach RHEL

3. Po Certbot Klient został zainstalowany, zweryfikuj zainstalowaną wersję oprogramowania Let's Encrypt, uruchamiając poniższe polecenie:

# certbot --version Certbot 1.30.0 

Krok 3: Uzyskaj bezpłatny certyfikat SSL Let's Encrypt SSL dla Nginx

4. Proces uzyskiwania bezpłatnego Certyfikat SSL/TLS Do Nginx odbędzie się ręcznie za pomocą Szyfrujmy samodzielnie podłącz.

Ta metoda wymaga tego portu 80 w czasie musi być wolne Zaszypujmy Klient sprawdza tożsamość serwera i generuje certyfikaty.

Tak więc, jeśli Nginx już działa, zatrzymaj demon z następującym poleceniem i uruchom narzędzie SS, aby potwierdzić, że port 80 nie jest już używany w stosie sieciowym.

# serwis nginx stop # Systemctl stop nginx # ss -tln 
Sprawdź porty sieciowe do słuchania-

5. Teraz nadszedł czas, aby uzyskać bezpłatny certyfikat SSL od Zaszypujmy uruchamiając Certbot polecenie z --nginx Aby zainicjować pobieranie i konfigurację certyfikatu bezpieczeństwa Let's Encrypt dla domen Nginx.

# certbot --nginx lub # certbot --Nginx -d Przykład.com -d www.przykład.com 
Zainstaluj pozwala zaszyfrować certyfikat domen Nginx

6. Wreszcie, jeśli wszystko poszło tak, jak powinno, na twoim terminalu Bash zostanie wyświetlona wiadomość z gratulacyjnego. Wiadomość będzie również wyświetlana, gdy certyfikat wygasa.

LetsEncrypt Instalacja kończy się

Krok 4: Zainstaluj Let's Encrypt SSL Certificate w Nginx

9. Teraz, kiedy masz za darmo Certyfikat SSL/TLS, Czas zainstalować go w Nginx WebServer, aby Twoja domena mogła z niej korzystać.

Wszystkie nowe certyfikaty SSL są umieszczone w /etc/limsecrrypt/na żywo/ W katalogu nazwanym na cześć nazwy domeny. Użyj polecenia LS, aby wymienić pliki certyfikatu wydane dla Twojej domeny i zidentyfikować je.

# sudo ls/etc/limsecrrypt/na żywo/ # sudo ls -al/etc/letsencrypt/na żywo/your_domain.tld 
LetsEncrypt SSL Certificates

10. Aby zainstalować pliki certyfikatu w Nginx i włączyć SSL, otwórz /etc/nginx/nginx.conf Plik do edycji i dodaj poniższe instrukcje po ostatniej linii słuchania z bloku serwerowego. Użyj poniższej ilustracji jako przewodnika.

# vi/etc/nginx/nginx.conf 

Nginx SSL Block Fragment:

# Konfiguracja SSL Słuchaj 443 SSL default_server; SSL_Certificate/etc/LetsEncrypt/Live/Your_domain.TLD/Fullchain.pem; ssl_certificate_key/etc/limsecrrypt/na żywo/your_domain.TLD/Privey.pem; SSL_PROTOCOLS TLSV1 TLSV1.1 TLSV1.2; ssl_prefer_server_ciphers on; SSL_CIPHERS 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH'; 
Włącz HTTPS w konfiguracji Nginx

Zastąp Nazwa domeny ciąg dla certyfikatów SSL, aby pasował do własnej domeny.

11. Wreszcie uruchom ponownie Nginx serwis i odwiedź swoją domenę za pośrednictwem protokołu HTTPS pod adresem https: // twojadomina. Strona powinna załadować gładko, bez żadnego błędu certyfikatu.

# Systemctl restart nginx # usługa nginx restart 

12. Aby zweryfikować SSL/TLS Certyfikat i jego prostość Odwiedź następujący link:

https: // www.ssllabs.COM/SSLTEST/Analizuj.html 
Weryfika Sprawdź certyfikat HTTPS SSL na domenie

13. Jeśli otrzymasz powiadomienie, że Twój serwer obsługuje słabe Dh Kluczowa wymiana i ogólna ocena B oceń, wygeneruj nowy Diffie-Hellman szyfr w /etc/nginx/ssl/ katalog w celu ochrony serwera przed Tarapaty atak przez uruchamianie następujących poleceń.

# mkdir/etc/nginx/ssl # cd/etc/nginx/ssl # openssl dhparam -out dhparams.PEM 4096 

W tym przykładzie użyliśmy 4096 Klucz bitowy, który faktycznie zajmuje dużo czasu i nakłada dodatkowe koszty na serwerze i na uścisku SSL.

Jeśli nie ma wyraźnej potrzeby używania klucza tak długo i nie jesteś paranoikiem, powinieneś być bezpieczny z 2048 Klucz bit.

14. Po Dh Klucz został wygenerowany, otwórz plik konfiguracyjny Nginx i dodaj poniższe instrukcje po SSL_CIPHERS linia w celu dodania klucza DH i podniesienia poziomu bezpieczeństwa swojej domeny do A+ stopień.

# vi/etc/nginx/nginx.conf 

Dodaj następujący fragment blokowy do Nginx.conf:

ssl_dhparam/etc/nginx/ssl/dhparams.pem; ssl_session_timeout 30m; SSL_SESSION_CACHE SHARED: SSL: 10m; SSL_BUFFER_SIZE 8K; add_header Surck-Transport-Security Max-AGE = 31536000; 
Dodaj szyfry Diffie-Hellman do konfiguracji Nginx

15. Uruchom ponownie Nginx Usługa w celu zastosowania zmian i ponownego sprawdzania certyfikatu SSL poprzez wyczyszczenie poprzedniej pamięci podręcznej wyników z linku wymienionego powyżej.

# Systemctl restart nginx # usługa nginx restart 
Sprawdź certyfikat LetsEncrypt SSL na stronie internetowej

Krok 5: Auto odnowienie nginx za darmo Pozwól, aby zaszyfrować certyfikaty SSL

16. Szyfrujmy CA Uwolnia się za darmo SSL/TLS Certyfikaty ważne dla 90 dni. Certyfikaty można ręcznie odnawiać i zastosować przed wygaśnięciem za pomocą wtyczki Webroot, bez zatrzymywania serwera WWW, wydając poniższe polecenia:

# CERTBOT --NGINX -D Przykład.com -d www.przykład.com # SystemCtl Reload nginx 

Podczas uruchamiania powyższego polecenia upewnij się, że wymieniłeś przykład.com Aby dopasować twoją domenę.

17. W celu automatycznego realizacji certyfikatu, zanim wygaśnie, Utwórz zadanie CRON do istniejącego pliku crontab.

# crontab -e 

Dodaj następujące zadanie CRON na dole pliku, które będzie działać codziennie w południe, aby sprawdzić wygaśnięcie certyfikatu i odnowić. --cichy Opcja informuje CertBot, aby nie generować wyjścia.

0 12 * * */usr/bin/certbot Renew -Questiet 

To wszystko! Teraz, Nginx serwer może dostarczać bezpieczną zawartość sieci za darmo SSL/TLS Let's Encrypt Certyfikat na Twojej stronie internetowej.