Zum Inhalt springen
Avanet

Sophos Firewall Let's Encrypt Zertifikate einrichten

Mit der integrierten Let’s-Encrypt-Funktion von Sophos Firewall 22 lassen sich Zertifikate für öffentliche FQDNs anfordern und automatisch erneuern. Die Firewall verwendet dafür HTTP-01 über IPv4. Während jeder Validierung erstellt sie vorübergehend eine WAF-Regel; in diesem Zeitraum sind alle durch WAF-Regeln geschützten Webanwendungen über die Firewall nicht verfügbar.

⚠️ Eine Ausstellung oder Erneuerung ist deshalb eine mögliche Betriebsunterbrechung. Bei produktiven WAF-Veröffentlichungen gehört sie in ein kontrolliertes Wartungsfenster. Port 80 darf währenddessen weder durch DNAT noch durch Firewall-, GeoIP- oder vorgelagerte Regeln auf ein anderes Ziel gelenkt oder blockiert werden.

Schnellweg

  1. Alle FQDNs öffentlich und weltweit konsistent auf die gewählte IPv4-Adresse auflösen lassen.
  2. Prüfen, dass eingehendes HTTP auf Port 80 die Firewall erreicht und kein DNAT auf dieser Adresse und diesem Port greift.
  3. Unter Certificates > Let’s Encrypt die Bedingungen lesen und mit Register account registrieren.
  4. Unter Certificates > Certificates auf Add klicken, bei Action Request Let’s Encrypt certificate wählen und Name, Domains sowie Hosted address ausfüllen.
  5. Nach Save das gültige Zertifikat dem vorgesehenen Dienst zuweisen und diesen von aussen testen.
  6. Ablaufdatum, Port-80-Pfad und letsencrypt.log spätestens vor dem Erneuerungsfenster kontrollieren.

Einsatz und Grenzen

Geeignet ist die Integration für Dienste, bei denen die Firewall das Zertifikat selbst ausliefert, etwa WAF, WebAdmin, User Portal, VPN Portal als Weboberfläche, Captive Portal, SPX-Portale oder eine Hotspot-Anmeldeseite. Für eine WAF-Veröffentlichung erklärt Sophos Firewall WAF: Webserver sicher veröffentlichen die übrige Regelkonfiguration.

Sophos nennt für den eingebauten Weg klare Grenzen:

  • Unterstützt werden nur öffentliche FQDNs und IPv4.
  • Die Domainvalidierung erfolgt mit HTTP-01. In dieser SFOS-Integration sind IP-Adressen und Wildcard-Domains nicht zulässig.
  • Remote Access VPN, Site-to-Site VPN und der Chromebook-SSO-Authentifizierungsdienst können diese Let’s-Encrypt-Zertifikate nicht verwenden. Das Zertifikat des browserbasierten VPN Portal ist davon zu unterscheiden.
  • Zertifikate gelten 90 Tage. SFOS fordert die Erneuerung an, sobald weniger als 30 Tage Restlaufzeit verbleiben.
  • Nach Deregister account werden vorhandene Zertifikate nicht mehr erneuert.

Sophos hat die Integration mit SFOS 21 eingeführt. Den damaligen Funktionsumfang ordnet Sophos Firewall v21: die wichtigsten Neuerungen ein.

Ein Wildcard-Zertifikat wird stattdessen extern per DNS-01 erstellt; der Ablauf steht unter Let’s Encrypt Wildcard Zertifikat erstellen. Import, Private Key und CA-Kette behandelt Zertifikate auf Sophos Firewall verwalten. Weitere IPv6-Grenzen fasst Sophos Firewall IPv6 Support in SFOS 22 zusammen.

DNS und Netzwerkpfad vorbereiten

