Jak zainstalować Certyfikat Let's Encrypt SSL, aby zabezpieczyć Nginx na RHEL 9/8
- 3011
- 875
- Laura Zygmunt
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 RHELKrok 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-nginxZainstaluj 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 -tlnSprawdź 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.comZainstaluj 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.tldLetsEncrypt 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.htmlWeryfika 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 restartSprawdź 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.
- « Zbieraj zaawansowane narzędzie do monitorowania wydajności dla Linux
- 11 Najlepsze bezpłatne i tanie władze certyfikatu SSL »