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

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

Übersicht

Im folgenden Beitrag zeigen wir das Verfahren zum Sichern von Apache2 mit Let’s Encrypt SSL unter Debian 10 (dieses Verfahren funktioniert auch unter Debian 11). 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 Apache, auf dem wir die Schritte zum Sichern von Apache2 mit Let’s Encrypt SSL durchgehen werden.

Anforderungen

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

2. Debian 10-Server (oder Debian 11)

3. Apache-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

Apache2 mit Let’s Encrypt SSL auf Debian sichern

Certbot-Installation

Wir werden das Let’s Encrypt-Tool Cerbot verwenden, um das SSL-Zertifikat und das Apache2-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 Apache2 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

Eine Anmerkung – bevor Sie den Befehl ausführen, müssen Sie zuerst in Ihrer nginx-Konfigurationsdatei in den ServerName-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/apache2/sites-available/000-default.conf

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 --apache -d yourdomain.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 Apache-Konfiguration

Sie können die Apache-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 den Apache neu, sobald die Konfiguration abgeschlossen ist. Ihre Domain/Website sollte gesichert sein und mit aktivem SSL ausgeführt werden.

Zusammenfassung

Zusammenfassend haben wir die Schritte zum Sichern von Apache2 mit Let’s Encrypt SSL auf Debian 10-Rechnern und 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 Apache-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.


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

  2. Sichern Sie Apache mit Lets Encrypt unter Debian 9

  3. Sichern Sie Nginx 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 Drupal mit Nginx und Let’s Encrypt SSL unter Debian 11

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

So installieren Sie Let’s Encrypt SSL in Nginx unter Debian 11

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

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

So installieren und konfigurieren Sie Apache mit Let’s Encrypt TLS/SSL unter Debian 11 Bullseye