Für jeden Namen unter Domains gelten dieselben Voraussetzungen:

  • Der öffentliche DNS-Record muss auf die WAN-IPv4-Adresse der Firewall oder auf eine Adresse zeigen, die Port 80 zur Firewall routet.
  • Alle öffentlichen DNS-Resolver müssen dieselbe Zieladresse liefern. GeoDNS mit regional unterschiedlichen Antworten ist für diesen Ablauf ungeeignet.
  • Im DNS-Record soll nur eine IP-Adresse stehen. Mehrere Adressen funktionieren laut Sophos nur, wenn es sich um andere Firewalls handelt, die HTTP zur anfordernden Firewall weiterleiten.
  • Eingehender Port 80 darf weder durch eine Firewallregel noch durch ein vorgelagertes Gerät blockiert sein. Das schliesst GeoIP-Regeln ein; Let’s Encrypt validiert aus vielen Ländern und veröffentlicht dafür keine festen Quell-IP-Bereiche.
  • Auf der WAN-Adresse darf für Port 80 kein DNAT der Firewall greifen. Steht die Firewall hinter einem Router mit der öffentlichen Adresse, muss dagegen dieser Router Port 80 auf die WAN-Schnittstelle der Firewall weiterleiten.
  • Eine SD-WAN-Route darf ausgehendes HTTP nicht über ein Gerät führen, das die Kommunikation mit Let’s Encrypt verhindert.

Datum und Uhrzeit sollten über NTP stimmen. Vor dem Antrag sind DNS und Port 80 von ausserhalb des eigenen Netzes zu prüfen; ein Test aus dem LAN kann durch Split-DNS oder NAT Loopback ein falsches positives Ergebnis liefern.

Account registrieren oder abmelden

  1. Certificates > Let’s Encrypt öffnen.
  2. Subscriber Agreement und Bedingungen lesen.
  3. Register account anklicken.

Mit dem Klick akzeptiert man das Subscriber Agreement. Ändert Let’s Encrypt die Bedingungen, verlangt SFOS eine erneute Registrierung. Ohne diese Bestätigung können keine neuen Zertifikate erstellt werden und bestehende werden nicht erneuert. Sophos nennt dafür eine E-Mail an den Administrator und eine Meldung im Control Center; E-Mail-Benachrichtigungen werden unter Administration > Notification settings konfiguriert.

Deregister account hebt die Registrierung auf. Das löscht nicht automatisch jedes vorhandene Zertifikat, stoppt aber dessen künftige Erneuerung. Vor dem Abmelden müssen daher Ersatz, Zuweisungen und Ablaufdaten geklärt sein.

Zertifikat anfordern

  1. Certificates > Certificates öffnen und Add wählen.
  2. Bei Action Request Let’s Encrypt certificate auswählen.
  3. Einen eindeutigen Name eintragen, zum Beispiel le-app-example-com.
  4. Unter Domains alle benötigten FQDNs ergänzen, zum Beispiel app.example.com. Keine IP-Adresse und kein *.example.com verwenden.
  5. Unter Hosted address die öffentliche IPv4-Adresse der WAN-Schnittstelle auswählen, auf welche die Domains zeigen.
  6. Save anklicken und die WAF-Unterbrechung einplanen.
  7. Unter Certificates > Certificates kontrollieren, ob das Zertifikat gültig und vertrauenswürdig ist und ein plausibles Valid until besitzt.

Ist ein FQDN falsch, wird die fehlerhafte Anforderung entfernt und mit dem korrekten Namen neu erstellt. Vor einem weiteren Versuch zuerst DNS und Port-80-Pfad korrigieren, statt wiederholt dieselbe ungültige Anfrage zu senden.

Zertifikat zuweisen

Die Ausstellung allein ändert noch keinen Dienst. SFOS 22 dokumentiert folgende Zuweisungen:

  • WAF: Unter Rules and policies > Firewall rules die WAF-Regel bearbeiten, HTTPS aktivieren und das Zertifikat bei HTTPS certificate auswählen. Dessen Domains werden in die Regel übernommen. Das Speichern einer WAF-Regel startet alle Web-Server-Protection-Regeln neu und trennt deren aktive Verbindungen.
  • WebAdmin, User Portal, VPN Portal, Captive Portal und SPX-Portale: Unter Administration > Admin and user settings > Admin console and end-user interaction > Certificate das Zertifikat für den jeweiligen Dienst auswählen.
  • Hotspot: Unter Wireless > Wireless settings > Hotspot settings bei Login page certificate auswählen und Apply anklicken. Diese Auswahl wirkt, wenn Redirect to HTTPS für den Hotspot aktiv ist.

