Sophos UTM 9.6: Kostenlose Let’s Encrypt Zertifikate

Die Sophos UTM 9.6 bietet nun auch die lang ersehnte Unterstützung für kostenlose Let’s Encrypt Zertifikate. Zwar unterstützt die UTM nur das ACMEv1 Protokoll und kann somit keine Wildcard Zertifikate anfordern, dafür können aber SAN-Zertifikate mit bis zu 100 DNS-Namen automatisch angefordert werden.

Kurzer Überblick zu Let’s Encrypt

Let’s Encrypt ist eine Zertifizierungsstelle (CA) die mittlerweile von nahezu jedem Gerät als vertrauenswürdig anerkannt wird. Ähnlich wie die bekannten CAs wie beispielsweise Thwate, Digicert und Comodo, akzeptieren also nahezu alle Browser, Clients und Geräte Zertifikate von Let’s Encrypt und zeigen keine Zertifikatswarnung wie “Diese Webseite ist unsicher” an.

Sophos UTM 9.6: Kostenlose Let’s Encrypt Zertifikate

Let’s Encrypt Zertifikate sind im Gegensatz zu den Zertifikaten anderer CAs kostenlos und können nahezu vollautomatisch angefordert und ausgestellt werden. Gerade SAN-Zertifikate mit mehreren Domain- und Hostnamen können bei den “alten Hasen” der CAs recht teuer werden. Zwar sind die Preise für Standard Zertifikate schon deutlich gesunken, allerdings zahlt man bei Thawte für ein domainvalidiertes SAN Zertifikat mit 2 Jahren Laufzeit immer noch 129 EUR. Zertifikate von anderen CA sind teilweise noch deutlich teurer.

Let’s Encrypt stellt ebenfalls domainvalidierte Zertifikate aus, allerdings immer nur mit einer Laufzeit von 3 Monaten. Wer also nicht manuell alle 3 Monate Zertifikate an Webservern und anderen Hosts tauschen möchte, muss sich hier Gedanken um die Automatisierung machen. Let’s Encrypt bietet dazu das Protokoll ACME (ja, es heißt wirklich so) an. Mit entsprechenden Clients die für nahezu jede Plattform zur Verfügung stehen, lassen sich automatisch Zertifikate anfordern und vor Ablauf erneuern. Die geringe Gültigkeit von 3 Monaten ist somit also auch kaum ein Problem. Mit der dem ACMEv2 Protokoll können sogar Wildcard Zertifikate angefordert werden. Hierfür ist allerdings eine Validierung via DNS nötig, dies macht die Automatisierung schwieriger. Zertifikate die mit dem ACMEv1 Protokoll angefordert werden, unterstützen neben der DNS Validierung auch die HTTP Validierung, dies lässt sich besonders gut automatisieren.

Let’s Encrypt stellt nur domainvalidierte Zertifikate aus, es muss also lediglich nachgewiesen werden, dass der Anforderer des Zertifikats Zugriff auf die entsprechende Domain hat. Extended Validation Zertifikate (grüner Balken im Browser) können nicht via Let’s Encrypt angefordert werden.

Let’s Encrypt bietet aktuell nur “Webserver” Zertifikate an, andere Zertifikatstypen wie S/MIME oder Code Signing Zertifikate können nicht angefordert werden.

Für alle Arten von Webservices lassen sich Let’s Encrypt Zertifikate allerdings wunderbar verwenden. Bevor irgendein Dienst im Internet per Plain-HTTP veröffentlicht wird (Mail, Extranet, Intranet, Benutzerportal, usw.), kann also mit wenig Aufwand und Kosten auch eine TLS-Verschlüsselte Kommunikation mittels Let’s Encrypt Zertifikate umgesetzt werden.

Sophos UTM 9.6 und Let’s Encrypt

Hinweis: Wie bei jeder anderen öffentlichen CA mit Domain Validierung auch, können keine Zertifikate mit nicht öffentlich auflösbaren DNS-Namen ausgestellt werden (Bsp. utm.frankysweb.local, hostxy.frankysweb.intern, etc). Wenn die UTM via ACMEv1 ein Zertifikat anfordert, validiert Let’s Encrypt die Domains via HTTP. Daher muss Let’s Encrypt alle konfigurierten Domain Namen via DNS auflösen und per Port 80 (http) erreichen können.

