01 Juli 2026
Let’s Encrypt ist eine großartige Sache. Man bekommt gratis Zertifikate, die als vertrauenswürdig anerkannt werden, die Provisionierung ist in Sekunden passiert, und FortiClient EMS kann sich so ein Zertifikat mit Bordmitteln holen. Ein Nachteil dabei ist, dass die IPs der Server, die die Anfragen behandeln, nicht bekannt sind, aber sie kommen größtenteils von Amazons AWS Plattform und Cloudflare.

FortiClient EMS wird zwar als DMZ-Service gesehen, aber man will trotzdem nicht das gesamte Internet auf den EMS Apache Webserver ohne Sicherheitsmechanismen zugreifen lassen, um Let’s Encrypt Zertifikate zu provisionieren. Glücklicherweise kann man mit einer FortiGate einiges konfigurieren, um diesen Prozess abzusichern und die Angriffsfläche zu verringern, und das, lieber Leser, werden wir hier herausfinden.
Wie funktioniert Let’s Encrypt mit FortiClient EMS überhaupt?
Let’s Encrypt unterstützt mehrere Challenge Types und FortiClient EMS bietet Support für die HTTP-01 Challenge und wie Let’s Encrypt beschreibt, funktioniert der Prozess wie folgt:
- EMS erhält einen Token von Let’s Encrypt
- Der Token wird von EMS auf dem eigenen Apache Webserver unter http://<EMS-FQDN>/.well-known/acme-challenge/<TOKEN>, eine Standard-URL, abgelegt
- Let’s Encrypt überprüft ob der Token auf dem Server und der URL, die ein Standard ist, unter TCP/80 erreichbar ist
- Wenn die Tokenvalidierung erfolgreich ist kann ein Zertifikat erstellt werden
Für diesen Prozess werden ein paar Dinge benötigt:
- TCP/80 muss von extern auf EMS weitergeleitet und erlaubt werden, also Destination NAT/Virtual IP mit einer passenden Firewall Policy
- TCP/443 muss nicht geöffnet werden, auch wenn es in der Dokumentation steht
- Ein DNS-Eintrag für den EMS-Server, der öffentlich auflösbar ist
- Das ist theoretisch keine Voraussetzung, aber wird stark empfohlen
- EMS muss nach extern über TCP/443 auf die Let’s Encrypt Server zugreifen können
Jetzt wissen wir, wie es funktioniert und was wir benötigen, also wie machen wir es sicher? Primär mit einem Web Filter und einem Web Application Firewall (WAF) Profil. Application Control und Intrusion Prevention Profile werden auch noch unterstützen.
Die Konfiguration für alle Profile kann HIER heruntergeladen werden.
Exclusive Networks übernimmt keine Haftung für jegliche Probleme, die von zur Verfügung gestellten Konfigurationen verursacht werden.
Web Filter
Da wir die URL kennen, die von Let’s Encrypt aufgerufen wird, können wir den Zugriff leicht mit einem Static URL Filter einschränken.
Zu konfigurieren sind hier zwei Regeln im Static URL Filter:
- Einen Monitor Wildcard Eintrag für „<FQDN>/.well-known/acme-challenge/*“
- Beispiel: ems.testdomain.at/.well-known/acme-challenge/*
- Einen Block Eintrag der alles andere blockiert
- Beispiel mit Regular Expressions: .*
Die FortiGuard Kategorien können deaktiviert werden.

Mehr benötigen wir im Web Filter nicht, also auf zum Web Application Firewall Profil.
Web Application Firewall
Gehen wir zuerst sicher, dass Web Application Firewall unter Feature Visibility aktiviert ist, damit ihr es im GUI seht. Funktionieren würde das Feature aber auch ohne, da es nur eine kosmetische Sache ist.

Im Web Application Firewall Profile kann unter Security Profiles die Option Enforce HTTP Method Policy aktiviert werden. Danach lassen sich zwei Einträge erstellen und konfigurieren:
- Ein Regular Expression Eintrag mit der Pattern .* und es darf nur die GET Method erlaubt sein
- Beim bestehenden Default Eintrag die Method auf OTHERS stellen:

Die anderen Einstellungen im Profil sind hier nicht zwingend zu konfigurieren, bzw. vielleicht gar nicht relevant.
Application Control
Bei Application Control können wir alle Kategorien auf Block stellen und über einen Override nur HTTP.BROWSER erlauben. Network Protocol Enforcement wird auch für HTTP mit Port 80 aktiviert.

Intrusion Prevention
Für das Intrusion Prevention Profil können wir es auf zwei Methoden machen:
- Methode 1: Granular und wir schützen nur das Target Server und es ist ein Linux Apache HTTP Webserver
- Methode 2: Breit und wir schützen das Target Server
Mit Methode 1 sind, mit Stand Mitte Juni 2026, insgesamt 388 Signaturen vorhanden und mit Methode 2 7666.
Ich baue meine IPS Profile immer so auf, dass ich Severity Medium und darüber immer blockiere und nur bei Informational die Default Action benutzen.
Beide Ansätze funktionieren und wenn Performance wichtig ist, ist Methode 1 besser.


Mit diesen Profilen können wir die Firewall Policy konfigurieren.
Firewall Policy
In der Firewall Policy für den Zugriff von den Let’s Encrypt Servern auf FortiClient EMS sind ein paar Sachen wichtig:
- Im Service genügt HTTP, bzw. TCP/80
- Die Virtual IP für EMS muss natürlich vorhanden sein oder die richtige IP, wenn Central NAT benutzt wird
- Der Inspection mode muss Proxy-based sein, da sonst das WAF Profil nicht hinzugefügt werden kann
- In meinen Tests konnte ich leider nicht das Internet Service Database Objekt für die AWS-Server benutzen, da manchmal Cloudflare Server auch vorhanden waren
- Alle vier erstellten Profile hinzufügen
- Deep Inspection wird nicht benötigt, da wir nur HTTP-Traffic zu EMS weiterleiten und der ist nicht verschlüsselt

Mit der Firewall Policy kann nun auf EMS ein Let’s Encrypt Zertifikat angefordert werden.
Verifizierung
Das Zertifikat ist schnell angefordert und die Dokumentation erklärt diesen Prozess:

Unter System Settings -> EMS Settings kann das Zertifikat dann für den Webserver und Endpoint Control ausgewählt werden.

Auf der FortiGate sieht man danach im Web Filter Log, dass die Verbindung auf http://<FQDN>/.well-known/acme-challenge/<TOKEN> mit dem Token angekommen ist und erlaubt wurde.

Versucht man, andere URLs – beispielsweise das Management Interface – ebenfalls per HTTP aufzurufen, funktioniert dies nicht.

Im Application Control Log sieht man die HTTP.BROWSER Applikation.

In den Web Application Firewall und Intrusion Prevention Log sieht man nichts, da es keinen Verstoß gab.
Session Close
Auch wenn Let’s Encrypt mit Informationen zu diesem Thema nicht so transparent ist, wie man es sich wünschen würde, können wir mithilfe der Funktionen einer FortiGate dennoch für zusätzliche Sicherheit sorgen.
Die erforderliche Konfiguration ist recht einfach umzusetzen. Ich hoffe, lieber Leser, dass Sie für FortiClient EMS, und auch andere Services benutzen können.
Wenn Sie Vorschläge für zukünftige Beträge haben, Konfigurationen sehen wollen, auch in Videoformat, oder Sie Feedback haben, bitte ich euch, diese an techxperts_central@exclusive-networks.com zu schicken.
Neueste Blogs
Alle Blogs anzeigenAusgewählt
Blogs
FortiGate Software Switch Offloading
Ausgewählt
Blogs
FortiAnalyzer Admin Action Event Handler
Ausgewählt
Blogs
FortiClient EMS Let’s Encrypt Security
Ausgewählt
Blogs
FortiGate FortiLink VLAN Migration
Ausgewählt
Blogs
Fortinet Cybersecurity Skills Gap Report 2026
Ausgewählt
Blogs