Let's Encrypt

Let's Encrypt ist eine kostenlose, automatisierte und offene Certificate Authority (CA), die SSL/TLS-Zertifikate für Websites bereitstellt. Die Non-Profit-Organisation wurde 2015 von der Internet Security Research Group (ISRG) gegründet und hat die HTTPS-Verschlüsselung im Internet revolutioniert.

Kernprinzipien von Let's Encrypt

Let's Encrypt basiert auf drei fundamentalen Prinzipien:

  1. Kostenlos - Alle Zertifikate sind ohne Gebühren erhältlich
  2. Automatisiert - Zertifikate können programmatisch erstellt und erneuert werden
  3. Transparent - Alle Zertifikate sind öffentlich einsehbar und nachvollziehbar

Vorteile für SEO

Kriterium
Let's Encrypt
Kostenpflichtige Zertifikate
Kosten
Kostenlos
50-500€/Jahr
Gültigkeitsdauer
90 Tage
1-3 Jahre
Automatisierung
Vollständig
Eingeschränkt
Browser-Unterstützung
99,9%
99,9%
Wildcard-Zertifikate
Verfügbar
Verfügbar

SEO-Vorteile von HTTPS

  • Ranking-Signal: HTTPS ist seit 2014 offizieller Ranking-Faktor
  • Vertrauen: Nutzer sehen das Schloss-Symbol in der Adressleiste
  • Referrer-Data: Vollständige Referrer-Informationen in Analytics
  • Core Web Vitals: Bessere Performance durch HTTP/2-Unterstützung

Zertifikat-Typen

Domain-Validated (DV) Zertifikate

Die häufigste Art von Let's Encrypt Zertifikaten:

  • Validierung: Nur Domain-Besitz wird geprüft
  • Ausstellungszeit: Wenige Minuten
  • Verwendung: Standard-Websites, Blogs, kleine Unternehmen
  • Vertrauen: Hohe Browser-Akzeptanz

Wildcard-Zertifikate

Für Subdomains geeignet:

  • Format: *.example.com
  • Abdeckung: Alle Subdomains einer Domain
  • Einsatz: Multi-Subdomain-Architekturen
  • Limitierung: Nur eine Wildcard-Ebene möglich

Multi-Domain (SAN) Zertifikate

Für mehrere Domains:

  • Unterstützung: Bis zu 100 Domains pro Zertifikat
  • Flexibilität: Verschiedene Domains in einem Zertifikat
  • Management: Zentralisierte Zertifikatsverwaltung

Installation und Setup

Voraussetzungen

  • Domain-Kontrolle: Vollständige Kontrolle über die Domain
  • Server-Zugang: Root- oder sudo-Zugang zum Server
  • Port 80/443: Offene Ports für ACME-Protokoll
  • DNS-Konfiguration: Korrekte DNS-Einstellungen

Certbot Installation

Certbot ist der offizielle ACME-Client für Let's Encrypt:

# Ubuntu/Debian
sudo apt update
sudo apt install certbot

# CentOS/RHEL
sudo yum install certbot

# macOS mit Homebrew
brew install certbot

Zertifikat-Erstellung

Standalone-Modus

Für Server ohne laufenden Webserver:

sudo certbot certonly --standalone -d example.com -d www.example.com

Webroot-Modus

Für laufende Webserver:

sudo certbot certonly --webroot -w /var/www/html -d example.com

Nginx-Plugin

Automatische Konfiguration für Nginx:

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

Apache-Plugin

Automatische Konfiguration für Apache:

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

Automatisierung und Erneuerung

Wichtig: Zertifikate laufen nach 90 Tagen ab - Automatisierung ist essentiell!

Automatische Erneuerung

Let's Encrypt Zertifikate haben eine Gültigkeitsdauer von 90 Tagen und müssen regelmäßig erneuert werden:

Cron-Job einrichten

# Tägliche Überprüfung und Erneuerung
0 12 * * * /usr/bin/certbot renew --quiet

Systemd-Timer (empfohlen)

# Timer aktivieren
sudo systemctl enable certbot.timer
sudo systemctl start certbot.timer

# Status prüfen
sudo systemctl status certbot.timer

Erneuerung testen

Vor der Produktivnutzung sollte die Erneuerung getestet werden:

# Dry-run für Test
sudo certbot renew --dry-run

