So konfigurieren Sie die Verschlüsselung von Zertifikaten für mehrere virtuelle Apache-Hosts unter Ubuntu 14.04

Einführung

SSL-Zertifikate werden auf Webservern verwendet, um den Datenverkehr zwischen Server und Client zu verschlüsseln. Dies bietet zusätzliche Sicherheit für Benutzer, die auf Ihre Anwendung zugreifen. Let’s Encrypt bietet eine einfache Möglichkeit, vertrauenswürdige Zertifikate kostenlos abzurufen und zu installieren.

Dieses Tutorial zeigt Ihnen, wie Sie TLS / SSL-Zertifikate von Let’s Encrypt einrichten, um mehrere virtuelle Hosts auf Apache innerhalb eines Ubuntu 14.04-Servers zu sichern.

Wir werden auch erläutern, wie der Prozess der Zertifikatserneuerung mithilfe eines Cron-Jobs automatisiert wird.

Voraussetzungen

Um diesen Leitfaden zu vervollständigen, benötigen Sie:

Es ist wichtig, dass jeder virtuelle Host in einer eigenen Konfigurationsdatei eingerichtet ist und extern über einen Browser aufgerufen werden kann. Eine ausführliche Anleitung zum richtigen Einrichten von virtuellen Apache-Hosts unter Ubuntu finden Sie unter https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16 -04 [dieser Link].

Für diesen Leitfaden installieren wir Let’s Encrypt-Zertifikate für die Domänen "+ example.com " und " test.com +". Auf diese wird im gesamten Handbuch verwiesen, Sie sollten sie jedoch durch Ihre eigenen Domänen ersetzen, während Sie den Anweisungen folgen.

Wenn Sie bereit sind, fortzufahren, melden Sie sich mit Ihrem sudo-Konto bei Ihrem Server an.

[[step-1---download-the-let’s-encrypt-client]] === Schritt 1 - Laden Sie den Let’s Encrypt Client herunter

Der erste Schritt zur Verwendung von Let’s Encrypt zum Abrufen eines SSL-Zertifikats besteht darin, die Software "+ certbot +" auf Ihrem Server zu installieren. Die Certbot-Entwickler unterhalten ein eigenes Ubuntu-Software-Repository mit aktuellen Versionen der Software. Da sich Certbot in einer solchen aktiven Entwicklung befindet, lohnt es sich, dieses Repository zu verwenden, um einen neueren Certbot als den von Ubuntu bereitgestellten zu installieren.

Fügen Sie zunächst das Repository hinzu:

sudo add-apt-repository ppa:certbot/certbot

Sie müssen + ENTER drücken, um zu akzeptieren. Aktualisieren Sie anschließend die Paketliste, um die Paketinformationen des neuen Repositorys abzurufen:

sudo apt-get update

Und zum Schluss installieren Sie Certbot aus dem neuen Repository mit + apt-get:

sudo apt-get install python-certbot-apache

Der "+ certbot +" Let’s Encrypt-Client kann jetzt verwendet werden.

Schritt 2 - Richten Sie die Zertifikate ein

Das Generieren eines SSL-Zertifikats für Apache mit dem "+ certbot +" Let’s Encrypt-Client ist ganz einfach. Der Client erhält und installiert automatisch ein neues SSL-Zertifikat, das für die als Parameter angegebenen Domänen gültig ist.

Obwohl es möglich ist, mehrere Let’s Encrypt-Zertifikate zusammen zu bündeln, wird empfohlen, dass Sie separate Zertifikate für eindeutige Domänennamen erstellen, auch wenn die Domänennamen unterschiedlich sind. Als Faustregel gilt, dass nur Subdomains einer bestimmten Domain gebündelt werden sollten.

Generierung des ersten SSL-Zertifikats

Zunächst richten wir das SSL-Zertifikat für den ersten virtuellen Host ein, "+ example.com +".

Wir führen die interaktive Installation durch und erhalten ein gebündeltes Zertifikat, das für eine Domain und eine Subdomain gültig ist, nämlich "+ example.com " als Basisdomain und " www.example.com +" als Subdomain. Sie können zusätzliche Subdomains, die derzeit in Ihrem Apache-Setup konfiguriert sind, entweder als virtuelle Hosts oder als Aliase einbeziehen.

Führen Sie den Befehl + certbot + mit folgendem Befehl aus:

sudo certbot --apache -d  -d

