GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So sichern Sie Nginx mit Lets Encrypt auf Ubuntu 20.04 / 18.04

Einführung

Jede Website, die Besucher anziehen möchte, muss eine SSL/TLS-Verschlüsselung für ihre Domain enthalten. SSL/TLS-Zertifikate gewährleisten eine sichere Verbindung zwischen Ihrem Webserver und Browsern.

Let’s Encrypt ist eine kostenlose Zertifizierungsstelle, mit der Sie einen solchen Schutz einrichten können. Dies ist der einfachste Weg, Ihren Nginx-Server zu sichern.

In diesem Artikel finden Sie die einfachste Möglichkeit, Ihren Nginx-Server zu sichern, indem Sie Let’s Encrypt-Zertifikate mit der Certbot-Software erhalten.

Voraussetzungen

  • Ein System, auf dem Ubuntu 20.04 (oder Ubuntu 18.04) ausgeführt wird
  • Zugriff auf ein Terminalfenster/eine Befehlszeile
  • Sudo oder root Privilegien auf lokalen/entfernten Rechnern
  • Nginx installiert und eingerichtet
  • Ein registrierter Domainname
  • Ein für diesen Domainnamen konfigurierter Serverblock

So sichern Sie Nginx mit Let's Encrypt auf Ubuntu 20.04

Schritt 1:Certbot installieren

Certbot ist ein Open-Source-Softwaretool zum automatischen Aktivieren von HTTPS mithilfe von Let’s Encrypt-Zertifikaten.

Der erste Schritt zur Sicherung von Nginx mit Let’s Encrypt ist die Installation von Certbot. Öffnen Sie dazu zunächst ein Terminalfenster und aktualisieren Sie das lokale Repository:

sudo apt update

Laden Sie dann Certbot und sein Nginx-Plugin herunter und installieren Sie es, indem Sie Folgendes ausführen:

sudo apt install certbot python3-certbot-nginx

Geben Sie y ein Bestätigen Sie die Installation und drücken Sie die Eingabetaste.

Schritt 2:Überprüfen Sie die Nginx-Konfiguration

Wie in den Voraussetzungen erwähnt, sollten Sie bereits über eine registrierte Domain und einen Nginx-Serverblock für diese Domain verfügen. Als Beispiel verwendet dieser Artikel die Domain example.com .

Um zu überprüfen, ob es richtig eingerichtet ist, öffnen Sie die Nginx-Konfigurationsdatei:

sudo nano /etc/nginx/sites-available/example.com

Suchen Sie dann server_name Direktive und vergewissern Sie sich, dass sie auf Ihren Domainnamen eingestellt ist. Da Sie den Domainnamen mit und ohne www. einfügen möchten Präfix, sollte die Zeile wie folgt aussehen:

server_name example.com www.example.com;

Schritt 3:Passen Sie die Firewall an, um HTTPS-Datenverkehr zuzulassen

Der nächste Schritt besteht darin, die Firewall so anzupassen, dass sie HTTPS-Verkehr zulässt.

Wenn Sie der Nginx-Installationsanleitung gefolgt sind, haben Sie Ihre Firewall bereits aktiviert, um Nginx HTTP zuzulassen. Während Sie Let’s Encrypt-Zertifikate hinzufügen, müssen Sie die Firewall für verschlüsselten Datenverkehr konfigurieren.

1. Um sicherzustellen, dass Ihre Firewall aktiv ist und HTTPS-Datenverkehr zulässt, führen Sie den folgenden Befehl aus:

sudo ufw status

Die Ausgabe sollte Ihnen mitteilen, dass UFW aktiv ist, und Ihnen eine Liste festgelegter Regeln geben. Im folgenden Beispiel wird gezeigt, dass die Firewall Nginx-HTTP-Verkehr zulässt, aber kein HTTPS.

Nginx hat drei (3) Profile, die Sie als Regeln hinzufügen können:

  • Nginx-HTTP (öffnet Port 80)
  • Nginx-HTTPS (öffnet Port 443 – verschlüsselter Datenverkehr)
  • Nginx voll (öffnet Port 80 und 443)