# Manuelle Erneuerung
sudo certbot renew

Webserver-Konfiguration

Webserver
Plugin
Automatisierung
Schwierigkeit
Nginx
nginx
Vollständig
Einfach
Apache
apache
Vollständig
Einfach
IIS
win-acme
Eingeschränkt
Mittel
Caddy
integriert
Vollständig
Sehr einfach

Nginx-Konfiguration

Beispiel-Konfiguration für Nginx:

server {
    listen 443 ssl http2;
    server_name example.com www.example.com;
    
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    
    # SSL-Konfiguration
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
    ssl_prefer_server_ciphers off;
    
    # HSTS
    add_header Strict-Transport-Security "max-age=63072000" always;
}

Apache-Konfiguration

Beispiel-Konfiguration für Apache:

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/html
    
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
    
    # HSTS
    Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>

Monitoring und Wartung

Zertifikats-Status prüfen

Online-Tools

  • SSL Labs: https://www.ssllabs.com/ssltest/
  • SSL Checker: https://www.sslchecker.com/
  • Why No Padlock: https://www.whynopadlock.com/

Command-Line-Tools

# Zertifikats-Details anzeigen
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -text -noout

# Ablaufdatum prüfen
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -dates -noout

# Gültigkeit testen
openssl s_client -connect example.com:443 -servername example.com

Monitoring-Setup

Nagios/Icinga

# Zertifikats-Überwachung
check_ssl_cert -H example.com -w 30 -c 7

Zabbix

# Zabbix-Template für SSL-Zertifikate
zabbix_get -s example.com -k ssl.certificate[example.com,443]

Häufige Probleme und Lösungen

Tipp: Bei Problemen immer zuerst die Certbot-Logs prüfen: /var/log/letsencrypt/

Rate Limits

Let's Encrypt hat strenge Rate Limits:

  • Zertifikate pro Domain: 50 pro Woche
  • Duplicates: 5 pro Woche
  • Registrierungen: 500 pro IP pro 3 Stunden

DNS-Challenges

Für Domains ohne öffentlichen Webserver:

# DNS-TXT-Record Challenge
sudo certbot certonly --manual --preferred-challenges dns -d example.com

Wildcard-Zertifikate

Wildcard-Zertifikate erfordern DNS-Validierung:

# Wildcard-Zertifikat erstellen
sudo certbot certonly --manual --preferred-challenges dns -d *.example.com

Best Practices

Wichtig: Let's Encrypt ist kostenlos, aber professionelle Wartung ist essentiell!

Sicherheits-Best-Practices

  1. Automatische Erneuerung: Immer aktiviert halten
  2. Monitoring: Zertifikats-Status überwachen
  3. Backup: Zertifikate regelmäßig sichern
  4. HSTS: HTTP Strict Transport Security aktivieren
  5. Cipher-Suites: Moderne Verschlüsselung verwenden

Performance-Optimierung

  1. OCSP-Stapling: Reduziert Zertifikats-Validierungszeit
  2. Session-Resumption: Wiederverwendung von SSL-Sessions
  3. HTTP/2: Bessere Performance durch Multiplexing
  4. TLS 1.3: Neueste Verschlüsselungsstandards
  5. Certificate Transparency: Transparente Zertifikats-Überwachung

Integration mit CDN und Load Balancern

Cloudflare-Integration

Cloudflare unterstützt Let's Encrypt vollständig:

  • Universal SSL: Automatische HTTPS-Verschlüsselung
  • Edge-Zertifikate: Kostenlose Zertifikate für alle Domains
  • Automatische Erneuerung: Keine manuelle Wartung nötig

AWS-Integration

Für AWS-Umgebungen:

# AWS CLI für Route 53 DNS-Challenge
sudo certbot certonly --dns-route53 -d example.com

Zukunft von Let's Encrypt

Geplante Verbesserungen

  • Post-Quantum-Kryptographie: Vorbereitung auf Quantencomputer
  • Erweiterte Validierung: EV-Zertifikate in Planung
  • Mobile-Integration: Bessere Unterstützung für mobile Apps
  • API-Verbesserungen: Erweiterte ACME-Protokoll-Features

Alternative ACME-Provider

  • Buypass: Norwegischer ACME-Provider
  • ZeroSSL: Kommerzieller ACME-Service
  • SSL.com: Enterprise-ACME-Lösungen

Verwandte Themen