Danach den konkreten FQDN von aussen aufrufen. Zertifikatsname, SNI, WAF-Domains und tatsächlich ausgeliefertes Zertifikat müssen übereinstimmen. Für SMTP-TLS oder andere Funktionen nur eine in der jeweiligen SFOS-22-Maske angebotene Zertifikatsauswahl verwenden; die oben genannten Portalzuweisungen gelten nicht automatisch für diese Dienste.

Sicher zuweisen, löschen oder zurückbauen

Vor der Umstellung das bisherige Zertifikat und alle betroffenen Zuweisungen dokumentieren, ein aktuelles Konfigurationsbackup erstellen und einen externen Testzugang bereithalten. Das neue Zertifikat möglichst zuerst einem Dienst zuweisen und diesen mit seinem echten FQDN prüfen. Schlägt der Test fehl, in derselben Dienstkonfiguration wieder das vorherige Zertifikat auswählen und mit Save beziehungsweise Apply bestätigen. Bei WAF ist dabei erneut mit dem Neustart aller Web-Server-Protection-Regeln und getrennten aktiven Verbindungen zu rechnen.

Das bisherige Zertifikat erst löschen, wenn alle betroffenen Dienste extern geprüft und Ablaufdatum sowie Erneuerungsverantwortung geklärt sind. Vor dem Löschen jede bekannte Dienstzuweisung auf das neue oder ein anderes gültiges Zertifikat umstellen. Ein Backup ist der letzte Rückweg, nicht der erste: Sein Restore ersetzt die gesamte laufende Konfiguration und startet die Firewall neu.

Erneuerung, HA und Backup

Die automatische Erneuerung beginnt bei weniger als 30 Tagen Restlaufzeit und benötigt dieselben DNS-, IPv4- und Port-80-Voraussetzungen wie die Erstausstellung. Nach DNS-, Provider-, NAT-, GeoIP-, SD-WAN-, WAF- oder Firmwareänderungen sollte man den Pfad deshalb erneut prüfen. Ein gültiges Zertifikat ist kein Beweis dafür, dass die nächste Validierung noch funktioniert.

Sophos beschreibt Backups als verschlüsselte Sicherung der gesamten Firewallkonfiguration. Vor Zertifikats- oder WAF-Änderungen ist ein aktuelles Backup sinnvoll; beim Restore ersetzt es jedoch die laufende Konfiguration und startet die Firewall neu. Danach sind Accountstatus, Zertifikate, Dienstzuweisungen und externe Auslieferung erneut zu kontrollieren.

In einem HA-Cluster wird ein Backup auf dem aktuellen Primary wiederhergestellt, nie auf dem Auxiliary. Der Primary startet dabei ohne Failover neu, sodass in Active-Passive und Active-Active eine Unterbrechung entsteht. Enthält das Backup die HA-Konfiguration, synchronisiert der Primary die wiederhergestellte Konfiguration anschliessend zum Auxiliary. Enthält es keine HA-Konfiguration, wird HA deaktiviert und der Auxiliary behält zunächst seine vorherige Konfiguration; dann ist der von Sophos dokumentierte Wiederherstellungsablauf zu befolgen. Sophos dokumentiert auf der Let’s-Encrypt-Seite keine darüber hinausgehende Sonderlogik für Account oder Erneuerung. Daher nach Restore oder Rollenwechsel nicht auf Annahmen verlassen, sondern Zertifikatsstatus und einen externen TLS-Test prüfen.

Validieren und Fehler eingrenzen

