Diese Anleitung zeigt Ihnen, wie Sie SSL-Zertifikate auf FortiGate-Firewalls installieren und automatisieren. Dazu verwenden Sie das ACME-Protokoll mit External Account Binding (EAB), die Standardmethode, die kommerzielle Zertifizierungsstellen für die sichere Automatisierung verwenden.

Sie lernen zwei Möglichkeiten der Bereitstellung kennen:
- Native FortiGate ACME-Integration mit EAB-Anmeldeinformationen
- Externe Ausgabe mit ACME.sh, gefolgt vom Import in FortiGate
Beide Methoden sind mit kommerziellen ACME-Endpunkten kompatibel, die Zertifikate über KID + HMAC-Authentifizierung ausstellen.
Bevor Sie beginnen
Das brauchen Sie:
- FortiGate 7.6.0 oder neuer (frühere Versionen unterstützen EAB nicht)
- Root- oder Admin-Zugriff auf die FortiGate CLI
- ACME-Verzeichnis-URL von Ihrem Zertifikatsanbieter
- EAB-Berechtigungsnachweise (Schlüssel-ID + HMAC-Schlüssel)
- Ein Domainname mit gültigen A/AAAA DNS-Einträgen, die auf die öffentliche IP-Adresse Ihres FortiGate verweisen
- Port 80 ist für die HTTP-01-Validierung aus dem Internet erreichbar
Schritt 1: Prüfen Sie Ihre Firmware-Version
Verwenden Sie die Befehlszeilenschnittstelle, um Ihre FortiOS-Version zu überprüfen:
get system status
Vergewissern Sie sich, dass FortiOS 7.6.0 oder eine neuere Version angezeigt wird. Falls nicht, aktualisieren Sie zuerst. Ältere Versionen enthalten die Felder acme-eab-key-id und acme-eab-key-hmac nicht.
Schritt 2: Erstellen Sie ein lokales Zertifikatsobjekt für ACME
Führen Sie den folgenden Befehl aus:
config vpn certificate local
edit "acme-vpn-cert"
set enrollment acme
set acme-ca-url "https://acme.yourca.com/v2/acme"
set acme-eab-key-id "YOUR_EAB_KID"
set acme-eab-key-hmac "YOUR_EAB_HMAC_KEY"
set acme-email "[email protected]"
set acme-domain "vpn.example.com"
set acme-auth-url "http://vpn.example.com/.well-known/acme-challenge"
set auto-regenerate-days 30
set auto-regenerate enable
next
end
Dieser Befehl erstellt ein neues lokales Zertifikatsobjekt mit dem Namen acme-vpn-cert und weist FortiGate an, es automatisch von Ihrer kommerziellen Zertifizierungsstelle anzufordern und zu erneuern, indem es das ACME-Protokoll mit External Account Binding verwendet.
Die wichtigsten Teile erklärt:
set enrollment acme: teilt FortiGate mit, dass dieses Zertifikat über ACME verwaltet wird und nicht manuell importiert wird.set acme-ca-url: den ACME-Verzeichnisendpunkt Ihrer Zertifizierungsstelle.-
set acme-eab-key-id/set acme-eab-key-hmac: Ihre EAB-Anmeldedaten (KID und HMAC), die Ihr Konto bei der CA autorisieren. set acme-email: Wird für Verlängerungsbenachrichtigungen und den CA-Kontakt verwendet.set acme-domain: die Domäne, die FortiGate validiert und sichert.set acme-auth-url: der HTTP-Speicherort, an dem die CA die ACME-Challenge platziert und verifiziert.-
set auto-regenerateundauto-regenerate-days: Aktivieren Sie die automatische Erneuerung vor Ablauf.
Schritt 3: Überprüfen Sie den Validierungspfad
Ihr FortiGate muss auf http://vpn.example.com/.well-known/acme-challenge/ reagieren .
Wenn Sie die HTTPS-Umleitung aktiviert haben, fügen Sie eine Umgehungsregel hinzu, damit der Challenge-Pfad während der Validierung auf einfachem HTTP bleibt.
Hier erfahren Sie, wie Sie dies für virtuelle Server tun:
config firewall vip
edit "acme-http"
set extintf "wan1"
set extip <your-public-ip>
set mappedip "192.168.1.99"
set extport 80
set mappedport 80
set protocol tcp
next
end
Ersetzen Sie <your-public-ip> und 192.168.1.99 durch Ihre tatsächlichen externen und internen IP-Adressen. Diese Werte sind Platzhalter und dienen nur als Beispiel.
Schritt 4: Auslösen der ersten Anfrage
Da FortiGate nun weiß, wie Sie Ihre Zertifizierungsstelle erreichen und wo die Validierungsdateien abgelegt werden müssen, können Sie mit der eigentlichen Zertifikatsregistrierung beginnen:
execute vpn certificate local generate "acme-vpn-cert"
Dieser Befehl weist FortiGate an, die Zertifizierungsstelle zu kontaktieren, eine Domänenüberprüfung durchzuführen und das signierte Zertifikat automatisch abzurufen.
Schritt 5: Prüfen Sie den Zertifikatsstatus
Um den Status Ihres Zertifikats zu überprüfen, führen Sie den folgenden Befehl aus:
get vpn certificate local
Das sollten Sie sehen:
Status: valid
Issuer: Your CA Name
Wenn der Status weiterhin ausstehend oder ungültig ist, überprüfen Sie erneut die Erreichbarkeit von DNS und Port 80.
Schritt 6: Das Zertifikat anwenden
Verwenden Sie die grafische Benutzeroberfläche (GUI) oder die Befehlszeilenschnittstelle (CLI), um sie SSL-VPN, HTTPS-Verwaltung oder Proxy-Diensten zuzuweisen:
config vpn ssl settings
set servercert "acme-vpn-cert"
end
Hier sehen Sie, wie Sie dies über die grafische Benutzeroberfläche tun können:
Gehen Sie zu VPN > SSL-VPN-Einstellungen > Server-Zertifikat > Wählen Sie acme-vpn-cert.
Schritt7: Fehlerbehebung und Verlängerungen
Wenn das Zertifikat nicht sofort ausgestellt wird, sind die häufigsten Gründe dafür:
- Der ACME-Server konnte Ihre Validierungs-URL nicht erreichen (offener Port 80).
- Ihr KID- oder HMAC-Schlüssel stimmt nicht mit dem überein, was die CA erwartet.
- Sie sind auf ein temporäres Wiederholungs- oder Ratenlimit gestoßen; versuchen Sie es einfach nach ein paar Minuten erneut.
Sobald das Zertifikat gültig ist, kümmert sich FortiGate automatisch um die Erneuerung, basierend auf Ihrer Einstellung auto-regenerate-days. Sie können die Erneuerung jederzeit mit testen:
execute vpn certificate local renew "acme-vpn-cert"
Fallback: Externe Ausstellung (ACME.sh) und Import in FortiGate
Wenn der ACME-Endpunkt Ihrer Zertifizierungsstelle nicht direkt mit FortiGate zusammenarbeitet, können Sie das Zertifikat extern mit ACME.sh ausstellen und importieren. Und so geht’s:
Schritt 1: ACME.sh installieren
Führen Sie diese Befehle auf einem beliebigen Linux-, macOS- oder BSD-System aus, das über einen Internetzugang verfügt. Sie führen sie nicht auf dem FortiGate selbst aus (FortiGate unterstützt keine benutzerdefinierten Shell-Skripte).
curl https://get.acme.sh | sh
source ~/.bashrc
Dies installiert den acme.sh Client in Ihrem Home-Verzeichnis und lädt ihn in Ihre Shell. Ersetzen Sie den Platzhalter durch Ihre tatsächliche CA und die Details.
Schritt 2: Registrieren Sie Ihr ACME-Konto bei EAB
acme.sh --register-account \
--server https://acme.yourca.com/v2/acme \
--eab-kid "YOUR_EAB_KID" \
--eab-hmac-key "YOUR_EAB_HMAC_KEY" \
-m [email protected]
Schritt 3: Ausstellen des Zertifikats
acme.sh --issue \
-d vpn.example.com \
--webroot /var/www/html \
--server https://acme.yourca.com/v2/acme \
--eab-kid "YOUR_EAB_KID" \
--eab-hmac-key "YOUR_EAB_HMAC_KEY"
Schritt 4: Suchen Sie die Zertifikatsdateien
Nach einer erfolgreichen Ausstellung werden Ihre Zertifikatsdateien in Ihrem Heimatverzeichnis unter ~/.acme.sh/vpn.example.com/
In diesem Ordner finden Sie Folgendes:
- fullchain.cer – die vollständige Zertifikatskette
- vpn.example.com.key – Ihr privater Schlüssel
- ca.cer – das CA-Zwischenzertifikat
Sie können sie mit einem Texteditor öffnen oder die Details über OpenSSL überprüfen:
openssl x509 -in fullchain.cer -noout -dates -issuer -subject
Schritt 5: Importieren in FortiGate
Sie können das Zertifikat über die GUI importieren:
Gehen Sie zu: System > Zertifikate > Import > Lokales Zertifikat und
laden Sie das Zertifikat und den privaten Schlüssel hoch.
Oder Sie können die CLI verwenden:
config vpn certificate local
edit "acme-vpn-cert"
set private-key "-----BEGIN PRIVATE KEY-----..."
set certificate "-----BEGIN CERTIFICATE-----..."
next
end
Schritt 6: Zuweisen & erneuern
Sobald das Zertifikat erneuert wurde, stellen Sie sicher, dass Sie es Ihrem SSL-VPN oder der FortiGate-Webschnittstelle neu zuweisen (falls es nicht automatisch angewendet wird). Wenn Sie einen externen ACME-Client auf einem anderen Server verwenden, richten Sie eine geplante Aufgabe (z.B. einen Cron-Job) ein, um die neuen Zertifikatsdateien automatisch über SCP oder einen API-Aufruf auf FortiGate zu kopieren.
Beispiel:
scp ~/.acme.sh/vpn.example.com/fullchain.cer admin@fortigate:/root/
scp ~/.acme.sh/vpn.example.com/vpn.example.com.key admin@fortigate:/root/
Laden Sie dann das Zertifikat neu:
execute vpn certificate local import "acme-vpn-cert"
Allgemeine Fragen
Wenn Sie ACME zum ersten Mal mit einer kommerziellen CA einrichten, tauchen oft ein paar Fragen auf. Hier finden Sie kurze Antworten auf die am häufigsten gestellten Fragen:
Kann ich diese Einrichtung mit jeder kommerziellen CA verwenden?
Ja, sofern Ihr Anbieter ACME + External Account Binding (EAB) unterstützt. Große CAs wie Sectigo und DigiCert bieten bereits ACME-Verzeichnis-URLs und EAB-Zugangsdaten an.
Muss ich für die Validierung sowohl HTTP- als auch HTTPS-Ports öffnen?
Nur Port 80 (HTTP) ist für die HTTP-01-Validierung von ACME erforderlich. Halten Sie HTTPS (443) für den normalen Datenverkehr offen, aber leiten Sie keine Validierungsanfragen von HTTP auf HTTPS um.
Was passiert, wenn mein Zertifikat nicht automatisch verlängert wird?
Sie können die manuelle Erneuerung jederzeit mit auslösen:
execute vpn certificate local renew "acme-vpn-cert"
Wenn es immer noch nicht klappt, überprüfen Sie Ihre EAB-Zugangsdaten, den Domänen-DNS und ob die Firewall den ausgehenden Zugriff auf den ACME-Endpunkt Ihrer CA noch zulässt.
Kann ich dieselben EAB-Anmeldedaten auf mehreren FortiGates verwenden?
Das hängt von Ihrer CA ab. Einige erlauben die Wiederverwendung eines Kontos für mehrere Geräte, andere geben eindeutige Anmeldedaten pro Auftrag oder Domäne aus. Befolgen Sie immer die Richtlinien Ihrer CA, um Tarifbeschränkungen oder Kontokonflikte zu vermeiden.
Letzte Worte
Sie wissen nun, wie Sie ein ACME SSL-Zertifikat aufFortiGate installieren können, entweder über die native EAB-Integration oder über die externe Ausstellung mittels ACME.sh.
Beide Methoden erfüllen die Sicherheitsstandards von Unternehmen und unterstützen vollautomatische Erneuerungen mit kommerziellen Zertifizierungsstellen.
Sparen Sie 10% auf SSL-Zertifikate, wenn Sie noch heute bestellen!
Schnelle Ausstellung, starke Verschlüsselung, 99,99% Browser-Vertrauen, engagierter Support und 25-tägige Geld-zurück-Garantie. Gutscheincode: SAVE10

