Site icon bintorosoft.com

Let’s Encrypt Automatisierung: Certbot, acme.sh und Renewal Hooks

Die Automatisierung von TLS-Zertifikaten ist ein zentraler Bestandteil moderner Webserver-Administration. Let’s Encrypt bietet kostenfreie Zertifikate, die jedoch nur 90 Tage gültig sind. Um Ausfälle durch abgelaufene Zertifikate zu vermeiden, sind Tools wie Certbot oder acme.sh essenziell, da sie die Ausstellung und Erneuerung automatisieren. In diesem Leitfaden erfahren Einsteiger, IT-Studierende und Junior Network Engineers praxisnah, wie Zertifikate automatisch erstellt, erneuert und in bestehende Webserver-Konfigurationen integriert werden.

Grundlagen von Let’s Encrypt

Let’s Encrypt ist eine Zertifizierungsstelle, die kostenfreie X.509-Zertifikate ausstellt. Die wichtigsten Eigenschaften sind:

Certbot: Offizielles ACME-Tool

Installation auf Linux

# Ubuntu/Debian
sudo apt update
sudo apt install certbot python3-certbot-nginx

CentOS/RHEL

sudo dnf install certbot python3-certbot-nginx

Zertifikat erstellen

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

Certbot erkennt automatisch die Nginx-Konfiguration, passt die Virtual Hosts an und aktiviert HTTPS.

Automatische Erneuerung prüfen

sudo certbot renew --dry-run

Mit --dry-run kann die Erneuerung simuliert werden, um Probleme frühzeitig zu erkennen.

acme.sh: Leichtgewichtige Alternative

Installation

curl https://get.acme.sh | sh
# Danach die Shell neu laden
source ~/.bashrc

Zertifikat ausstellen

# HTTP-01 Challenge
acme.sh --issue -d example.com -w /var/www/html

DNS-01 Challenge für Wildcards

acme.sh --issue -d '*.example.com' --dns dns_cf

Zertifikat installieren

acme.sh --install-cert -d example.com 
--key-file /etc/ssl/private/example.com.key 
--fullchain-file /etc/ssl/certs/example.com.crt 
--reloadcmd "systemctl reload nginx"

Der --reloadcmd Hook sorgt dafür, dass Nginx nach der Zertifikaterneuerung automatisch neu geladen wird.

Renewal Hooks

Renewal Hooks ermöglichen das Ausführen von Kommandos nach erfolgreicher Zertifikaterneuerung. Typische Einsatzfälle:

Beispiel mit Certbot

sudo certbot renew --post-hook "systemctl reload nginx"

Beispiel mit acme.sh

acme.sh --install-cert -d example.com 
--key-file /etc/ssl/private/example.com.key 
--fullchain-file /etc/ssl/certs/example.com.crt 
--reloadcmd "systemctl reload nginx"

Automatisierung via Cronjobs

Certbot installiert bei der Systeminstallation in der Regel einen Cronjob oder Systemd-Timer. Für acme.sh empfiehlt sich ein eigener Cronjob:

# Öffnen des Crontabs
crontab -e

Beispiel: täglicher Check um 2:30 Uhr

30 2 * * * "~/.acme.sh"/acme.sh --cron --home "~/.acme.sh"

Best Practices

Testen der Automatisierung

Manuelle Testläufe

certbot renew --dry-run
acme.sh --renew -d example.com --force

Überprüfung der HTTPS-Konfiguration

Integration in komplexe Webstacks

In Multi-App-Umgebungen empfiehlt sich:

IPv4/IPv6 und Let’s Encrypt

Certbot und acme.sh unterstützen beide IPv4 und IPv6. DNS-Einträge sollten korrekt gesetzt sein:

<math>
IPv4: example.com A 203.0.113.10
IPv6: example.com AAAA 2001:db8::10
</math>

Fazit der Automatisierungsstrategie

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version