Um ein Let's Encrypt Wildcard-Zertifikat mit Certbot zu erstellen, benötigen Sie die DNS-01-Challenge, da Wildcard-Zertifikate nur über DNS-basierte Validierung unterstützt werden. Hier sind die Schritte, um ein Wildcard-Zertifikat mit Certbot zu erhalten:
1. Voraussetzungen:
2. Schritt-für-Schritt-Anleitung:
3. Automatisierung (optional):
4. Automatische Erneuerung:
1.) Voraussetzungen:
1. Certbot muss installiert sein. Falls nicht, können Sie es mit den entsprechenden Befehlen für Ihr Betriebssystem installieren.
2. Zugriff auf die DNS-Konfiguration Ihres Domain-Providers, um die erforderlichen DNS-Records hinzuzufügen.
3. Ein funktionierendes Zertifikat für eine Subdomain wie `*.example.com`.
2.) Schritt-für-Schritt-Anleitung:
1. Certbot installieren:
Falls Certbot noch nicht installiert ist, können Sie es auf einem Ubuntu-Server zum Beispiel mit den folgenden Befehlen installieren:
sudo apt update sudo apt install certbot
2. DNS-01-Challenge vorbereiten:
Sie müssen sicherstellen, dass Sie Zugriff auf die DNS-Konfiguration für Ihre Domain haben, da Certbot die DNS-01-Challenge verwendet, um die Domain zu validieren.
3. Wildcard-Zertifikat anfordern:
Führen Sie den folgenden Befehl aus, um ein Wildcard-Zertifikat zu erstellen. Ersetzen Sie `example.com` durch Ihre tatsächliche Domain.
sudo certbot -d "*.example.com" --manual --preferred-challenges dns certonly
- -d ".example.com": Gibt an, dass ein Wildcard-Zertifikat für `.example.com` angefordert wird.
- --manual: Bestimmt, dass die DNS-01-Challenge manuell durchgeführt wird.
- --preferred-challenges dns: Gibt an, dass die DNS-01-Challenge verwendet wird, die DNS-Einträge für die Validierung erfordert.
- certonly: Fordert nur das Zertifikat an, ohne die Konfiguration automatisch durchzuführen.
4. DNS-Record hinzufügen:
Certbot zeigt Ihnen eine DNS-01-Challenge an, die einen TXT-Record für Ihre Domain erfordert. Dieser TXT-Record sieht ungefähr so aus:
Please add the following TXT record to your domain's DNS configuration: _acme-challenge.example.com. 300 IN TXT "random_string_value"
- Fügen Sie diesen TXT-Eintrag zu den DNS-Einstellungen Ihrer Domain hinzu.
- Es kann einige Minuten dauern, bis der DNS-Eintrag weltweit propagiert wird.
5. Validierung durchführen:
Sobald Sie den DNS-Record hinzugefügt haben, drücken Sie Enter, um Certbot zu sagen, dass Sie die DNS-Änderung vorgenommen haben. Certbot wird dann die DNS-01-Challenge durchführen, das Zertifikat validieren und das Wildcard-Zertifikat ausstellen.
6. Zertifikat erhalten:
Nach erfolgreicher Validierung speichert Certbot das Zertifikat in einem Standardverzeichnis (z.B. `/etc/letsencrypt/live/`).
3.) Automatisierung (optional):
Um die Verlängerung des Wildcard-Zertifikats zu automatisieren, müssen Sie sicherstellen, dass der DNS-01-Challenge-Record automatisch hinzugefügt wird. Dies kann in der Regel mit einem API-Plugin für den DNS-Provider erfolgen. Weitere Informationen dazu finden Sie in der Certbot-Dokumentation: https://certbot.eff.org/docs/
Das Zertifikat kann nun für Ihre Wildcard-Domain verwendet werden.
Ja, Let's Encrypt-Zertifikate, einschließlich Wildcard-Zertifikate, sind standardmäßig 90 Tage gültig. Dies ist eine bewusste Entscheidung von Let's Encrypt, um die Sicherheit zu erhöhen, da häufige Erneuerungen helfen, die Auswirkungen von kompromittierten Zertifikaten zu minimieren.
4.) Automatische Erneuerung:
Obwohl das Zertifikat nur 90 Tage gültig ist, können Sie es automatisch erneuern, ohne es manuell jedes Mal anzufordern. Wenn Sie Certbot verwenden, können Sie dies mit einem Cron-Job oder Systemd-Timer automatisieren.
Beispiel für Cron-Job (Linux/Unix):
Sie können Certbot so konfigurieren, dass es regelmäßig läuft und das Zertifikat erneuert, bevor es abläuft:
1. Öffnen Sie die Crontab-Datei für den Benutzer, unter dem Certbot läuft:
sudo crontab -e
2. Fügen Sie die folgende Zeile hinzu, um Certbot zweimal täglich zu prüfen und das Zertifikat bei Bedarf zu erneuern:
0 0,12 * * * certbot renew --quiet
Dies bedeutet, dass Certbot jeden Tag um Mitternacht (00:00) und mittags (12:00) versucht, das Zertifikat zu erneuern. Der Schalter `--quiet` sorgt dafür, dass nur Fehler oder wichtige Meldungen angezeigt werden.
Erneuerung mit Systemd:
Falls Ihr System `systemd` verwendet, können Sie auch einen systemd-Timer einrichten, der Certbot zur Erneuerung des Zertifikats auffordert.
Die automatische Erneuerung funktioniert zuverlässig, solange Sie die richtigen DNS-Records beibehalten, besonders für Wildcard-Zertifikate, bei denen DNS-Validierung erforderlich ist.
Wenn Sie also die automatische Erneuerung einrichten, brauchen Sie sich keine Sorgen zu machen, dass das Zertifikat nach 90 Tagen abläuft.