Beachten Sie, dass der erste Domänenname in der Liste der Parameter die * base * -Domäne ist, die von Let’s Encrypt zum Erstellen des Zertifikats verwendet wird. Aus diesem Grund wird empfohlen, den bloßen Domänennamen der obersten Ebene als ersten in der Liste zu übergeben durch zusätzliche Subdomains oder Aliase.

In diesem Beispiel lautet die * base * -Domäne + example.com +.

Nach der Installation der Abhängigkeiten wird eine schrittweise Anleitung zum Anpassen Ihrer Zertifikatoptionen angezeigt. Sie werden aufgefordert, eine E-Mail-Adresse für die Wiederherstellung verlorener Schlüssel und Benachrichtigungen anzugeben. Sie können wählen, ob Sie den Zugriff auf "+ http " und " https " aktivieren oder alle Anforderungen zur Weiterleitung an " https +" zwingen möchten.

Wenn die Installation abgeschlossen ist, sollten Sie in der Lage sein, die generierten Zertifikatsdateien unter + / etc / letsencrypt / live + zu finden. Sie können den Status Ihres SSL-Zertifikats über den folgenden Link überprüfen (vergessen Sie nicht, ihn durch Ihre * base * -Domain zu ersetzen):

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

Sie sollten nun in der Lage sein, mit einem "+ https +" - Präfix auf Ihre Website zuzugreifen.

Generierung des zweiten SSL-Zertifikats

Das Generieren von Zertifikaten für Ihre zusätzlichen virtuellen Hosts sollte nach demselben Verfahren erfolgen, das im vorherigen Schritt beschrieben wurde.

Wiederholen Sie den Befehl zum Installieren des Zertifikats jetzt mit dem zweiten virtuellen Host, den Sie mit Let’s Encrypt sichern möchten:

sudo certbot --apache -d  -d

In diesem Beispiel lautet die * base * -Domäne + test.com +.

Sie können den Status Ihres SSL-Zertifikats erneut über den folgenden Link überprüfen (vergessen Sie nicht, ihn durch Ihre * base * -Domain zu ersetzen):

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

Wenn Sie Zertifikate für zusätzliche virtuelle Hosts generieren möchten, wiederholen Sie einfach den Vorgang und vergessen Sie nicht, die leere Top-Level-Domain als Ihre * Base * -Domain zu verwenden.

Schritt 3 - Automatische Verlängerung einrichten

Let´s Encrypt-Zertifikate sind nur neunzig Tage gültig. Dies soll Benutzer dazu ermutigen, ihren Zertifikaterneuerungsprozess zu automatisieren. Wir müssen einen regelmäßig ausgeführten Befehl einrichten, um zu überprüfen, ob Zertifikate abgelaufen sind, und sie automatisch zu erneuern.

Um die Erneuerungsprüfung täglich durchzuführen, verwenden wir + cron +, einen Standardsystemdienst zum Ausführen von periodischen Jobs. Wir sagen + cron +, was zu tun ist, indem wir eine Datei mit dem Namen + crontab + öffnen und bearbeiten.

sudo crontab -e

Ihr Texteditor öffnet die Standard-Crontab, eine Textdatei mit Hilfetext. Füge die folgende Zeile am Ende der Datei ein, speichere und schließe sie:

crontab

. . .
15 3 * * * /usr/bin/certbot renew --quiet

Der Teil "+15 3 * * * +" in dieser Zeile bedeutet "jeden Tag um 3:15 Uhr folgenden Befehl ausführen". Sie können jederzeit wählen.

Mit dem Befehl "+ renew " für Certbot werden alle auf dem System installierten Zertifikate überprüft und alle Zertifikate aktualisiert, deren Ablauf in weniger als 30 Tagen festgelegt wurde. ` - quiet +` weist Certbot an, keine Informationen auszugeben oder auf Benutzereingaben zu warten.

+ cron + führt diesen Befehl nun täglich aus. Da wir unsere Zertifikate mit dem Plugin "+ - apache +" installiert haben, wird auch Apache neu geladen, um sicherzustellen, dass die neuen Zertifikate verwendet werden.

Fazit

In diesem Handbuch wurde beschrieben, wie Sie kostenlose SSL-Zertifikate von Let’s Encrypt installieren, um mehrere virtuelle Hosts auf Apache zu sichern. Wir empfehlen, dass Sie von Zeit zu Zeit im offiziellen Lets Encrypt-Blog nach wichtigen Updates suchen.