Home / Tutorials / Security / Let's Encrypt SSL

Kostenlose SSL-Zertifikate mit Let's Encrypt _

Security Veröffentlicht: 25. Mai 2025 Aktualisiert: 25. Mai 2025 Autor: SpeckiTime 123 Aufrufe
Let's Encrypt SSL-Zertifikate

Einführung

HTTPS ist heutzutage ein Muss für jede Website. Es schützt die Kommunikation zwischen dem Browser deiner Besucher und deinem Server, verhindert Man-in-the-Middle-Angriffe und verbessert dein Ranking bei Google. Mit Let's Encrypt kannst du kostenlos und automatisiert SSL-Zertifikate für deine Domains erhalten.

Was ist Let's Encrypt?

Let's Encrypt ist eine kostenlose, automatisierte und offene Zertifizierungsstelle (CA), die von der gemeinnützigen Internet Security Research Group (ISRG) betrieben wird. Das Ziel ist es, den Prozess der Einrichtung von HTTPS zu vereinfachen und das Web sicherer zu machen.

Voraussetzungen

Bevor wir beginnen, stelle sicher, dass du folgende Voraussetzungen erfüllst:

  • Ein Linux-Server (in diesem Tutorial verwenden wir Ubuntu/Debian)
  • Root-Zugriff oder sudo-Rechte auf dem Server
  • Ein eingerichteter Webserver (Apache oder Nginx)
  • Eine registrierte Domain, die auf deinen Server zeigt
  • Port 80 und 443 müssen von außen erreichbar sein

Schritt 1: Certbot installieren

Certbot ist das offizielle Tool von Let's Encrypt, das die Beantragung und Erneuerung von Zertifikaten automatisiert. Wir installieren es über die Paketquellen:

sudo apt update
sudo apt install certbot

Je nach verwendetem Webserver installieren wir zusätzlich das entsprechende Plugin:

Für Apache:

sudo apt install python3-certbot-apache

Für Nginx:

sudo apt install python3-certbot-nginx

Schritt 2: Zertifikat beantragen

Jetzt können wir ein Zertifikat für unsere Domain beantragen. Certbot kümmert sich dabei um die Validierung der Domain und die Konfiguration des Webservers.

2.1 Für Apache

sudo certbot --apache -d example.com -d www.example.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): admin@example.com

2.2 Für Nginx

sudo certbot --nginx -d example.com -d www.example.com

Domain anpassen

Ersetze example.com und www.example.com mit deiner eigenen Domain. Du kannst mehrere Domains und Subdomains mit mehreren -d Parametern angeben.

Während der Installation wirst du nach deiner E-Mail-Adresse gefragt (für Benachrichtigungen über ablaufende Zertifikate) und musst den Nutzungsbedingungen zustimmen. Außerdem kannst du wählen, ob HTTP-Anfragen automatisch auf HTTPS umgeleitet werden sollen (empfohlen).

Wie funktioniert die Validierung?

Let's Encrypt verwendet die HTTP-01-Challenge zur Validierung deiner Domain. Dabei wird eine temporäre Datei in deinem Webroot-Verzeichnis erstellt, die dann von Let's Encrypt-Servern abgerufen wird. So wird sichergestellt, dass du tatsächlich Kontrolle über die Domain hast.

Schritt 3: Zertifikat prüfen

Nach erfolgreicher Installation kannst du deine Website über HTTPS aufrufen. Überprüfe, ob alles funktioniert, indem du https://deine-domain.de in deinem Browser aufrufst. Du solltest ein Schlosssymbol in der Adressleiste sehen.

Um die Details deines Zertifikats anzuzeigen, verwende den folgenden Befehl:

sudo certbot certificates
Found the following certs: Certificate Name: example.com Domains: example.com www.example.com Expiry Date: 2025-08-23 12:34:56+00:00 (VALID: 89 days) Certificate Path: /etc/letsencrypt/live/example.com/fullchain.pem Private Key Path: /etc/letsencrypt/live/example.com/privkey.pem

Schritt 4: Automatische Erneuerung einrichten

Let's Encrypt-Zertifikate sind 90 Tage gültig. Certbot richtet automatisch einen Cronjob oder einen systemd-Timer ein, der versucht, deine Zertifikate zu erneuern, wenn sie weniger als 30 Tage gültig sind.

Du kannst testen, ob die automatische Erneuerung funktioniert, indem du einen Trockentest durchführst:

sudo certbot renew --dry-run

Wenn alles korrekt eingerichtet ist, solltest du eine Erfolgsmeldung sehen.

Firewall-Einstellungen

Stelle sicher, dass deine Firewall die Ports 80 (HTTP) und 443 (HTTPS) freigibt. Diese werden für die Validierung und den HTTPS-Verkehr benötigt.

Schritt 5: Wildcard-Zertifikate (optional)

Wenn du viele Subdomains hast, kann ein Wildcard-Zertifikat sinnvoll sein. Dieses deckt alle Subdomains ab (z.B. *.example.com). Für Wildcard-Zertifikate ist eine DNS-Validierung erforderlich.

Zuerst installieren wir das DNS-Plugin für deinen DNS-Provider. Hier ein Beispiel für Cloudflare:

sudo apt install python3-certbot-dns-cloudflare

Dann erstellen wir eine Konfigurationsdatei mit den API-Zugangsdaten:

sudo mkdir -p /etc/letsencrypt/dns-credentials/
sudo nano /etc/letsencrypt/dns-credentials/cloudflare.ini

Füge folgende Zeilen hinzu (ersetze die Werte mit deinen eigenen):

dns_cloudflare_email = deine-email@example.com dns_cloudflare_api_key = dein-api-key

Schütze die Datei vor unbefugtem Zugriff:

sudo chmod 600 /etc/letsencrypt/dns-credentials/cloudflare.ini

Jetzt können wir das Wildcard-Zertifikat beantragen:

sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/dns-credentials/cloudflare.ini -d example.com -d *.example.com

Fehlersuche und Tipps

Häufige Probleme

  • Verbindungsprobleme: Stelle sicher, dass dein Server über Port 80 und 443 erreichbar ist.
  • DNS-Probleme: Überprüfe, ob deine Domain korrekt auf deinen Server zeigt.
  • Webserver-Konfiguration: Stelle sicher, dass dein Webserver korrekt konfiguriert ist und die Domain bedient.

Nützliche Befehle

Zertifikat manuell erneuern:

sudo certbot renew

Zertifikat löschen:

sudo certbot delete --cert-name example.com

Certbot-Hilfe anzeigen:

certbot --help

Fazit

Mit Let's Encrypt und Certbot kannst du kostenlos und automatisiert SSL-Zertifikate für deine Websites erstellen und erneuern. Die Einrichtung ist einfach und die automatische Erneuerung sorgt dafür, dass deine Zertifikate immer aktuell bleiben.

HTTPS ist nicht nur wichtig für die Sicherheit deiner Besucher, sondern auch für dein Ranking bei Suchmaschinen und das Vertrauen deiner Nutzer. Mit diesem Tutorial solltest du in der Lage sein, deine Websites sicher mit HTTPS zu betreiben.

SSL Let's Encrypt Security HTTPS Certbot

Weitere Tutorials _

Ubuntu Server 24.04 LTS Installation

Ubuntu Server 24.04 LTS Installation

Weiterlesen
Cronjobs unter Linux

Cronjobs unter Linux

Weiterlesen
Nginx als Reverse Proxy einrichten

Nginx als Reverse Proxy einrichten

Weiterlesen