Website-Suche

So sichern Sie Apache mit dem kostenlosen Let's Encrypt SSL-Zertifikat unter Ubuntu und Debian


Sie haben einen neu registrierten Domänennamen und Ihr Webserver arbeitet mit einem von Ihnen ausgestellten selbstsignierten SSL-Zertifikat, was Ihren Kunden beim Besuch der Domäne aufgrund der vom Zertifikat generierten Fehler Kopfschmerzen bereitet? Ihr Budget ist begrenzt und Sie können es sich nicht leisten, ein von einer vertrauenswürdigen Zertifizierungsstelle ausgestelltes Zertifikat zu kaufen? Dann kommt die Let's Encrypt-Software ins Spiel und rettet den Tag.

Wenn Sie Let's Encrypt für Apache oder Nginx auf RHEL, CentOS installieren möchten, Fedora oder Ubuntu und Debian, befolgen Sie die folgenden Anleitungen:

Richten Sie Let’s Encrypt ein, um Apache auf RHEL und CentOS 7/6 zu sichern

Richten Sie Let’s Encrypt ein, um Nginx unter Ubuntu und Debian zu sichern

Let's Encrypt ist eine Zertifizierungsstelle (CA), die Ihnen den Erwerb kostenloser SSL/TLS-Zertifikate erleichtert, die Sie für Ihr Unternehmen benötigen Damit der Server sicher läuft und Ihren Benutzern ein reibungsloses und fehlerfreies Surferlebnis ermöglicht.

Beispielumgebung testen

Alle zur Generierung eines Zertifikats erforderlichen Schritte sind für den Apache-Webserver größtenteils automatisiert. Allerdings müssen trotz Ihrer Webserver-Software einige Schritte manuell durchgeführt und die Zertifikate manuell installiert werden, insbesondere wenn der Inhalt Ihrer Website vom Nginx-Daemon bereitgestellt wird.

In diesem Tutorial erfahren Sie, wie Sie die Let's Encrypt-Software auf Ubuntu oder Debian installieren, ein kostenloses Zertifikat für Ihre Domain generieren und erhalten und wie Sie vorgehen Sie können das Zertifikat manuell auf Apache- und Nginx-Webservern installieren.

Anforderungen

  1. Ein öffentlich registrierter Domänenname mit gültigen A-Einträgen, die auf die externe IP-Adresse Ihres Servers verweisen. Falls sich Ihr Server hinter einer Firewall befindet, ergreifen Sie die erforderlichen Maßnahmen, um sicherzustellen, dass Ihr Server weltweit über das Internet erreichbar ist, indem Sie auf der Routerseite Port-Weiterleitungsregeln hinzufügen.
  2. Apache-Webserver mit aktiviertem SSL-Modul und aktiviertem virtuellem Hosting installiert, falls Sie mehrere Domänen oder Subdomänen hosten.

Schritt 1: Apache installieren und SSL-Modul aktivieren

1. Wenn Sie den Apache-Webserver noch nicht auf Ihrem Computer installiert haben, geben Sie den folgenden Befehl ein, um den Apache-Daemon zu installieren.

sudo apt-get install apache2

2. Die Aktivierung des SSL-Moduls für den Apache-Webserver auf Ubuntu oder Debian ist ganz einfach. Aktivieren Sie das SSL-Modul und aktivieren Sie den virtuellen Apache-Standard-SSL-Host, indem Sie die folgenden Befehle ausgeben:

sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo service apache2 restart
or
sudo systemctl restart apache2.service

Besucher können jetzt über das HTTPS-Protokoll auf Ihren Domainnamen zugreifen. Da Ihr selbstsigniertes Serverzertifikat jedoch nicht von einer vertrauenswürdigen Zertifizierungsstelle ausgestellt wurde, wird in deren Browsern eine Fehlermeldung angezeigt, wie im Bild unten dargestellt.

https://yourdomain.com

Schritt 2: Installieren Sie den kostenlosen Let’s Encrypt-Client

3. Um die Let’s Encrypt-Software auf Ihrem Server zu installieren, muss das git-Paket auf Ihrem System installiert sein. Geben Sie den folgenden Befehl ein, um die git-Software zu installieren:

sudo apt-get -y install git

4. Wählen Sie als Nächstes ein Verzeichnis aus Ihrer Systemhierarchie aus, in das Sie das Let’s Encrypt-Git-Repository klonen möchten. In diesem Tutorial verwenden wir das Verzeichnis /usr/local/ als Installationspfad für Let’s Encrypt.