Let’s Encrypt lässt sich sehr einfach auf der UTM 9.6 konfigurieren. Wie schon erwähnt lassen sich allerdings nur SAN-Zertifikate anfordern. Wildcard Zertifikate lassen sich aufgrund der fehlenden ACMEv2 Unterstützung nicht anfordern.

Damit automatisch Let’s Encrypt Zertifikate angefordert und auch erneuert werden können, muss zunächst einmal die Einstellung “Let’s Encrypt Zertifikate zulassen” aktiviert werden:

Sophos UTM 9.6: Kostenlose Let’s Encrypt Zertifikate

Nachdem Let’s Encrypt aktiviert wurde, kann nun ein Zertifikat angefordert werden.

Für das neue Zertifikat muss ein Name angegeben und die Methode “Let’s Encrypt” ausgewählt werden. Der Punkt “Schnittstelle” ist in diesem Fall wichtig, hier muss die Schnittstelle angegeben werden, unter der die angegeben Domänen per Port 80 erreichbar sind. Alle angegebenen Domänen müssen im DNS auflösbar sein und via Port 80 aus dem Internet erreichbar sein. In der Regel handelt es sich hier also um externe Schnittstelle (WAN). Wenn mehrere externe WAN Schnittstellen zum Einsatz kommen, müssen in diesem Fall auch mehrere Zertifikate angefordert werden. Dies kann zum Beispiel der Fall sein, wenn das UTM Userportal unter WAN IP1 und die Webprotection via WAN IP2 erreichbar ist.

Im Feld “Domänen” müssen nun alle Hostnamen angegeben werden, die das Zertifikat enthalten soll:

Sophos UTM 9.6: Kostenlose Let’s Encrypt Zertifikate

Nachdem die Zertifikatsanforderung gespeichert wurde, kann im neuen Live Log “Let’s Encrypt” der Status kontrolliert werden:

Sophos UTM 9.6: Kostenlose Let’s Encrypt Zertifikate

Das Log ist auch sehr hilfreich bei der Fehlersuche, in meinem Fall wurde das Zertifikat erfolgreich ausgestellt:

Sophos UTM 9.6: Kostenlose Let’s Encrypt Zertifikate

Wenn das Zertifikat erfolgreich angefordert und ausgestellt wurde, wird das Zertifikat mit einem kleinen grünem Symbol versehen:

Sophos UTM 9.6: Kostenlose Let’s Encrypt Zertifikate

Bis hierher wurde das Zertifikat nur ausgestellt, es muss nun auch noch den angedachten Diensten zugeordnet werden. Das neue Zertifikat lässt sich nun also Beispielweise für das Admin Portal nutzen:

Sophos UTM 9.6: Kostenlose Let’s Encrypt Zertifikate

Das Zertifikat lässt sich natürlich auch für alle weiteren Dienste nutzen, wie zum Beispiel die Email Protection:

Sophos UTM 9.6: Kostenlose Let’s Encrypt Zertifikate

Hier noch ein Beispiel zur Nutzung des Zertifikats und der Webserver Protection:

Sophos UTM 9.6: Kostenlose Let’s Encrypt Zertifikate

Das Zertifikat ist 3 Monate lang gültig. den Austausch nimmt die UTM vor Ablauf automatisch vor. Eine erneute Zuweisung des Zertifikats an die verschiedenen Dienste ist dann nicht mehr nötig. Ob dies auch funktioniert, kann ich allerdings erst in 3 Monaten sagen.

Alternative für Wildcard Zertifikate

Let’s Encrypt bietet Clients für nahezu alle Betriebssysteme an, mit dem ACMEv1 Protokoll und der HTTP Validierung lassen sich die Zertifikate super automatisieren.

Für Wildcard Zertifikate ist allerdings das ACMEv2 Protokoll und damit auch die DNS-Validierung erforderlich. In den meisten Fällen erfordert die DNS-Validierung allerdings etwas manuellen Aufwand, denn der TXT-Record für die Validierung muss beim Hoster der Domain konfiguriert werden. Da die wenigsten Hoster eine API für ihre DNS-Server bereitstellen oder entsprechende Protokolle unterstützen, muss der TXT-Record in der Regel manuell angelegt und aktualisiert werden.

