So installieren Sie das SSL -Zertifikat, um Nginx auf RHEL 9/8 zu sichern

So installieren Sie das SSL -Zertifikat, um Nginx auf RHEL 9/8 zu sichern

In diesem Artikel führen wir Sie dazu, wie Sie ein SSL/TLS -Zertifikat erstellen und installieren, das kostenlos von Lassen Sie uns die Zertifikatsbehörde verschlüsseln Damit wir verwenden werden, um Nginx-Webserver-HTTP-Transaktionen zu RHEL- und RHEL-basierten Verteilungen wie zu sichern Fedora, Rocky Linux Und Almalinux.

Wenn Sie installieren möchten Lassen Sie uns verschlüsseln Für Apache über RHEL- und RHEL-basierte Verteilungen folgen Sie folgenden Anleitung unten:

[Möglicherweise mögen Sie es auch: So installieren Sie das SSL -Zertifikat, um Apache auf Rhel -Systemen zu sichern.]

Anforderungen

  • Ein registrierter Domain -Name mit gültig A DNS -Aufzeichnungen, um auf die öffentliche IP -Adresse der Server zurückzusetzen.
  • NGINX -Webserver mit aktivierter SSL und virtueller Hosts installiert (nur für mehrere Domänen oder Subdomains -Hosting).

Unser Testumfeld -Setup

Setup HTTPS mit Lets Encrypt, um Nginx auf RHEL zu sichern

Schritt 1: Installieren Sie den NGINX -Webserver in RHEL -Systemen

1. Im ersten Schritt, falls Sie es nicht haben Nginx Dämon bereits installiert, geben Sie die folgenden Befehle mit Root -Berechtigungen aus, um Nginx -Webserver aus Epel -Repositories zu installieren.

------------- Auf Rhel, Rocky & Almalinux 9 ------------- # DNF Installieren Sie https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-9.Keinarch.Drehzahl ------------- Auf Rhel, Rocky & Almalinux 8 ------------- # DNF Installieren Sie https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-8.Keinarch.Drehzahl ------------- Installieren Sie den NGINX -Webserver ------------- # yum install nginx installieren 

Notiz: Fedora -Benutzer müssen das Epel -Repository nicht installieren.

Schritt 2: Installieren Sie Let's Encrypt (certbot) in Rhel -Systemen

2. Die schnellste Methode zur Installation des Let's Encrypt -Clients auf Linux -Systemen ist die Installation certbot Und Python3-CertBot-Nginx Pakete aus dem Epel -Repository.

# DNF Install Certbot Python3-CertBot-Nginx 
Installieren Sie Certbot für NGINX auf RHEL -Systemen

3. Nach dem certbot Der Client wurde installiert. Überprüfen Sie die installierte Version von LECS Encrypt -Software, indem Sie den folgenden Befehl ausführen:

# certbot --version certbot 1.30.0 

Schritt 3: Erhalten Sie ein kostenloses, lasst uns das SSL -Zertifikat für NGINX verschlüsseln

4. Der Prozess der Erlangung eines freien Erhalts SSL/TLS -Zertifikat für Nginx wird manuell durch die Verwendung erfolgen Lassen Sie uns Standalone verschlüsseln Plugin.

Diese Methode erfordert diesen Port 80 muss während der Zeit frei sein Lassen Sie uns verschlüsseln Der Client validiert die Identität des Servers und generiert Zertifikate.

Wenn Nginx bereits ausgeführt wird, stoppen Sie den Daemon mit dem folgenden Befehl und führen Sie das SS -Dienstprogramm aus, um zu bestätigen, dass Port 80 im Netzwerkstapel nicht mehr verwendet wird.

# service nginx stop # systemctl stop nginx # ss -tln 
Überprüfen Sie die Hörnetzwerkports-

5. Jetzt ist es Zeit, ein kostenloses SSL -Zertifikat von zu erhalten Lassen Sie uns verschlüsseln durch Ausführen der certbot Befehl mit --nginx So initialisieren Sie das Abrufen und Konfiguration von LECTs Encrypt -Sicherheitszertifikat für Nginx -Domänen.

# certbot -nginx oder # certbot -nginx -d Beispiel.com -d www.Beispiel.com 
Installieren können Zertifikate für Nginx -Domänen verschlüsseln

6. Wenn alles so lief, wie es sollte, wird in Ihrem Bash -Terminal eine gratulatorische Info -Nachricht angezeigt. Die Nachricht wird auch angezeigt, wenn das Zertifikat abläuft.

Die Installation von LetSencrypt

Schritt 4: Installieren Sie das SSL -Zertifikat in Nginx ein

9. Jetzt, wo Sie eine kostenlose besitzen SSL/TLS -Zertifikat, Es ist Zeit, es in Nginx Webserver zu installieren, damit Ihre Domain sie verwendet.

