Root-Server Tutorial

ROOT-SERVER TUTORIAL

SSL mit Certbot und Apache auf Ubuntu einrichten

Wie Sie Ihren Apache Webserver unter Ubuntu mit SSL/TLS-Zertifikaten per Certbot absichern.

Autor:

Elias Traunbauer

Letztes Update:

25.7.2023

Einführung

In diesem Tutorial erfahren Sie, wie Sie SSL/TLS-Zertifikate auf einem Apache-Webserver unter Ubuntu mithilfe von Certbot einrichten. SSL-Zertifikate sind unerlässlich, um die Kommunikation zwischen Ihrem Server und den Clients abzusichern, sensible Daten vor dem Abhören zu schützen und Ihren Benutzern ein sicheres Browsing-Erlebnis zu bieten.

Wir werden Certbot, ein kostenloses Open-Source-Tool, verwenden um SSL-Zertifikate von Let's Encrypt zu erhalten und automatisch zu erneuern. Let's Encrypt ist eine Zertifizierungsstelle, die vertrauenswürdige SSL-Zertifikate kostenfrei bereitstellt.

Das Tutorial setzt voraus, dass Sie über grundlegende Kenntnisse der Ubuntu-Befehlszeile verfügen und bereits einen Apache-Webserver eingerichtet haben. Wenn Sie Apache noch nicht installiert haben, können Sie dies mit apt tun:

sudo apt update
sudo apt install apache2

Voraussetzungen

Vor dem Fortfahren stellen Sie bitte sicher, dass Sie Folgendes haben:

  • Einen Server mit Ubuntu (getestet auf Ubuntu 20.04)
  • Einen installierten und laufenden Apache-Webserver
  • Einen registrierten Domainnamen, der auf die IP-Adresse Ihres Servers zeigt. Stellen Sie sicher, dass die DNS-Einträge Ihrer Domain korrekt konfiguriert sind.

Schritt 1 - Certbot installieren

Certbot ist in den Standard-Ubuntu-Repositories verfügbar, was die Installation einfach macht. Öffnen Sie ein Terminal und führen Sie die folgenden Befehle aus, um Certbot zu installieren:

sudo apt update
sudo apt install certbot python3-certbot-apache

Schritt 2 - Apache für SSL konfigurieren

Bevor wir SSL-Zertifikate erhalten, müssen wir Apache für SSL konfigurieren. Das Tool Certbot kann Apache automatisch konfigurieren. Führen Sie den folgenden Befehl aus und folgen Sie den Anweisungen:

sudo certbot --apache

Certbot wird für dringende Erneuerungen und Sicherheitsbenachrichtigungen nach Ihrer E-Mail-Adresse fragen. Nachdem Sie diese angegeben haben, wird Certbot die in Ihren Apache-Virtual Hosts konfigurierten Domains erkennen und Sie fragen, für welche Domains Sie SSL aktivieren möchten. Wenn Sie die entsprechenden Domains auswählen, wird Certbot Apache entsprechend konfigurieren.

Schritt 3 - SSL-Konfiguration überprüfen

Nachdem die SSL-Konfiguration abgeschlossen ist, lädt Certbot Apache neu, um die Änderungen zu übernehmen. Außerdem wird ein Cron-Job erstellt, um die Zertifikate vor Ablauf automatisch zu erneuern.

Um die SSL-Konfiguration zu überprüfen, öffnen Sie einen Webbrowser und geben Sie Ihre Domain mit https:// ein (z.B. https://ihredomain.de). Wenn alles richtig eingerichtet ist, sehen Sie ein Vorhängeschloss-Symbol in der Adressleiste des Browsers, das auf eine sichere Verbindung hinweist.

Schritt 4 - Zertifikatserneuerung prüfen

Certbot-Zertifikate sind in der Regel 90 Tage gültig und müssen regelmäßig erneuert werden. Der von Certbot erstellte Cron-Job kümmert sich um die automatische Erneuerung. Es ist jedoch ratsam, den Erneuerungsvorgang manuell zu testen, um sicherzustellen, dass er wie erwartet funktioniert.

Führen Sie den folgenden Befehl aus, um die Erneuerung zu testen:

sudo certbot renew --dry-run

Schluss

Herzlichen Glückwunsch! Sie haben erfolgreich SSL/TLS-Zertifikate auf Ihrem Apache-Webserver unter Verwendung von Certbot eingerichtet. Ihre Website ist nun mit verschlüsselter Kommunikation abgesichert, und Benutzer können sie sicher durchsuchen.

Denken Sie daran, regelmäßig auf das Ablaufdatum der Zertifikate zu achten und sicherzustellen, dass die automatische Erneuerung ordnungsgemäß funktioniert, um eine sichere Website zu gewährleisten.

License

MIT

Copyright (c) 2021 netcup

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Contributor's Certificate of Origin

By making a contribution to this project, I certify that:

  1. The contribution was created in whole or in part by me and I have the right to submit it under the license indicated in the file; or

  2. The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same license (unless I am permitted to submit under a different license), as indicated in the file; or

  3. The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

  4. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the license(s) involved.

Veröffentlicht am 25.7.2023 von Elias Traunbauer

Tutorial einreichen

Erhalte einen 60€ netcup Gutschein für jedes veröffentlichte Tutorial.