Sophos UTM 9.6: Free Let's Encrypt certificates

Sophos UTM 9.6 now also offers the long-awaited support for free Let's Encrypt certificates. Although the UTM only supports the ACMEv1 protocol and therefore cannot request wildcard certificates, SAN certificates with up to 100 DNS names can be requested automatically.

Brief overview of Let's Encrypt

Let's Encrypt is a certification authority (CA) that is now recognized as trustworthy by almost every device. Similar to the well-known CAs such as Thwate, Digicert and Comodo, almost all browsers, clients and devices accept certificates from Let's Encrypt and do not display a certificate warning such as "This website is insecure".

Sophos UTM 9.6: Free Let's Encrypt certificates

In contrast to the certificates of other CAs, Let's Encrypt certificates are free of charge and can be requested and issued almost fully automatically. SAN certificates with several domain and host names in particular can be quite expensive with the "old hands" of the CAs. Although the prices for standard certificates have already fallen significantly, you still pay EUR 129 for a domain-validated SAN certificate with a 2-year term at Thawte. Certificates from other CAs are sometimes even more expensive.

Let's Encrypt also issues domain-validated certificates, but only for a period of 3 months. So if you don't want to manually exchange certificates on web servers and other hosts every 3 months, you need to think about automation. Let's Encrypt offers the ACME protocol (yes, it really is called that) for this purpose. With the appropriate clients, which are available for almost every platform, certificates can be automatically requested and renewed before they expire. The short validity period of 3 months is therefore hardly a problem. Wildcard certificates can even be requested using the ACMEv2 protocol. However, this requires validation via DNS, which makes automation more difficult. Certificates that are requested with the ACMEv1 protocol also support HTTP validation in addition to DNS validation, which is particularly easy to automate.

Let's Encrypt only issues domain-validated certificates, so it is only necessary to prove that the person requesting the certificate has access to the corresponding domain. Extended Validation certificates (green bar in the browser) cannot be requested via Let's Encrypt.

Let's Encrypt currently only offers "web server" certificates, other certificate types such as S/MIME or code signing certificates cannot be requested.

However, Let's Encrypt certificates can be used wonderfully for all types of web services. Before any service is published on the Internet via plain HTTP (mail, extranet, intranet, user portal, etc.), TLS-encrypted communication can also be implemented using Let's Encrypt certificates with little effort and cost.

Sophos UTM 9.6 and Let's Encrypt

Note: As with any other public CA with domain validation, no certificates can be issued with DNS names that cannot be publicly resolved (e.g. utm.frankysweb.local, hostxy.frankysweb.intern, etc.). If the UTM requests a certificate via ACMEv1, Let's Encrypt validates the domains via HTTP. Let's Encrypt must therefore be able to resolve all configured domain names via DNS and reach them via port 80 (http).

Let's Encrypt is very easy to configure on the UTM 9.6. However, as already mentioned, only SAN certificates can be requested. Wildcard certificates cannot be requested due to the lack of ACMEv2 support.

In order for Let's Encrypt certificates to be requested and renewed automatically, the setting "Allow Let's Encrypt certificates" must first be activated:

Sophos UTM 9.6: Free Let's Encrypt certificates

After Let's Encrypt has been activated, a certificate can now be requested.

A name must be specified for the new certificate and the "Let's Encrypt" method must be selected. The "Interface" item is important in this case; the interface under which the specified domains can be reached via port 80 must be specified here. All specified domains must be resolvable in the DNS and accessible from the Internet via port 80. As a rule, this is therefore an external interface (WAN). If several external WAN interfaces are used, several certificates must also be requested in this case. This may be the case, for example, if the UTM user portal is accessible via WAN IP1 and the web protection via WAN IP2.

All host names that the certificate should contain must now be entered in the "Domains" field:

Sophos UTM 9.6: Free Let's Encrypt certificates

After the certificate request has been saved, the status can be checked in the new "Let's Encrypt" live log:

Sophos UTM 9.6: Free Let's Encrypt certificates

The log is also very helpful for troubleshooting, in my case the certificate was issued successfully:

Sophos UTM 9.6: Free Let's Encrypt certificates

If the certificate has been successfully requested and issued, the certificate is marked with a small green symbol:

Sophos UTM 9.6: Free Let's Encrypt certificates

Up to this point, the certificate has only been issued, it must now also be assigned to the intended services. The new certificate can now be used for the Admin Portal, for example:

Sophos UTM 9.6: Free Let's Encrypt certificates

The certificate can of course also be used for all other services, such as email protection:

Sophos UTM 9.6: Free Let's Encrypt certificates

Here is an example of the use of the certificate and web server protection:

Sophos UTM 9.6: Free Let's Encrypt certificates

The certificate is valid for 3 months. The UTM automatically replaces the certificate before it expires. It is then no longer necessary to reassign the certificate to the various services. However, I can only say in 3 months whether this will work.

Alternative for wildcard certificates

Let's Encrypt offers clients for almost all operating systems, and with the ACMEv1 protocol and HTTP validation, the certificates can be highly automated.

However, wildcard certificates require the ACMEv2 protocol and therefore also DNS validation. In most cases, however, DNS validation requires some manual effort, as the TXT record for validation must be configured by the domain hoster. As very few hosters provide an API for their DNS servers or support corresponding protocols, the TXT record usually has to be created and updated manually.

The SSLforFree website provides a web interface which requests the certificates via Let's Encrypt and displays the necessary settings for the validation options:

With the SSLforFree website, Let's Encrypt can also be used like any other commercial CA. However, the certificate duration is still 3 months, but with only a few certificates the effort is certainly negligible.