Alle neuen SSL -Zertifikate werden in platziert /etc/letSencrypt/live/ Unter einem nach Ihrem Domainnamen benannten Verzeichnis. Verwenden Sie den Befehl LS, um die für Ihre Domain ausgegebenen Zertifikatdateien aufzulisten und zu identifizieren, und identifizieren Sie diese.

# sudo ls/etc/letSencrypt/live/ # sudo ls -al/etc/letsencrypt/live/your_domain.tld 
LetSencrypt SSL -Zertifikate

10. So installieren Sie die Zertifikatdateien in Nginx und aktivieren Sie SSL, öffnen Sie SSL /etc/nginx/nginx.Conf Datei zum Bearbeiten und Hinzufügen der folgenden Anweisungen nach der letzten Listenzeile aus dem Serverblock. Verwenden Sie die folgende Abbildung als Anleitung.

# vi/etc/nginx/nginx.Conf 

Nginx SSL -Blockauszug:

# SSL -Konfiguration Hören Sie 443 SSL default_server; 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 on; SSL_CIPHERS 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH'; 
Aktivieren Sie HTTPS in der NGINX -Konfiguration

Ersetze das Domain -Name Zeichenfolge für SSL -Zertifikate, die Ihrer eigenen Domain entsprechen,.

11. Schließlich starten Sie neu Nginx Service und besuchen Sie Ihre Domain über das HTTPS -Protokoll unter https: // Ihre Domain. Die Seite sollte reibungslos geladen werden, ohne Zertifikatfehler.

# SystemCTL Neustart Nginx # Service Nginx Neustart 

12. Um die zu überprüfen SSL/TLS Zertifikat und seine Geradheit besuchen den folgenden Link:

https: // www.SSlllabs.com/ssltest/analysieren.html 
Überprüfen Überprüfen Sie das HTTPS -SSL -Zertifikat auf der Domäne

13. Falls Sie eine Benachrichtigung erhalten, dass Ihr Server eine schwache unterstützt Dh Schlüsselaustausch und eine Gesamtbewertung von B Note, eine neue erzeugen Diffie-Hellman Chiffre in /etc/nginx/ssl/ Verzeichnis zum Schutz Ihres Servers vor dem Logjam Angriff durch Ausführen der folgenden Befehle.

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

In diesem Beispiel haben wir a verwendet 4096 Der Bit -Schlüssel, der tatsächlich lange dauert, um Ihren Server und auf SSL -Handshake einen zusätzlichen Overhead zu erheben.

Falls es keine so explizite Notwendigkeit gibt, so lange einen Schlüssel zu verwenden, und Sie nicht zu paranoid sind, sollten Sie mit einem sicher sein 2048 Bit -Schlüssel.

14. Nach Dh Der Schlüssel wurde generiert, die Nginx -Konfigurationsdatei geöffnet und die folgenden Anweisungen nachher hinzufügen SSL_CIPHERS Zeile, um den DH -Schlüssel hinzuzufügen und die Sicherheitsniveau Ihrer Domäne zu einem zu erhöhen A+ Grad.

# vi/etc/nginx/nginx.Conf 

Fügen Sie den folgenden Blockauszug hinzu zu 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 strikt transport-security max-altern = 31536000; 
Fügen Sie der Nginx-Konfiguration Diffie-Hellman-Chiffriken hinzu

15. Neu starten Nginx Service zur Anwendung von Änderungen und zum erneuten Testen Ihres SSL.

# SystemCTL Neustart Nginx # Service Nginx Neustart 
Überprüfen Sie das LetSencrypt -SSL -Zertifikat auf der Website

Schritt 5: Auto Renew Nginx Free lässt SSL -Zertifikate verschlüsseln

16. Lassen Sie uns CA verschlüsseln Veröffentlicht frei SSL/TLS Zertifikate gültig für 90 Tage. Zertifikate können vor dem Ablauf mit dem Webroot -Plugin manuell erneuert und angewendet werden, ohne Ihren Webserver zu stoppen, indem Sie die folgenden Befehle ausgeben:

# certbot -nginx -d Beispiel.com -d www.Beispiel.com # systemctl reload nginx 

Stellen Sie beim Ausführen des obigen Befehls sicher, dass Sie das ersetzen Beispiel.com zu Ihrer Domain entsprechen.

17. Um das Zertifikat automatisch zu erneuern, bevor es abläuft, erstellen Sie den Cron-Job in eine vorhandene Crontab-Datei.

# Crontab -e 

Fügen Sie den folgenden Cron -Job am Ende der Datei hinzu, die jeden Tag um 12.00 Uhr ausgeführt wird, um den Ablauf des Zertifikats zu überprüfen und zu erneuern. Der --ruhig Die Option gibt CertBot an, keine Ausgabe zu generieren.

0 12 * * */usr/bin/certbot renew -quiet 

Das ist alles! Jetzt, Nginx Der Server kann sichere Webinhalte mit einem kostenlosen liefern SSL/TLS Lasst uns verschlüsseln Zertifikat auf Ihrer Website.