Configurer les certificats Let's Encrypt sur Sophos Firewall
La fonctionnalité intégrée Let’s Encrypt dans Sophos Firewall 22 demande et renouvelle les certificats pour les noms de domaine complets publics. Il utilise HTTP-01 sur IPv4. Pour chaque validation, le pare-feu crée une règle WAF temporaire ; pendant la validation, les applications Web protégées par les règles WAF ne sont pas disponibles via le pare-feu.
Les étapes de configuration et d’attribution présentées ici concernent SFOS 22. Le calendrier de renouvellement différent de SFOS 23 est expliqué explicitement dans la section consacrée au renouvellement.
⚠️ L’émission et le renouvellement peuvent donc interrompre le service. Effectuez les modifications déclenchées manuellement dans une fenêtre de maintenance contrôlée pour les applications WAF en production et tenez également compte du moment du renouvellement automatique, qui dépend de la version. Les pages Sophos comparées ici ne documentent aucun réglage permettant de choisir librement ce moment. Lors de la validation, le port
80ne doit pas être bloqué ou envoyé ailleurs par DNAT, pare-feu, GeoIP ou règles en amont.
Procédure rapide
- Faites en sorte que chaque nom de domaine complet soit résolu publiquement et de manière cohérente dans le monde entier à l’adresse IPv4 sélectionnée.
- Confirmez que le HTTP entrant sur le port
80atteint le pare-feu et qu’aucun DNAT ne s’applique à cette adresse et à ce port. - Accédez à Certificates > Let’s Encrypt, lisez les conditions et cliquez sur Register account.
- Accédez à Certificates > Certificates, cliquez sur Add, sélectionnez Request Let’s Encrypt certificate sous Action et complétez Name, Domains et Hosted address.
- Après avoir cliqué sur Save, attribuez le certificat valide au service prévu et testez-le en externe.
- Vérifiez la date d’expiration, le chemin du port 80 et
letsencrypt.logavant la fenêtre de renouvellement.
Utilisations et limitations
L’intégration convient aux services pour lesquels le pare-feu présente le certificat, notamment WAF, WebAdmin, User Portal, les portails VPN Portal, Captive Portal basés sur un navigateur, SPX et la connexion par point d’accès. Pour le reste d’une publication WAF, voir Sophos Firewall WAF : Publier des serveurs Web en toute sécurité.
Sophos documente ces limites :
- Seuls les FQDN publics et IPv4 sont pris en charge.
- La validation utilise HTTP-01. Cette intégration SFOS n’accepte pas les adresses IP ni les domaines génériques.
- Remote Access VPN, Site-to-Site VPN et le service d’authentification Chromebook SSO ne peuvent pas utiliser ces certificats. Le certificat VPN Portal basé sur un navigateur est un paramètre distinct.
- Pour SFOS 22, Sophos indique une validité de 90 jours et une demande de renouvellement lorsqu’il reste moins de 30 jours. Dans SFOS 23, le renouvellement dépend de la durée de validité réelle du certificat : le pare-feu demande le renouvellement lorsque les deux tiers de cette durée se sont écoulés. Ce moment s’adapte ainsi aux changements de durée de validité des certificats Let’s Encrypt.
- Les certificats existants cessent de se renouveler après Deregister account.
Sophos a introduit cette intégration avec SFOS 21. Sophos Firewall v21 : les principales nouveautés replace son périmètre initial dans son contexte.
Créez un certificat générique en externe avec DNS-01 ; voir Créer un certificat générique Let’s Encrypt. Gérer les certificats sur Sophos Firewall couvre les importations, les clés privées et les chaînes d’autorité de certification. Prise en charge d’IPv6 dans Sophos Firewall 22 explique d’autres limites IPv6.
Préparer le DNS et le chemin réseau
Chaque inscription sous Domains doit remplir les mêmes conditions :
- Son enregistrement DNS public correspond à l’adresse IPv4 WAN du pare-feu ou à une adresse qui achemine le port
80vers le pare-feu. - Tous les fournisseurs DNS publics renvoient la même adresse. Le GeoDNS dépendant de la région n’est pas adapté à ce flux de travail.
- L’enregistrement DNS doit contenir une adresse IP. Sophos autorise uniquement plusieurs adresses lorsqu’elles appartiennent à d’autres pare-feu qui acheminent HTTP vers le pare-feu demandeur.
- Ni une règle de pare-feu ni un périphérique en amont ne peuvent bloquer le port entrant
80. Cela inclut les règles GeoIP ; Let’s Encrypt valide les données de nombreux pays et ne publie pas de plages de sources de validation fixes. - Aucun DNAT ne peut s’appliquer au port
80sur l’adresse WAN du pare-feu. Si un routeur possède l’adresse IP publique devant le pare-feu, ce routeur doit plutôt transférer le port80vers l’interface WAN du pare-feu. - Une route SD-WAN ne doit pas envoyer de HTTP sortant via un appareil qui empêche l’accès à Let’s Encrypt.
Gardez l’horloge synchronisée avec NTP. Vérifiez le DNS et le port 80 depuis l’extérieur du réseau local avant de demander un certificat ; Le bouclage DNS ou NAT divisé peut rendre un test interne trompeur.
Enregistrez ou désenregistrez le compte
- Ouvrez Certificates > Let’s Encrypt.
- Lisez le Subscriber Agreement et les conditions.
- Cliquez sur Register account.
En cliquant sur le bouton, vous acceptez le Subscriber Agreement. Si les conditions changent, le SFOS nécessite une nouvelle inscription. Jusqu’à ce que cela soit confirmé, de nouveaux certificats ne peuvent pas être créés et ceux existants ne sont pas renouvelés. Sophos envoie un e-mail à l’administrateur et affiche une alerte Control Center ; configurez la livraison des e-mails sous Administration > Notification settings.
Deregister account met fin à l’enregistrement. Cela ne supprime pas nécessairement tous les certificats existants, mais les renouvellements futurs s’arrêtent. Confirmez les certificats de remplacement, les affectations et les dates d’expiration avant de vous désinscrire.
Demander un certificat
- Ouvrez Certificates > Certificates et cliquez sur Add.
- Pour Action, sélectionnez Request Let’s Encrypt certificate.
- Saisissez un Name unique, tel que
le-app-example-com. - Sous Domains, ajoutez tous les noms de domaine complets requis, tels que
app.example.com. N’entrez pas d’adresse IP ou*.example.com. - Sous Hosted address, sélectionnez l’adresse IPv4 publique de l’interface WAN vers laquelle les domaines sont résolus.
- Cliquez sur Save et tenez compte de la panne WAF.
- Sous Certificates > Certificates, vérifiez que le certificat est valide et fiable et qu’il possède une date Valid until plausible.
Si un nom de domaine complet est erroné, supprimez la demande ayant échoué et créez-la à nouveau avec le nom correct. Corrigez le DNS et le chemin du port 80 avant de réessayer plutôt que de soumettre à plusieurs reprises la même demande invalide.
Attribuer le certificat
L’émission à elle seule ne modifie pas un service. Le SFOS 22 documente ces missions :
- WAF : Modifiez la règle WAF sous Rules and policies > Firewall rules, activez HTTPS et sélectionnez le certificat sous HTTPS certificate. Ses domaines peuplent la règle. L’enregistrement d’une règle WAF redémarre toutes les règles de protection du serveur Web et supprime leurs connexions en direct.
- Portails WebAdmin, User Portal, VPN Portal, Captive Portal et SPX : Accédez à Administration > Admin and user settings > Admin console and end-user interaction > Certificate et sélectionnez le certificat du service concerné.
- Hotspot : Accédez à Wireless > Wireless settings > Hotspot settings, choisissez-le sous Login page certificate et cliquez sur Apply. Ce certificat est utilisé lorsque Redirect to HTTPS est activé pour le point d’accès.
Ensuite, ouvrez le vrai FQDN de l’extérieur. Le nom du certificat, les domaines SNI, WAF et le certificat réellement servi doivent correspondre. Pour SMTP TLS ou une autre fonctionnalité, utilisez uniquement un sélecteur de certificat affiché sur la page SFOS 22 de cette fonctionnalité ; les affectations de portail ci-dessus ne s’y appliquent pas automatiquement.
Attribuer, supprimer ou revenir en arrière en toute sécurité
Avant toute modification, notez le certificat précédent et toutes les attributions concernées, créez une sauvegarde récente de la configuration et gardez un accès de test externe. Dans la mesure du possible, attribuez d’abord le nouveau certificat à un seul service et testez celui-ci avec son FQDN réel. Si le test échoue, sélectionnez de nouveau l’ancien certificat dans la même configuration de service et confirmez avec Save ou Apply. Pour le WAF, cette opération redémarre de nouveau toutes les règles Web Server Protection et interrompt les connexions actives.
Ne supprimez l’ancien certificat qu’après avoir testé tous les services concernés depuis l’extérieur et défini le suivi de l’expiration et du renouvellement. Avant la suppression, remplacez chaque référence connue par le nouveau certificat ou un autre certificat valide. La restauration d’une sauvegarde est le dernier recours, pas le premier : elle remplace toute la configuration active et redémarre le pare-feu.
Renouvellement, haute disponibilité et sauvegarde
Le moment du renouvellement dépend de la version de SFOS : SFOS 22 demande le renouvellement lorsqu’il reste moins de 30 jours ; SFOS 23 le demande lorsque les deux tiers de la durée de validité réelle du certificat se sont écoulés. Pour le suivi opérationnel, vérifiez le certificat concerné et sa période de validité plutôt que de supposer un seuil de 30 jours pour SFOS 23. Les deux versions nécessitent toujours un chemin DNS, IPv4 et port 80 fonctionnel, comme pour l’émission initiale. Revérifiez le chemin après les modifications du DNS, du fournisseur, du NAT, du GeoIP, du SD-WAN, du WAF ou du micrologiciel. Un certificat actuellement valide ne prouve pas que la prochaine validation fonctionnera.
Sophos décrit les sauvegardes comme des copies chiffrées de l’intégralité de la configuration du pare-feu. Effectuez une sauvegarde actuelle avant les modifications du certificat ou du WAF. Sa restauration remplace la configuration en cours et redémarre le pare-feu. Vérifiez donc ensuite l’état du compte, les certificats, les attributions de services et la livraison externe.
Dans un cluster HA, restaurez la sauvegarde sur le Primary actuel, jamais sur l’Auxiliary. Le Primary redémarre sans failover, ce qui provoque une interruption en mode Active-Passive comme Active-Active. Si la sauvegarde contient la configuration HA, le Primary synchronise ensuite la configuration restaurée vers l’Auxiliary. Si elle ne contient pas de configuration HA, la haute disponibilité est désactivée et l’Auxiliary conserve d’abord sa configuration précédente ; suivez alors la procédure de récupération documentée par Sophos. Sophos ne décrit pas de logique supplémentaire propre au compte ou au renouvellement Let’s Encrypt sur la page Let’s Encrypt. Après une restauration ou un changement de rôle, vérifiez donc l’état du certificat et effectuez un test TLS externe plutôt que de vous fier à des suppositions.
Valider et dépanner
Après émission et chaque renouvellement, vérifiez :
- DNS publics de plusieurs régions ;
- l’entrée sous Certificates > Certificates ;
- le service concerné depuis l’extérieur du LAN ;
- FQDN, SAN, émetteur, expiration et chaîne intermédiaire complète ;
- Log viewer, plus
tail -f /log/reverseproxy.logpour WAF ; - événements d’émission et de renouvellement dans
letsencrypt.log.
Depuis un ordinateur administrateur externe, cette commande en lecture seule affiche les certificats envoyés par le service. Remplacez app.example.com deux fois par le vrai FQDN :
openssl s_client -connect app.example.com:443 -servername app.example.com -showcerts </dev/null
La sortie doit contenir le certificat du serveur et les certificats intermédiaires requis. Le serveur n’envoie normalement pas l’ancre de confiance racine. Un second test utilise le magasin de confiance de cet ordinateur :
curl -Iv https://app.example.com/
Dans l’Advanced Shell, suivez le journal officiel de Let’s Encrypt ; appuyez sur Ctrl+C pour arrêter l’affichage :
tail -f /log/letsencrypt.log
Sophos répertorie tail -f /log/vpncertificate.log pour les opérations générales de certificat et tail -f /log/reverseproxy.log pour WAF. SFOS 22.0 MR2 Build 546 a ajouté la prise en charge de YE Root, YE1, YE2, YR Root, YR1 et YR2. Si seuls les clients plus âgés échouent après le renouvellement, inspectez leurs magasins de confiance. Si le serveur omet un intermédiaire, vérifiez d’abord le micrologiciel, l’affectation des services et les proxys en amont, puis faites remonter le problème au support Sophos avec le résultat du test.
Les échecs courants peuvent être réduits comme suit :
- La requête échoue immédiatement : Vérifiez le nom de domaine complet public, la réponse DNS globalement cohérente et la destination IPv4.
- Le port 80 atteint un autre système : Supprimez ou corrigez le DNAT sur le pare-feu ; s’il existe un routeur en amont, vérifiez sa transmission vers le pare-feu.
- L’échec dépend de la région : Vérifiez les filtres GeoIP et du fournisseur. Ne restreignez pas l’accès aux listes IP présumées de Let’s Encrypt.
- Échec après un changement de routage : Vérifiez la route HTTP SD-WAN sortante.
- L’ancien certificat est servi : Vérifiez l’affectation du service et tout équilibreur de charge en amont ou proxy inverse.
- Le renouvellement n’a pas lieu : Vérifiez la validité restante, l’enregistrement, les conditions modifiées et le chemin HTTP-01 inchangé.
- Un certificat IP dynamique créé lors de l’EAP ne se renouvelle pas dans GA : Supprimez et recréez ce certificat spécifique dans la version GA, comme indiqué par Sophos.
FAQ
Pourquoi le port 80 doit-il être ouvert ?
80 ; Let’s Encrypt peut suivre les redirections vers HTTPS, mais la première connexion doit atteindre le port 80.