2. Um verschlüsselten Datenverkehr zuzulassen, können Sie entweder Nginx HTTPS hinzufügen Profil oder verwenden Sie Nginx Full und löschen Sie die vorhandene Nginx-HTTP-Regel:

a) Erlauben Sie Nginx-HTTPS-Datenverkehr, indem Sie den folgenden Befehl ausführen:

sudo ufw allow 'Nginx HTTPS'

b) Entfernen Sie Nginx HTTP und verwenden Sie stattdessen Nginx Full mit:

sudo ufw deny 'Nginx HTTP'
sudo ufw allow 'Nginx Full'

3. Überprüfen Sie, ob Sie eine Regel hinzugefügt haben, die HTTPS-Datenverkehr zulässt, indem Sie den ufw status verwenden Befehl.

Schritt 4:Erhalten Sie das SSL/TLS-Zertifikat

Das Plugin von Nginx für Certbot konfiguriert Nginx neu und lädt seine Konfiguration bei Bedarf neu. Daher müssen Sie lediglich Zertifikate mit dem NGINX-Plug-in generieren.

1. Führen Sie dazu den folgenden Befehl aus:

sudo certbot --nginx -d example.com -d www.example.com

2. Die Ausgabe fordert Sie auf, Ihre HTTPS-Einstellungen zu konfigurieren. Geben Sie Ihre E-Mail-Adresse ein und stimmen Sie den Nutzungsbedingungen zu, um fortzufahren.

3. Sobald Sie HTTPS konfiguriert haben, schließt Certbot die Generierung des Zertifikats ab und lädt Nginx mit den neuen Einstellungen neu.

4. Schließlich zeigt die Ausgabe an, dass Sie erfolgreich ein Zertifikat generiert haben, und gibt den Speicherort des Zertifikats auf Ihrem Server an.

Schritt 5:Automatische Zertifikatserneuerung aktivieren

Da Let’s Encrypt-Zertifikate alle 90 Tage ablaufen, empfiehlt Nginx, einen Cron-Job einzurichten und automatisch zu verlängern.

1. Öffnen Sie zunächst die crontab-Konfigurationsdatei für den aktuellen Benutzer:

crontab -e

2. Fügen Sie einen Cron-Job hinzu, der den certbot ausführt Befehl, der das Zertifikat erneuert, wenn er feststellt, dass das Zertifikat innerhalb von 30 Tagen abläuft. Planen Sie es so, dass es täglich zu einer bestimmten Zeit ausgeführt wird (in diesem Beispiel um 05:00 Uhr):

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

Der Cron-Job sollte auch den --quiet enthalten -Attribut, wie im obigen Befehl. Dies weist certbot an, nach der Ausführung der Aufgabe keine Ausgabe einzuschließen.

3. Nachdem Sie den Cron-Job hinzugefügt haben, speichern Sie die Änderungen und beenden Sie die Datei.


Ubuntu
  1. Sichern Sie Nginx mit Lets Encrypt auf Ubuntu 18.04

  2. Sichern Sie Nginx mit Let’s Encrypt auf Ubuntu 18.04 – wie geht das?

  3. So sichern Sie Nginx mit Letsencrypt unter Ubuntu 20.04

  4. So sichern Sie Nginx mit Let’s Encrypt unter Ubuntu 20.04

  5. So sichern Sie Apache mit Lets Encrypt unter Ubuntu 18.04

So installieren Sie Grav CMS mit Nginx und Lets Encrypt unter Ubuntu 18.04 LTS

So installieren Sie Webmin und sichern es mit Lets Encrypt SSL unter Ubuntu 20.04 LTS

So installieren Sie Moodle mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie SonarQube mit Lets Encrypt unter Ubuntu 20.04

So sichern Sie Nginx mit Let’s Encrypt unter Ubuntu 20.04

So sichern Sie Ihre Website mit Let’s Encrypt auf Ubuntu 20.04