Die Webseite SSLforFree stellt ein Webinterface zur Verfügung welche die Zertifikate via Let’s Encrypt anfordert und die nötigen Einstellungen zu den Validierungsmöglichkeiten anzeigt:

Mit der Webseite SSLforFree lässt sich also Let’s Encrypt wie jede andere kommerzielle CA auch nutzen. Die Zertifikatslaufzeit beträgt allerdings weiterhin 3 Monate, bei nur wenigen Zertifikaten ist der Aufwand aber sicherlich zu vernachlässigen.

9 Replies to “Sophos UTM 9.6: Kostenlose Let’s Encrypt Zertifikate”

  1. Hallo Franky;
    …Da die wenigsten Hoster keine API für ihre DNS-Server bereitstellen oder entsprechende Protokolle unterstützen, muss der TXT-Record in der Regel manuell angelegt und aktualisiert werden. …

    Ich denke, dir ist da ein Tippfehlerchen unterlaufen, sollte wohl „eine API “ statt „keine API “ heissen ;-)

  2. Hallo Franky,
    ich habe soeben bei meinem Test folgende Meldung erhalten:

    2018:12:02-19:12:01 utm letsencrypt[6766]: E Renew certificate: aborting, failed to acquire an exclusive lock: Resource temporarily unavailable
    2018:12:02-19:13:01 utm letsencrypt[7066]: E Renew certificate: aborting, failed to acquire an exclusive lock: Resource temporarily unavailable
    2018:12:02-19:14:01 utm letsencrypt[8029]: E Renew certificate: aborting, failed to acquire an exclusive lock: Resource temporarily unavailable

    DANACH KOMMT DANN DOCH FOLGENDES:

    2018:12:02-19:14:35 utm letsencrypt[5724]: I Renew certificate: command completed with exit code 0
    2018:12:02-19:14:35 utm letsencrypt[5724]: I Renew certificate: temporary certificate exists, updat ……

  3. Hallo Franky,

    wie haben bei uns ja nun auch eine UTM (bald eine 2. für HA) im Einsatz. Bei den letzten Updatereleases musste ich schon öfters mit der Stirn runzeln, als ich dann die Qualitätssicherung von Sophos an eigenen Leib erfahren durfte. Was da mehr an Fehlern reinkommt ist schon eine Hausnummer.

    Bin daher aktuell sehr skeptisch mit dem Update obwohl ich schon kurzfristig das SSL Thema mit LetsEncrypt frühstücken würde wollen.

    Hast du zwischenzeitlich schon von etwaigen Problemen was mitbekommen? S/MIME + SPX funktioniert noch?

    Grüße
    Manu

  4. Hallo, wenn man einen DNAT-Eintrag hat der aktiv ist funktioniert das LE-Cert ausstellen auch nicht. Dies muss dafür abgeschaltet werden. Falls einer am Verzweifeln ist :-)

  5. Ist es mit diesem Zertifikat auch möglich die Webprotection bzw. das https-scannin durchzuführen ohne das Zertifikat auf jedem browser verteilen zu müssen?

  6. Dank für die Info Frank.
    Gibt es denn ne Möglichkeit das https-scanning durchzuführen und dabei nur auf der Sophos ein Zertifikat zu installieren ohne auf jeden Browser hinterlegen zu müssen?

    Beste Grüße
    Andreas

  7. Hi Andreas, so wie du dir das vermutlich vorstellst, funktioniert das nicht. Auf der UTM läuft eine Zertifizierungsstelle. D.h. du brauchst ein Zertifizierungsstellenzertifikats samt privatem Schlüssel, dem öffentlich vertraut wird. Das dürfte etwas aufwändig werden ;)

    Für AD-Mitglieder bietet sich der Import des Zertifizierungsstellenzertifikats per GPO an. Oder alternativ die Verwendung des Zertifizierungsstellenzertifikats der eigenen Zertifizierungsstelle auf der UTM.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.