In diesem Artikel werden wir den Prozess der Installation und Konfiguration untersuchen Certbot auf einem Linux-Server. Wir erklären im Detail So erhalten Sie ein Let's Encrypt SSL/TLS-Zertifikat für Ihre Domain. Wir beschreiben außerdem, wie Sie es auf einem Webserver (z. B. Nginx oder Apache) installieren und automatische Zertifikatserneuerungen einrichten, um eine dauerhaft sichere Verbindung mit Ihrer Webressource zu gewährleisten.
Certbot ist ein kostenloses Open-Source-Tool für die automatische Erfassung und Erneuerung von SSL/TLS-ZertifikateEs spielt eine entscheidende Rolle bei der Sicherung der Verbindung zwischen Server und Client und schützt Daten vor unbefugtem Zugriff. Certbot vereinfacht die Installation und Erneuerung eines SSL-Zertifikats. Das Zertifikat erhöht nicht nur die Sicherheit, sondern stärkt auch das Vertrauen der Nutzer in Ihre Webressource und verbessert so sowohl deren Reputation als auch ihr Suchmaschinenranking.
Certbot installieren
Certbot ist standardmäßig in den meisten Distributionen enthalten. Um es zu installieren, Debian / Ubuntu Systeme müssen Sie nur die Paketliste aktualisieren:
apt update
Starten Sie dann den Installationsvorgang:
apt install certbot
Certbot unterstützt Plugins, die die Einrichtung und Konfiguration des Zertifikats für einen Webserver erleichtern. Um diese Plugins zu installieren, verwenden Sie den entsprechenden Befehl:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
Der Installationsprozess für Red Hat Systeme (wie z RHEL, CentOS, Fedora) ist etwas anders. Zunächst müssen Sie das EPEL-Repository hinzufügen:
yum install epel-release
Installieren Sie anschließend das Tool:
yum install certbot
Ebenso besteht die Möglichkeit, ein Plugin für einen bestimmten Webserver auszuwählen:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
Nach der Installation können Sie sofort mit der Beantragung des Zertifikats fortfahren.
Erhalten eines SSL-Zertifikats
In diesem Abschnitt wird der Prozess zum Erhalt eines Zertifikats unabhängig von einem bestimmten Webserver erläutert. Anschließend wird die Installation des Zertifikats für Nginx und Apache beschrieben. Es ist jedoch wichtig, zunächst die Syntax und Funktionsweise des Programms zu verstehen. Es sieht wie folgt aus:
certbot command option -d domain
Zu den wichtigsten Befehlen gehören:
certbot certonly - Ruft das Zertifikat ab, installiert es aber nicht.certbot certificates – Dieser Befehl zeigt eine Liste aller installierten Zertifikate an.certbot renew - Erweitert das bestehende Zertifikat.certbot revoke - Widerruft das bestehende Zertifikat.certbot delete - Löscht das vorhandene Zertifikat.
Die am häufigsten verwendeten Optionen sind:
--nginx – Verwendet Nginx-Konfigurationsskripte zur Domänenüberprüfung.--apache - Verwendet Apache-Konfigurationsskripte zur Domänenüberprüfung.-d - Eine Liste der Domänen, für die das Zertifikat angefordert wird.--standalone - Verwendet den Standalone-Modus zur Domänenüberprüfung.--manual - Führt eine manuelle Domänenüberprüfung durch.
Dies ist nur ein Beispiel für die häufigsten Befehle und Optionen. Die vollständige Liste der Programmfunktionen finden Sie in der Hilfe:
certbot –help
Wir fahren nun mit der Beantragung des Zertifikats fort. Als Beispiel besorgen wir uns ein Zertifikat für eine virtuellen Server für eine kostenlose Third-Level-Domain wie IhrBenutzername.pserver.space
Zuerst müssen Sie den folgenden Befehl eingeben:
certbot certonly
Als Antwort werden Sie vom Dienstprogramm aufgefordert, eine Methode zur Überprüfung des Domänenbesitzes auszuwählen:
Die erste Option ist praktisch, wenn Sie keinen konfigurierten Webserver haben oder keine Änderungen an einem bestehenden vornehmen möchten. Diese Methode erstellt einen temporären Webserver, um Ihre Rechte an der Domain zu bestätigen. Sie eignet sich ideal für eine einfache und schnelle Einrichtung. Bei dieser Methode ist es wichtig, Port 80 frei zu halten.
Die zweite Option ist vorzuziehen, wenn Sie bereits einen Webserver betreiben und diesen zur Überprüfung der Domainrechte nutzen möchten. Certbot legt spezielle Dateien in einem Ordner auf Ihrem Server ab, die dann vom Zertifizierungszentrum geprüft werden.
Wir wählen die erste Option und klicken auf Weiter. In dieser Phase müssen Sie:
- Geben Sie eine E-Mail-Adresse ein;
- Stimmen Sie den Servicebedingungen zu;
- Dem Empfang von E-Mails im Namen des Unternehmens und seiner Partner zustimmen oder ihn ablehnen;
- Geben Sie den Domänennamen an, für den das Zertifikat ausgestellt ist.
Nach Abschluss des Zertifikatsausstellungsprozesses mit dem Certbot-Tool wird der Pfad zum Verzeichnis angezeigt, in dem das ausgestellte Zertifikat und die Daten für Ihr Konto gespeichert sind:
Sie müssen das erhaltene Zertifikat nur noch mit dem gewünschten Dienst verknüpfen.
Installieren des Zertifikats für Nginx oder Apache
In diesem Abschnitt wird davon ausgegangen, dass bestimmte grundlegende Bedingungen erfüllt sind:
- Sie haben bereits einen Webserver (Nginx oder Apache) installiert und konfiguriert. Dieser muss über den Domänennamen, für den Sie das Zertifikat erhalten möchten, vom Internet aus erreichbar sein.
- Während der Installation des Tools haben Sie mit dem entsprechenden Befehl auch ein Plugin für Nginx oder Apache installiert.
- Die Firewall erlaubt Verbindungen über die Ports 80 und 443. Sind diese Ports für Verbindungen gesperrt, ist der Dienst für eingehende Verbindungen nicht verfügbar. Weitere Informationen zum Firewall-Betrieb finden Sie im Artikel über Einrichten einer Firewall unter Linux.
Sobald alle Voraussetzungen erfüllt sind, können Sie direkt mit der Zertifikatsausstellung fortfahren. Wir betrachten den Prozess zum Erhalt eines SSL-Zertifikats auf einem Server am Beispiel von Nginx. Bei Verwendung eines Apache-Webservers ist der Prozess jedoch völlig identisch.
Um das Zertifikat zu erhalten, müssen Sie den folgenden Befehl eingeben:
certbot --nginx # for Nginx
certbot --apache # for Apache
Als Antwort fordert das Tool Folgendes an: eine E-Mail-Adresse, die Zustimmung zu den Nutzungsbedingungen des Let’s Encrypt-Dienstes und die Berechtigung, E-Mails im Namen des Dienstes und seiner Partner zu senden.
Anschließend müssen Sie den Domänennamen angeben, für den das Zertifikat ausgestellt ist. Certbot kann die Domäne automatisch ermitteln, wenn sie im Servername Feld für Nginx Konfiguration oder Server mit einem Serveralias für Apache. Wenn dieser nicht angegeben ist, benachrichtigt Sie das Programm und fordert Sie auf, den Domänennamen manuell einzugeben. Anschließend fragt das Dienstprogramm, ob die Umleitung von Anfragen vom HTTP- zum HTTPS-Protokoll aktiviert werden soll. Für die automatische Umleitung wählen Sie die zweite Option:
Nach einiger Zeit informiert Sie Certbot über den erfolgreichen Erwerb des Zertifikats für die angegebene Domain. Ab diesem Zeitpunkt werden alle eingehenden Verbindungen von Port 80 auf 443 umgeleitet. Das Tool zeigt Ihnen die Verzeichnisse an, in denen Sie alle Zertifikatsdaten und die Let’s Encrypt-Kontodaten finden:
In der Nachricht werden außerdem die Gültigkeitsdauer des erhaltenen Zertifikats sowie wichtige Optionen zur Verwaltung aller aktiven Zertifikate angegeben:
- SicherlichDiese Option dient zum Abrufen oder Aktualisieren des Zertifikats ohne automatische Webserverkonfiguration. Certbot fordert das Zertifikat lediglich an oder aktualisiert es, nimmt jedoch keine automatischen Änderungen an der Serverkonfiguration vor. Bisher nutzten wir diese Option, um ein Zertifikat ohne Bindung an einen Webserver abzurufen.
- erneuern dient zur automatischen Erneuerung aller über Certbot erhaltenen Zertifikate innerhalb ihrer Gültigkeitsdauer. Das Programm prüft alle Zertifikate und verlängert sie automatisch, wenn sie innerhalb von 30 Tagen oder weniger ablaufen.
Als nächstes besprechen wir in der Anleitung, wie Sie die automatische Erneuerung von Zertifikaten alle drei Monate ohne Benutzereingriff einrichten.
Automatische Zertifikatserneuerung in Certbot
Für Debian/Ubuntu
Bei Verwendung dieser Betriebssysteme fügt Certbot der Aufgabenliste automatisch ein Skript zur automatischen Erneuerung installierter Zertifikate hinzu. Sie können die Funktionalität des Skripts mit folgendem Befehl überprüfen:
systemctl status certbot.timer
Die Antwort zeigt den Status des Dienstes sowie das Verzeichnis mit der Konfigurationsdatei an. Sie können diese mit einem beliebigen Texteditor öffnen. Wenn Sie keine Erfahrung mit Texteditoren unter Linux haben, empfehlen wir Ihnen, sich mit unsere Übersicht der beliebtesten Lösungen. In diesem Fall verwenden wir Nano:
nano /lib/systemd/system/certbot.timer
Alle wichtigen Parameter sind hervorgehoben:
- Der Fahrplan sieht vor, dass der Dienst zweimal täglich um 00:00 Uhr und 12:00 Uhr verkehrt.
- Ein zweiter Wert gibt eine zufällige Verzögerung in Sekunden an, die zum Start des Timers hinzugefügt wird. In diesem Fall sind es 43,200 Sekunden (12 Stunden), wodurch der Start zufälliger wird und die Last verteilt wird.
- Dieser Parameter stellt sicher, dass der Timer, wenn er während eines System-Shutdowns ausgeführt werden sollte, sofort beim Start aktiviert wird.
Sie können auch eine erzwungene Überprüfung der Zertifikatserneuerung mit dem folgenden Befehl ausführen:
certbot renew --dry-run
Mit diesem Befehl werden die Zertifikate nicht aktualisiert. Stattdessen führt das Tool Aktionen aus, die dem Abrufen eines abgelaufenen Zertifikats ähneln. Auf diese Weise stellen Sie die Funktionalität des Dienstes hinsichtlich der automatischen Verlängerung sicher.
Für CentOS, Fedora und andere
Der Prozess zum Aktivieren automatischer Updates auf Systemen der Red Hat-Familie unterscheidet sich geringfügig. Im Gegensatz zu Debian/Ubuntu müssen Sie für CentOS und andere Systeme manuell eine Aufgabe zum Scheduler hinzufügen. Hierfür verwenden wir die cron Tool:
crontab -e
Fügen Sie dann in der geöffneten Datei die folgende Zeile hinzu:
0 12 * * * /usr/bin/certbot renew --quiet
Lassen Sie uns die Hauptargumente des Befehls aufschlüsseln:
- Die Ausführungszeit. In diesem Fall wird der Befehl jeden Tag automatisch um 12:00 Uhr ausgeführt.
- Der Befehl zum Erneuern von SSL/TLS-Zertifikaten mit Certbot;
- Die --ruhig Flag unterdrückt die Ausgabe, wodurch der Prozess in Systemprotokollen oder der Anzeige besser verborgen und weniger aufdringlich wird.
Nachdem Sie den Befehl hinzugefügt haben, müssen Sie die Änderungen in der Datei speichern.
Wie bei Debian/Ubuntu können Sie auch hier eine Zwangsprüfung der Zertifikatserneuerungen einleiten:
certbot renew --dry-run
Das Ergebnis einer erfolgreichen Ausführung des Befehls sieht wie folgt aus:
Fazit
Wir haben den umfassenden Prozess der Installation und Konfiguration von Certbot auf einem Linux-Server untersucht. Befolgen Sie die Anweisungen, um erfolgreich ein SSL/TLS-Zertifikat von Let's Encrypt zu erhalten, es auf Ihrem Webserver zu installieren und die automatische Verlängerung zu konfigurieren, um kontinuierlichen Schutz und erhöhtes Vertrauen in Ihre Webressource zu gewährleisten. Mit Certbot schaffen Sie ganz einfach eine zuverlässige und sichere Umgebung für Ihre Benutzer.