Website-Suche

So sichern Sie Nginx mit Let's Encrypt unter CentOS 8


Let’s Encrypt wurde im April 2016 von der Electronic Frontier Foundation (EFF) gegründet und ist ein kostenloses und automatisiertes digitales Zertifikat, das völlig kostenlos TLS-Verschlüsselung für Websites bereitstellt.

Das Ziel des Let’s Encrypt-Zertifikats besteht darin, die Validierung, Erstellung, Signierung sowie automatische Erneuerung des Sicherheitszertifikats zu automatisieren. Dieses Zertifikat ermöglicht verschlüsselte Verbindungen zu Webservern über das HTTPS-Protokoll auf einfache, problemlose und unkomplizierte Weise. Das Zertifikat ist nur 90 Tage gültig, danach kann die automatische Verlängerung aktiviert werden.

Empfohlene Lektüre:So sichern Sie Apache mit dem SSL-Zertifikat von Let’s Encrypt unter CentOS 8

In diesem Artikel zeigen wir, wie Sie Let's Encrypt installieren können, um ein kostenloses SSL-Zertifikat zur Sicherung des Nginx-Webservers unter CentOS 8 zu erhalten ( Dieselbe Anleitung funktioniert auch auf RHEL 8). Außerdem erklären wir Ihnen, wie Sie Ihr SSL-Zertifikat automatisch erneuern.

Voraussetzungen

Bevor wir fortfahren, stellen wir sicher, dass Sie Folgendes überprüft haben.

1. Ein vollqualifizierter Domänenname (FQDN), der auf eine dedizierte IP-Adresse des Webservers verweist. Dies muss im Client-Bereich Ihres DNS-Webhosting-Anbieters konfiguriert werden. Für dieses Tutorial verwenden wir den Domänennamen linuxtechwhiz, der auf die IP-Adresse 34.70.245.117 verweist.

2. Sie können dies auch bestätigen, indem Sie wie gezeigt eine Vorwärtssuche mit dem Befehl dig durchführen.

dig linuxtechwhiz.info

3. Nginx ist auf dem Webserver installiert und läuft. Sie können dies bestätigen, indem Sie sich am Terminal anmelden und den folgenden Befehl ausführen. Wenn Nginx nicht installiert ist, folgen Sie unserem Artikel zur Installation von Nginx unter CentOS 8.

sudo systemctl status nginx

4. Sie können dies auch überprüfen, indem Sie die URL des Webservers in einem Webbrowser aufrufen.

http://server-IP-or-hostname

Anhand der URL können wir deutlich erkennen, dass die Seite nicht sicher und daher nicht verschlüsselt ist. Dies bedeutet, dass alle an den Webserver gestellten Anfragen abgefangen werden können, einschließlich kritischer und vertraulicher Informationen wie Benutzernamen, Passwörter, Sozialversicherungsnummern und Kreditkarteninformationen, um nur einige zu nennen.

Jetzt machen wir uns an die Arbeit und installieren Let’s Encrypt.

Schritt 1. Installieren Sie Certbot in CentOS 8

Um das Let’s Encrypt-Zertifikat zu installieren, muss zunächst certbot installiert sein. Dies ist ein erweiterbarer Client, der ein Sicherheitszertifikat von Let's Encrypt Authority abruft und es Ihnen ermöglicht, die Validierung und Konfiguration des Zertifikats für die Verwendung durch den Webserver zu automatisieren.

Laden Sie certbot mit dem Befehl „curl“ herunter.

sudo curl -O https://dl.eff.org/certbot-auto

Als nächstes verschieben Sie das Zertifikat in das Verzeichnis /usr/local/bin.

sudo mv certbot-auto /usr/local/bin/certbot-auto

Weisen Sie der Certbot-Datei als Nächstes wie gezeigt eine Dateiberechtigung zu.

chmod 0755 /usr/local/bin/certbot-auto

Schritt 2. Konfigurieren Sie den Nginx-Serverblock

Ein Serverblock in Nginx entspricht einem virtuellen Host in Apache. Durch die Einrichtung von Serverblöcken können Sie nicht nur mehrere Websites auf einem Server einrichten, sondern Certbot auch den Besitz der Domain gegenüber der Certificate Authority – CA nachweisen.

Um einen Serverblock zu erstellen, führen Sie den angezeigten Befehl aus.

sudo vim /etc/nginx/conf.d/www.linuxtechwhiz.info

Stellen Sie sicher, dass Sie den Domänennamen durch Ihren eigenen Domänennamen ersetzen. Fügen Sie dann die Konfiguration unten ein.

server {
   server_name www.linuxtechwhiz.info;
   root /opt/nginx/www.linuxtechwhiz.info;

   location / {
       index index.html index.htm index.php;
   }

   access_log /var/log/nginx/www.linuxtechwhiz.info.access.log;
   error_log /var/log/nginx/www.linuxtechwhiz.info.error.log;

   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}

Speichern Sie die Datei und beenden Sie den Texteditor.

Schritt 3: Installieren Sie das Lets Encrypt-Zertifikat unter CentOS 8

Verwenden Sie nun den Befehl certbot, um den Abruf und die Konfiguration des Let’s Encrypt-Sicherheitszertifikats zu initialisieren.

sudo /usr/local/bin/certbot-auto --nginx

Dieser Befehl führt und installiert mehrere Python-Pakete und ihre Abhängigkeiten wie gezeigt.

Darauf folgt eine interaktive Eingabeaufforderung wie gezeigt:

Wenn alles gut gelaufen ist, sollten Sie ganz am Ende eine Glückwunschnachricht sehen können.

Um zu bestätigen, dass Ihre Nginx-Site verschlüsselt ist, laden Sie die Webseite neu und beobachten Sie das Vorhängeschlosssymbol am Anfang der URL. Dies weist darauf hin, dass die Website durch eine SSL/TLS-Verschlüsselung gesichert ist.

Um weitere Informationen zum Sicherheitszertifikat zu erhalten, klicken Sie auf das Vorhängeschloss-Symbol und wählen Sie die Option „Zertifikat“.

Weitere Informationen zum Sicherheitszertifikat werden wie unten dargestellt angezeigt.

Um außerdem die Stärke des Sicherheitszertifikats zu testen, gehen Sie zu https://www.ssllabs.com/ssltest/ und finden Sie dort eine genauere und ausführlichere Analyse des Status des Sicherheitszertifikats.

Schritt 4. Erneuern des Let's Encrypt-Zertifikats

Wie wir bereits gesehen haben, ist das Sicherheitszertifikat nur für die Dauer von 90 Tagen gültig und muss vor Ablauf erneuert werden.

Sie können den Zertifikatserneuerungsprozess simulieren oder testen, indem Sie den folgenden Befehl ausführen:

sudo /usr/local/bin/certbot-auto renew --dry-run

Abschluss

Damit ist dieses Tutorial zum Sichern von Nginx mit Let’s Encrypt unter CentOS 8 abgeschlossen. Let’s Encrypt bietet eine effektive und problemlose Möglichkeit, Ihren Nginx-Webserver zu sichern, was sonst eine komplexe manuelle Angelegenheit wäre.

Ihre Website sollte jetzt vollständig verschlüsselt sein. Einige Wochen vor dem Ablaufdatum des Zertifikats werden Sie von EFF per E-Mail benachrichtigt, um das Zertifikat zu erneuern, um Unterbrechungen zu vermeiden, die aufgrund eines abgelaufenen Zertifikats entstehen können. Das ist alles für heute!