- NGINX hat eine Preview-Version veröffentlicht, die das ACME-Protokoll nativ unterstützt und damit die Ausstellung und Erneuerung von SSL/TLS-Zertifikaten automatisiert
- Über das neue Rust-basierte Modul
ngx_http_acme_module können Zertifikate direkt über die NGINX-Konfiguration angefordert, installiert und erneuert werden, ganz ohne externe Tools
- Dadurch sinkt die Abhängigkeit von externen Tools wie Certbot, während Sicherheit und Plattformunabhängigkeit steigen
- Die erste Version unterstützt die HTTP-01-Challenge; Unterstützung für TLS-ALPN und DNS-01 ist für später geplant
- Die ACME-Unterstützung dürfte nicht nur im Web, sondern auch für die Sicherheitsautomatisierung in IoT- und Edge-Computing-Umgebungen eine wichtige Rolle spielen
Überblick und wichtigste Änderungen
- NGINX hat eine Preview-Version der ACME-Protokollunterstützung veröffentlicht
- Mit dem neuen Modul
ngx_http_acme_module ist es so konzipiert, dass Zertifikatsanforderung, Installation und Erneuerung direkt in der NGINX-Konfiguration verarbeitet werden können
- Diese ACME-Unterstützung nutzt intern das NGINX-Rust SDK und wird als Rust-basiertes dynamisches Modul bereitgestellt
- Sowohl Open-Source-Nutzer als auch Unternehmenskunden von NGINX Plus können diese Funktion verwenden
- Durch die geringere Abhängigkeit von externen Tools wie Certbot steigen Sicherheit und Effizienz des Zertifikatsmanagements
Einführung in das ACME-Protokoll
- Das ACME(Automated Certificate Management Environment)-Protokoll ist ein Kommunikationsprotokoll zur Automatisierung von Ausstellung, Verifizierung, Erneuerung und Widerruf von SSL/TLS-Zertifikaten
- Clients können den Zertifikatslebenszyklus durch automatisierte Kommunikation mit einer CA(Certificate Authority) direkt verwalten, ohne manuelle Zwischenschritte
- Es wurde 2015 von der Internet Security Research Group(ISRG) im Rahmen des Projekts Let’s Encrypt entwickelt und veröffentlicht
- Vor dem Aufkommen von ACME war der Prozess der Zertifikatsausstellung manuell und mit höheren Kosten sowie größerer Fehleranfälligkeit verbunden
- Das aktuelle ACMEv2 erweitert den Funktionsumfang unter anderem um Authentifizierungsmethoden und Wildcard-Unterstützung und erhöht damit Flexibilität und Sicherheit
Ablauf der ACME-basierten Zertifikatsautomatisierung in NGINX
- Die Automatisierung des Zertifikatslebenszyklus mit dem ACME-Protokoll in NGINX erfolgt in den folgenden vier Schritten
-
1. ACME-Server konfigurieren
- Zur Aktivierung der ACME-Funktion muss mit
acme_issuer zwingend die Directory-URL des ACME-Servers angegeben werden
- Bei der Zertifikatsausstellung können optional auch Kontaktinformationen des Clients, Speicherpfade für Statusdaten und weitere Angaben definiert werden
-
2. Gemeinsamen Speicher (Zone) zuweisen
- Mit
acme_shared_zone kann zusätzlich eine Shared-Memory-Zone für die Speicherung von Zertifikaten, privaten Schlüsseln und Challenge-Daten konfiguriert werden
- Die Standardgröße beträgt 256K und kann bei Bedarf erweitert werden
-
3. Challenge konfigurieren
- Die aktuelle Preview-Version unterstützt nur die HTTP-01-Challenge, die zur Verifizierung des Domain-Besitzes dient
- Dafür müssen in der NGINX-Konfiguration ein Listener auf Port 80 sowie eine Standard-404-Antwort definiert werden
- Unterstützung für TLS-ALPN- und DNS-01-Challenges ist für die Zukunft geplant
-
4. Zertifikate ausstellen und erneuern
- Wird die Direktive
acme_certificate zum Server-Block hinzugefügt, kann die Ausstellung/Erneuerung von TLS-Zertifikaten für die jeweilige Domain automatisiert werden
- Die Ziel-Domain für die Zertifikatsausstellung wird in der Regel mit
server_name angegeben
- Reguläre Ausdrücke und Wildcards in
server_name werden in der Preview-Version nicht unterstützt
- Über die Modulvariablen
$acme_certificate und $acme_certificate_key werden Zertifikat und Schlüssel automatisch verknüpft
Wichtigste Vorteile
- Das ACME-Protokoll steht im Zentrum des weltweiten starken Wachstums von HTTPS
- Durch automatisiertes Zertifikatsmanagement sinken Kosten für das Zertifikatslebenszyklus-Management und Fehler durch manuelle Arbeit deutlich
- Der Verzicht auf externe Tools reduziert die Angriffsfläche und verbessert die Portabilität
- Fördert die Standardisierung von Sicherheit in unterschiedlichsten Umgebungen
Ausblick
- Unterstützung für TLS-ALPN- und DNS-01-Challenges ist geplant
- Funktionsausbau auf Basis von Nutzerfeedback
- Mit der breiteren Einführung von IoT, API und Edge Computing dürfte ACME künftig eine Schlüsselrolle in einem noch größeren Spektrum automatisierter Sicherheitsinfrastrukturen übernehmen
- Die native ACME-Unterstützung von NGINX dürfte als Grundlage dafür dienen, Websicherheit, Automatisierung und Skalierbarkeit zum künftigen Standard zu machen
Erste Schritte
- Open-Source-Nutzer können vorgefertigte Module über die NGINX Linux packages verwenden
- Unternehmenskunden von NGINX Plus erhalten die Funktion als von F5 unterstütztes dynamisches Modul
- Die Moduldokumentation findet sich in den NGINX Docs
Noch keine Kommentare.