GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Sichern Sie Nginx mit Let’s Encrypt SSL auf Debian 10/11

Übersicht

Im folgenden Beitrag behandeln wir das Verfahren zum Sichern von Nginx mit Let’s Encrypt SSL auf einem Debian 10-Rechner (Dieses Verfahren kann auch auf Debian 11 angewendet werden). Der Beitrag zeigt das Szenario, in dem wir certbot auf unserem Debian-Rechner installieren und das SSL-Zertifikat von Let’s Encrypt erhalten, die automatische HTTPS-Umleitung einrichten und auch die Zertifikatserneuerung testen müssen. Hier haben wir bereits einen Debian-Rechner mit vorinstalliertem Nginx, auf dem wir die Schritte zum Sichern von nginx mit let’s encrypt ssl durchgehen werden.

Anforderungen

1.. Registriert und validiert einen Domainnamen, der auf Ihren Debian-Server zeigt.

2.. Debian 10-Server (oder Debian 11-Server)

3. Nginx-Webserver installiert und ausgeführt

4.. Firewall-Konfiguration (offene HTTP- und HTTPS-Ports)

Wenn Sie eine UFW- oder IPTABLES-Firewall haben, müssen Sie diese so konfigurieren, dass sie die Ports 80 und 443 für HTTP und HTTPS öffnen, um nicht nur Ihre Website zu hosten

UFW

sudo ufw allow http
sudo ufw allow https

IPTABLES

sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

or

sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

Certbot-Installation

Wir werden das Let’s Encrypt-Tool Cerbot verwenden, um das SSL-Zertifikat und das Nginx-Plugin auch für certbot zu erhalten. Beide Tools helfen uns, das Zertifikat sehr einfach und schnell zu erhalten und auch die notwendigen Konfigurationsänderungen auf Nginx vorzunehmen. Darüber hinaus verfügen die Tools über Automatisierungsfunktionen, sodass sie das Zertifikat nach Ablauf von SSL erneuern und erneut installieren können.

sudo apt install certbot python3-certbot-nginx

Erwerben Sie das SSL-Zertifikat von Let’s Encrypt

Sobald Sie bestätigt haben, dass Ports auf der Firewall geöffnet sind und Sie die Installation von certbot abgeschlossen haben. Um das SSL-Zertifikat von Let’s encrypt zu erwerben, müssen wir nur den folgenden Befehl ausführen:

sudo certbot --nginx -d yourdomain.com

Eine Anmerkung – bevor Sie den Befehl ausführen, müssen Sie zuerst in Ihrer nginx-Konfigurationsdatei in den server_name-Parameter den tatsächlichen Domänennamen schreiben, den Sie auf Ihren Server verwiesen haben. Certbot sucht in Ihrer Serverblockkonfiguration nach diesem Parameter und erstellt die Let’s encrypt-Konfigurationsdateien gemäß diesem Parameter. Beispiel in einem Bild unten:

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

Wenn Sie diesen Befehl ausführen, wird der certbot-Assistent gestartet. Wenn Sie den Cerbot zum ersten Mal ausführen, werden Sie zunächst aufgefordert, eine E-Mail-Adresse anzugeben, die als Kontakt verwendet werden soll, und den Lizenzbedingungen von Let’s encrypt zuzustimmen.

Danach führt es die HTTP-Challenge aus, ruft das Zertifikat ab und fragt Sie am Ende, ob Sie sofort die https-Umleitung konfigurieren möchten, was ebenfalls eine gute Option ist.

Sobald die Umleitungskonfiguration abgeschlossen ist, sollte die neue Domain mit SSL-Zertifikat sofort funktionieren.

Automatische Verlängerung einrichten und testen

Zertifikate von Let’s encrypt sind standardmäßig drei Monate lang gültig und die automatische Erneuerung des Cerbots ist so konfiguriert, dass das Zertifikat mindestens einmal erneuert wird, wenn das Zertifikat weniger als 30 Tage gültig ist. Sobald das SSL-Zertifikat erworben, gültig und aktiv ist, verdoppeln Sie, ob der Timer-Dienst des Certbots aktiv ist und ausgeführt wird, und testen Sie den Erneuerungsprozess mit der Probelaufoption:

sudo systemctl status certbot.timer

sudo certbot renew --dry-run

Überprüfen Sie die Nginx-Konfiguration

Sie können die nginx-Konfiguration noch einmal überprüfen, wenn der Cerbot die Konfiguration für SSL-Zertifikate und für die HTTPS-Umleitung erfolgreich geschrieben hat. Cerbot startet nginx neu, sobald es mit der Konfiguration fertig ist. Ihre Domain/Website sollte gesichert sein und mit aktivem SSL ausgeführt werden.

Zusammenfassung

Zusammenfassend haben wir die Schritte zum Sichern von Nginx mit Let’s Encrypt SSL auf Debian 10-Rechnern und auch auf Debian 11-Rechnern durchlaufen. Wir haben das certbot-Tool von let’s encrypt für SSL-Zertifikatsanfragen und seine automatische Verlängerung verwendet. Zum Glück für certbot und sein nginx-Plugin ist der Prozess wirklich einfach und unkompliziert und schnell abzuschließen. Ein Vorschlag dazu ist – es wäre eine gute Option, ein Backup des Ordners let’s encrypt zu haben und es regelmäßig zu sichern (wie certbot selbst vorgeschlagen hat). Dies ist natürlich optional und hängt davon ab, wie Sie die Häufigkeit der Zertifikatserneuerung eingestellt haben.

Der Dienst Let’s encrypt ist zwar kostenlos und in der Tech-Welt sehr beliebt, aber er ist eine gute Option, um einige Arten von Websites zu sichern. Es wird jedoch nicht empfohlen, ihre kostenlosen Zertifikate beispielsweise auf E-Commerce-Websites oder auf Websites zu verwenden, die sehr sensible Daten (Kreditkarten und ähnliches) weitergeben und speichern müssen. Aus diesem Grund wird standardmäßig eine kurze Erneuerungszeit für SSL-Zertifikate empfohlen. In diesem Sinne ist Let’s encrypt nicht die einzige kostenlose Option. Cloudflare hat die gleiche Option, um kostenlose SSLs bereitzustellen, und kann auch zum Sichern Ihrer Nginx-Website verwendet werden. Wenn Sie an dieser Option interessiert sind, können Sie sich den Beitrag unter diesem Link ansehen.


Debian
  1. Sichern Sie Nginx mit Lets Encrypt unter CentOS 7

  2. Sichern Sie Nginx mit Lets Encrypt auf Debian 9

  3. Sichern Sie Apache2 mit Let’s Encrypt SSL auf Debian 10/11

  4. Installieren Sie WordPress mit Nginx auf Debian 10/11

  5. So sichern Sie Nginx mit SSL und Let’s Encrypt in FreeBSD

So installieren Sie WordPress mit Nginx und Let’s Encrypt SSL unter Debian 11

So richten Sie das Let’s Encrypt SSL-Zertifikat mit Nginx unter Ubuntu 18.04 und Ubuntu 16.04 ein

Installieren und konfigurieren Sie Webmin mit dem kostenlosen Let’s Encrypt SSL-Zertifikat auf Debian 10

So sichern Sie Apache mit Let’s Encrypt SSL-Zertifikat auf CentOS 8

Sichern Sie Nginx mit Let’s Encrypt SSL-Zertifikat auf Ubuntu 18.04

So sichern Sie Nginx mit dem Let’s Encrypt SSL-Zertifikat