Nach Ausstellung und nach jeder Erneuerung prüfen:

  • öffentliches DNS aus mehreren Regionen;
  • das Zertifikat unter Certificates > Certificates;
  • den betroffenen Dienst von ausserhalb des LANs;
  • FQDN, SANs, Issuer, Ablaufdatum und vollständige Zwischenzertifikatskette;
  • Log viewer und bei WAF tail -f /log/reverseproxy.log;
  • Ausstellung und Erneuerung in letsencrypt.log.

Von einem externen Admin-Rechner zeigt dieser rein lesende Befehl die vom Dienst gesendeten Zertifikate. app.example.com ist zweimal durch den echten FQDN zu ersetzen:

openssl s_client -connect app.example.com:443 -servername app.example.com -showcerts </dev/null

Das Serverzertifikat und die benötigten Intermediate-Zertifikate müssen erscheinen. Der Root-Vertrauensanker wird normalerweise nicht mitgesendet. Ein zweiter Test verwendet den Truststore des Rechners:

curl -Iv https://app.example.com/

In der Advanced Shell lässt sich das offizielle Let’s-Encrypt-Log mitverfolgen; Ctrl+C beendet die Ausgabe:

tail -f /log/letsencrypt.log

Für allgemeine Zertifikatsvorgänge nennt Sophos tail -f /log/vpncertificate.log, für WAF tail -f /log/reverseproxy.log. SFOS 22.0 MR2 Build 546 ergänzt die Unterstützung für YE Root, YE1, YE2, YR Root, YR1 und YR2. Wenn nur einzelne ältere Clients nach einer Erneuerung scheitern, deren Truststore prüfen; wenn der Server ein Intermediate nicht mitsendet, zuerst Firmwarestand, Dienstzuweisung und vorgeschaltete Proxies prüfen und anschliessend mit den Testergebnissen an Sophos Support eskalieren.

Typische Ursachen lassen sich so eingrenzen:

  • Anforderung scheitert sofort: öffentlichen FQDN, weltweit einheitliche DNS-Antwort und IPv4-Ziel prüfen.
  • Port 80 erreicht ein anderes System: DNAT auf der Firewall entfernen oder korrigieren; bei vorgelagertem Router dessen Weiterleitung zur Firewall prüfen.
  • Fehler nur aus bestimmten Regionen: GeoIP- und Providerfilter prüfen. Keine Freigabe auf vermeintliche Let’s-Encrypt-IP-Listen beschränken.
  • Fehler nach einer Routingänderung: ausgehende SD-WAN-Route für HTTP prüfen.
  • Altes Zertifikat wird ausgeliefert: Zuweisung im Dienst sowie Load Balancer oder Reverse Proxy davor prüfen.
  • Erneuerung bleibt aus: Restlaufzeit, Registrierung, geänderte Bedingungen und den unveränderten HTTP-01-Pfad prüfen.
  • EAP-Zertifikat mit dynamischer IP erneuert im GA-Build nicht: Diesen von Sophos ausdrücklich genannten Sonderfall löschen und im GA-Build neu erstellen.

FAQ

Warum muss Port 80 offen sein?

Die SFOS-Integration verwendet HTTP-01. Diese Challenge läuft ausschliesslich über Port 80; Weiterleitungen zu HTTPS darf Let’s Encrypt folgen, die erste Verbindung muss Port 80 aber erreichen.

Wann erneuert Sophos Firewall das Zertifikat?

Das Zertifikat gilt 90 Tage. SFOS fordert die Erneuerung an, sobald weniger als 30 Tage verbleiben. Die Voraussetzungen der Erstausstellung gelten erneut.

Kann man das Zertifikat für VPN verwenden?

Für das browserbasierte VPN Portal kann es ausgewählt werden. Remote Access VPN und Site-to-Site VPN selbst sind laut Sophos von dieser Integration ausgeschlossen.

Was passiert mit WAF während der Validierung?

Während der Validierung eines CSR sind die durch WAF-Regeln geschützten Webanwendungen über die Firewall nicht verfügbar. Zusätzlich trennt das Speichern einer WAF-Regel aktive Web-Server-Protection-Verbindungen.