Wechseln Sie in das Verzeichnis /usr/local und installieren Sie denletsencrypt-Client, indem Sie die folgenden Befehle ausführen:

cd /usr/local
sudo git clone https://github.com/letsencrypt/letsencrypt

Schritt 4: Generieren Sie ein SSL-Zertifikat für Apache

5. Der Prozess zum Erhalten eines SSL-Zertifikats für Apache ist dank des Apache-Plugins automatisiert. Generieren Sie das Zertifikat, indem Sie den folgenden Befehl für Ihren Domänennamen ausführen. Geben Sie Ihren Domänennamen als Parameter für das Flag -d an.

cd /usr/local/letsencrypt
sudo ./letsencrypt-auto --apache -d your_domain.tld

Wenn Sie beispielsweise benötigen, dass das Zertifikat auf mehreren Domänen oder Subdomänen funktioniert, fügen Sie alle mit dem Flag -d für jeden zusätzlichen gültigen DNS-Eintrag nach dem Basisdomänennamen hinzu.

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld 

6. Akzeptieren Sie die Lizenz, geben Sie eine E-Mail-Adresse für die Wiederherstellung ein und wählen Sie aus, ob Clients Ihre Domain mit beiden HTTP-Protokollen (sicher und unsicher) durchsuchen können oder alle nicht sicheren Anfragen an HTTPS umleiten können.

7. Nachdem der Installationsvorgang erfolgreich abgeschlossen wurde, wird auf Ihrer Konsole eine Glückwunschmeldung angezeigt, die Sie über das Ablaufdatum informiert und Sie darüber informiert, wie Sie die Konfiguration testen können, wie in den folgenden Screenshots dargestellt.

Jetzt sollten Sie Ihre Zertifikatsdateien im Verzeichnis /etc/letsencrypt/live mit einer einfachen Verzeichnisliste finden können.

sudo ls /etc/letsencrypt/live

8. Um schließlich den Status Ihres SSL-Zertifikats zu überprüfen, besuchen Sie den folgenden Link. Ersetzen Sie den Domänennamen entsprechend.

https://www.ssllabs.com/ssltest/analyze.html?d=your_domain.tld&latest

Außerdem können Besucher jetzt über das HTTPS-Protokoll auf Ihren Domainnamen zugreifen, ohne dass in ihren Webbrowsern Fehler angezeigt werden.

Schritt 4: Automatische Erneuerung ermöglicht die Verschlüsselung von Zertifikaten

9. Standardmäßig sind von der Behörde Let’s Encrypt ausgestellte Zertifikate 90 Tage lang gültig. Um das Zertifikat vor dem Ablaufdatum zu erneuern, müssen Sie den Client manuell erneut ausführen und dabei genau die Flags und Parameter wie zuvor verwenden.

sudo ./letsencrypt-auto --apache -d your_domain.tld

Oder bei mehreren Subdomains:

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld

10. Der Zertifikatserneuerungsprozess kann automatisiert werden, sodass er weniger als 30 Tage vor dem Ablaufdatum ausgeführt wird, indem der Linux-Schedule-Cron-Daemon verwendet wird.

sudo crontab -e

Fügen Sie am Ende der Crontab-Datei den folgenden Befehl hinzu, indem Sie nur eine Zeile verwenden:

0 1 1 */2 * cd /usr/local/letsencrypt && ./letsencrypt-auto certonly --apache --renew-by-default --apache -d domain.tld >> /var/log/domain.tld-renew.log 2>&1

11. Details zu Ihrer Erneuerungsdomänen-Konfigurationsdatei für die Let’s Encrypt-Software finden Sie im Verzeichnis /etc/letsencrypt/renewal/.

cat /etc/letsencrypt/renewal/caeszar.tk.conf

Sie sollten auch die Datei /etc/letsencrypt/options-ssl-apache.conf überprüfen, um die neue SSL-Konfigurationsdatei für den Apache-Webserver anzuzeigen.

12. Außerdem ändert das Let’s Encrypt Apache-Plugin einige Dateien in Ihrer Webserver-Konfiguration. Um zu überprüfen, welche Dateien geändert wurden, listen Sie den Inhalt des Verzeichnisses /etc/apache2/sites-enabled auf.

ls /etc/apache2/sites-enabled/
sudo cat /etc/apache2/sites-enabled/000-default-le-ssl.conf

Das ist alles für jetzt! In der nächsten Reihe von Tutorials wird erläutert, wie Sie ein Let's Encrypt-Zertifikat für Nginx-Webserver unter Ubuntu und Debian< erhalten und installieren können und auch auf CentOS.