35 thoughts on “Sophos UTM 9.6: Kostenlose Let’s Encrypt Zertifikate”

  1. Hallo Leute,

    ich habe eben ein Zertifikat von LE bekommen.
    Scheint also doch (wieder) zu funktionieren.
    Oder noch, weil wir ein paar updates zurückliegen ;)

    Gruß
    Norbert

    Reply
  2. Hallo, zusammen,
    sehr interessanter Artikel!
    2 Fragen:
    – bisher hatte ich LetsEncrypt auf einer Nextcloud HINTER der SophosUTM laufen gehabt -> Mit einer DNat-Regel für Port 80 + 443 in Richtung der Nextcloud-Maschine funktioniert das auch super.
    Jetzt möchte ich gerne ein Zertifikat durch die UTM erstellen (lassen), die DNat-Regeln dann abschalten.
    Habe ich es richtig verstanden: die Geräte HINTER der UTM profitieren dann von diesem einen Zertifikat, egal, auf welchem Port die internen Server liegen?
    Und: gibt es beim Zertifikat-Erstellen mit LetsEncrypt Probleme, wenn CountryBlocking eingeschaltet ist? Was für eine (Länder-) Ausnahme muss ich vorsehen, damit LetsEncrypt auch regelmässig erneuert + funktioniert? Vielen Dank für eine oder zwei oder drei Antworten. VG Jens

    Reply
    • Hi Jens,

      wie hast du die Nextcloud in der UTM freigegeben? Ich versuche es aber es klappt nicht.
      Mein use case
      1. nextcloud lokal installiert 192.100.10.111
      2. unter webserver protection realer + virtueller webserver angelegt

      lokal komme ich auf die nextcloud aber über die domain klappt es nicht.

      Wo kann der Fehler liegen oder was ist noch einzurichten, damit es klappt?

      Danke im Voraus

      Reply
      • Hi,
        Eine Subdomain mit A-Record auf Deine feste IP am WAN-Interface Deiner Sophos hast Du schon eingerichtet?

        Das LE-Zertifikat muß dann die gleiche Subdomain beinhalten.

        Dein realer Webserver ist die Nextcloud mit Port 443.

        Als virtuellen Webserver machst Du als Port 443 mit Redirect, verweist auf Dein LE-Zertifikat und wichtig: unter Advanced den Haken bei „Pass Host Header“ setzen.

        Nun steht schonmal die Strecke und alle Häckchen sollten grün werden.

        Aber: Die Nextcloud akzeptiert den externen Zugriff erst, wenn Du Deine Subdomain in der config.php hinzufügst. Das geht per ssh z.B. mit putty. Google danach mal. Gibt viele Anleitungen dazu. Bin nur gerade am Autofahren und kann das nicht detailliert tippen.

        Viel Erfolg. Ansonsten gerne nochmal schreiben.

        Gruß
        Christoph

        Reply
  3. Schade – Sophos hat so lange gebraucht, dass das Ganze gerade mal ein einziges Jahr lang funktioniert hat.

    Da Sophos nur ACMEv1 kann – Let’sEncrypt aber nunmehr bei ACMEv2 gelandet ist – hilft es leider herzlich wenig.

    Reply
  4. Mit der aktuellen Version kann man Lets_encrypt nicht mehr aktivieren.
    Mit dem genutzten ACMEv1 Protokoll kann man keine neuen Accounts mehr erstellen…

    Reply
  5. Hallo zusammen,

    gibt es denn schon Erfahrungen mit dem auto-renew?

    Ich habe das Ganze jetzt auch mal eingerichtet und hoffe, dass ich jetzt nicht alle 3 Monate da Hand anlegen muss, um das Zertifikat zu verlängern.

    Reply
  6. Jetzt muss Sophos nur noch die neue tls-alpn-challange implementieren. Dann wäre das ganze eine echte Alternative für ein normales Zertifikat.
    Bei uns ist die Lösung über HTTP nicht umsetzbar, da oft die Webseiten von anderen Anbietern gehostet wird. Und wir nur spezielle Services wie Mail, Benutzerportal, usw. über den Sophos veröffentlichen.
    Hoffentlich brauchen Sie nicht wieder solange …

    Reply
    • Hi,

      die Datei „u2d-sys-9.510005-600005.tgz.gpg“ besagt, daß es ein Update von 9.510-005 auf 9.600-005 ist. Die kannst Du nehmen, wenn Du bereits die v9.510-005 hast.

      MfG
      Christoph

      Reply
  7. Hallo Franky,

    Du hast tolle Artikel auf Deinem Blog.

    Bezüglich LetsEnCrypt habe ich mit der 9.6er UTM eine Frage bezüglich der Zertifikatsprüfung, die über Port 80 erfolgt. Wie routet man den Traffic?

    Habe eine Feste ipV4 IP. 443 wird über die WAF der UTM geroutet. Port 80 geht per IPS und Firewall durch die UTM auf den Webserver.

    Wie kann bei der Zertifikatsprüfung dir Prüfurl auf die UTM gelangen? Denke, das ich Port 80 auch per WAF routen muß und per SItePathROuting auf die WAF leiten.

    Kannst Du dazu vielleicht ein paar TIps und Anmerlkungen geben.

    Danke

    Erik

    Reply
    • Hallo Erik,
      beim Erstellen des LE Zertifikats, kannst du das Interface auswählen, SitePath Routing wird dann durch die UTM automatisch gesteuert. Das Interface muss dann per Port 80 aus dem Internet erreichbar sein.
      Gruß, Frank

      Reply
  8. Ich habe mich heute auch mal an das Setup von Let‘ Encrypt auf meiner UTM gemacht – hat wie hier im Blog beschrieben einwandfrei funktioniert.

    Ich würde das Zertifikat auch gerne auf dem Exchange-Server selbst installieren, damit ich auch den den Geräten in internen Netz vom Zertifikat profitieren kann. Im internen Netz verwende ich die gleiche Notation wie bei der externen Domain.
    Mit manuellem Export des Zertifikats und manuellem Import auf dem Exchange klappt das auch einwandfrei. Da der Prozess aber nun alle drei Monate ansteht, bin ich auf der Suche nach einer automatisierten Lösung. Hat da evtl. schon mal jemand etwas entwickelt?

    Grüße
    Oliver

    Reply
    • Hallo Martin,

      soweit ich weiss, kommen Versionsupgrades nie per AutoUpdate.
      Einfach ISO-Datei runterladen, CD brennen und USB-CD-Laufwerk anstöpseln, Strom kurz abziehen und die UTM neu starten lassen, dann zieht sie sich das Upgrade automatisch von CD. Hat bei mir 20 min gedauert.
      WICHTIG!!! Vorher die Konfig sichern. Nach dem Upgrade befindet sich die UTM wieder im Auslieferungszustand.
      Standard IP und Passwort für dein Modell ergoogeln und Rechner entsprechend vorbereiten.

      Reply
      • Eine SG230 hat Ende letzter Woche das Update angeboten bekommen – das Update ist problemlos durchgelaufen. Bei einer weiteren SG230 und zwei SG125 noch kein Update in Sicht.

        Reply
      • Hallo,

        Ihr könnt direkt aus dem Menü der Up2Date-Funktion auf den ftp-Server gehen
        und das Update-Paket manuell laden und dann manuell hochladen und aktivieren.

        Einen Augenblick später taucht das Update in der Übersicht auf und Ihr könnt das entsprechend anstoßen.

        Gruß Christoph

        Reply
  9. Eine sehr gute Erklärung! Vielen Dank!
    Was mich aber noch interessiert und ich keine Info dazu finde ist: was passiert mit den zuvor erstellten Zertifikaten auf meiner Linux-Maschine? Muss ich die löschen? Denn dann sind ja 2 verschiedene Zertifikate im Einsatz.

    Vielen Dank

    Reply
  10. Hallo Frank,

    kurze Frage dazu:

    Ich habe hinter der UTM ein Synology-NAS mit der Anwendung „Drive“ am Laufen. Der Anwendung habe ich Port 10003 auf https gegeben und den Zugriff per http gesperrt. In dem NAS habe ich dann ein LE-Zertifikat erzeugt und dieses dann an die Anwendung gebunden. Das erstellte Zertifikat habe ich heruntergeladen und in die UTM importiert. Dann eine Subdomain eingerichtet, welche auf meine externe IP zeigt. In der Sophos als virtuellen Webserver das Drive angegeben und mit dem zuvor hochgeladenen Zertifikat verknüpft.

    Dieses bedeutet, daß der Zugriff vom Internet zur UTM per https abläuft und von der UTM zum NAS ebenfalls. Hat auch alles geklappt.

    Nun habe ich das Zertifikat im NAS gelöscht und ein neues über die LE-Funktion der UTM erzeugen lassen und im virtuellen Webserver das neue Zertifikat mit dem Dienst des NAS verknüpft.

    Nun meckert das NAS aber, daß ein ungültiges Zertifikat vorhanden ist. Ich habe dann versucht, daß LE-Zertifikat der UTM downzuloaden und in das NAS zu importieren. Von der UTM kann ich lediglich eine pem-.Datei oder eine p12-Datei downloaden. Wenn ich eine davon in das NAS importieren will, dann wird nach dem Private-Key gefragt. Den habe ich ja aber nicht. Wo bekomme ich den denn her?

    Ich habe dann die Kommunikation intern zwischen UTM und NAS wieder auf http gestellt. Dann funktionierts. Ist ja aber nicht Sinn der Sache, wenn ich mit einem LE-Zertifikat von der UTM auf meinen Exchange möchte. Da läuft bisher mit den SSL-Zertifikaten doch auch alles per https ab….

    Bitte bringe mich einmal auf den aktuellen Wissensstand ;-). Vielen Dank im voraus.

    Gruß Christoph

    Reply
  11. 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.

    Reply
    • Ich habe ein „Gäste-Wlan“ laufen, dass gefiltert wird. Ich würde in diesem gerne das https-scanning aktivieren ohne das die User (zumeist Schüler) Zertifikate importieren müssen.

      Reply
      • Hallo Andreas,
        ohne das Importieren eines Zertifikats kannst du kein https-Inspection durchführen. Ich würde hier auf https-Inspection verzichten und nur auf die Applikation / URL-Filter setzen.
        Gruß,
        Frank

        Reply
  12. 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

    Reply
  13. 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?

    Reply
  14. 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 :-)

    Reply
    • Ich habe Firmwareversion 9.601-5 und drei aktive DNAT Einträge. Das Zertifikat ließ sich problemlos ausstellen.

      Reply
      • Es darf keinen DNAT-Eintrag für Port 80 geben! Der muss direkt an der externen Schnittstelle anliegen.
        Danke an Herta Bader,
        ich nehme an Michael hat zwar DNAT an, aber auf anderen Ports

        Reply
  15. 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

    Reply
  16. 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 ……

    Reply
  17. 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 ;-)

    Reply

Leave a Comment