Aller au contenu
Avanet

Configurer le Remote Access Sophos Firewall sous Linux

Pour utiliser Sophos Firewall Remote Access sous Linux, le plus simple est de recourir à SSL VPN avec le client OpenVPN standard. Sophos Connect n’existe pas pour Linux. Le fichier .ovpn est téléchargé depuis le VPN Portal, puis utilisé dans le terminal ou avec NetworkManager.

L’alternative IPsec souvent mentionnée auparavant avec NetworkManager-strongSwan n’est pas compatible avec la configuration actuelle de Sophos Firewall : sous SFOS 22, Remote access VPN > IPsec accepte uniquement les profils IKEv1, tandis que le plugin NetworkManager-strongSwan prend exclusivement en charge IKEv2.

⚠️ Ne pas installer de « Sophos Connect pour Linux » non officiel et ne pas basculer le profil SFOS Remote Access vers IKEv2 pour suivre cette procédure. La méthode OpenVPN ci-dessous est le chemin Linux documenté par Sophos.

Des procédures distinctes existent pour les autres terminaux : Sophos Connect sous Windows et Sophos Connect sous macOS, ainsi que SSL VPN sur iPhone et iPad et SSL VPN sur Android.

Prérequis

  • Une politique Remote Access SSL VPN est configurée sous Remote access VPN > SSL VPN sur Sophos Firewall.
  • L’utilisateur ou son groupe est affecté à cette politique.
  • Une règle de pare-feu adaptée autorise le trafic nécessaire depuis la zone VPN.
  • Sous Administration > Device access, VPN portal est autorisé pour la zone requise. Pour un accès depuis Internet, il s’agit de la zone WAN ; cette exposition supplémentaire ne doit être autorisée qu’en cas de besoin et protégée contre les tentatives de connexion répétées.
  • L’utilisateur peut accéder au VPN Portal et s’y connecter. Son port par défaut est 443 ; le port réellement configuré figure sous Administration > Admin and user settings.
  • Le système Linux dispose de droits sudo locaux pour installer les paquets et démarrer OpenVPN.
  • Si la MFA est active, la connexion fonctionne avec le code de vérification.

Configurer le SSL VPN Remote Access sur Sophos Firewall décrit la configuration côté pare-feu. Si le fichier .ovpn est ensuite absent du VPN Portal, fait 0 octet ou ne contient qu’un message d’erreur, Sophos Firewall : fichier .ovpn absent ou de 0 octet guide le contrôle de la policy, de l’utilisateur, du certificat et du système.

Configurer SSL VPN avec OpenVPN

1. Installer OpenVPN

Les commandes de paquets suivantes s’exécutent dans un terminal local Debian ou Ubuntu. La première interrogation est en lecture seule, ne requiert aucun droit élevé et indique si le paquet était déjà installé. Noter cet état initial avant toute modification :

dpkg-query -W -f='${Status}\n' openvpn 2>/dev/null

La sortie install ok installed signifie qu’OpenVPN est déjà présent. Une absence de sortie signifie généralement que le paquet manque. apt installe ensuite le client et les dépendances requises depuis les dépôts configurés ; cette opération nécessite des droits sudo locaux et des métadonnées de paquets à jour :

sudo apt install openvpn

En tant qu’utilisateur normal, openvpn --version vérifie ensuite que le programme est accessible. La première ligne doit indiquer la version d’OpenVPN installée :

openvpn --version

Si le paquet était absent auparavant, le retour direct est sudo apt remove openvpn. Cette commande supprime le paquet, mais conserve normalement les fichiers de configuration ; déconnecter donc tout tunnel actif et contrôler l’état initial noté avant de l’exécuter. Si OpenVPN était déjà installé, aucun retour n’est nécessaire. Répéter l’interrogation dpkg-query, en lecture seule, pour valider la suppression.

Les autres distributions proposent aussi le paquet via leur gestionnaire ; vérifier le nom et la syntaxe dans leur documentation. Pour une gestion graphique sous GNOME, le plugin OpenVPN de NetworkManager peut être installé en complément. Noter d’abord son état précédent avec dpkg-query -W -f='${Status}\n' network-manager-openvpn-gnome 2>/dev/null. La commande Debian/Ubuntu suivante requiert sudo et installe le plugin et ses dépendances manquantes :

sudo apt install network-manager-openvpn-gnome

Après l’installation, dpkg-query -W -f='${Status}\n' network-manager-openvpn-gnome doit afficher install ok installed ; une nouvelle ouverture de session peut être nécessaire pour que l’interface graphique propose le plugin. S’il était absent auparavant, sudo apt remove network-manager-openvpn-gnome le supprime. Déconnecter d’abord tout VPN géré par NetworkManager, puis répéter l’interrogation en lecture seule pour confirmer le retour à l’état absent. Ce plugin ne doit pas être confondu avec network-manager-strongswan : il importe le fichier .ovpn et utilise OpenVPN.

2. Télécharger la configuration OpenVPN

  1. Ouvrir le VPN Portal de Sophos Firewall dans le navigateur.
  2. Se connecter avec l’utilisateur VPN.
  3. Sous VPN > VPN configuration, cliquer sur Download configuration for Windows, macOS, Linux.
  4. Télécharger le fichier .ovpn et le conserver en lieu sûr.

Le fichier peut contenir des certificats intégrés, une clé privée et des données de connexion propres à l’utilisateur. Il ne doit pas être distribué par e-mail non chiffré ou via un stockage public. S’il est compromis, un administrateur doit le révoquer ou remplacer les identifiants concernés ; supprimer la copie locale ne suffit pas.

3. Démarrer la connexion dans le terminal

Les commandes suivantes s’exécutent dans un terminal Linux local. Remplacer <linux-user> par le nom de l’utilisateur local et adapter le chemin au fichier téléchargé. stat lit d’abord, sans droits élevés, le mode numérique actuel du fichier. Noter cette valeur pour pouvoir annuler la modification des droits :

stat -c '%a %n' "/home/<linux-user>/Downloads/sophos-vpn.ovpn"
chmod 600 "/home/<linux-user>/Downloads/sophos-vpn.ovpn"
stat -c '%a %n' "/home/<linux-user>/Downloads/sophos-vpn.ovpn"

chmod 600 réserve la lecture et l’écriture au propriétaire ; la seconde interrogation doit afficher le mode 600. Aucun sudo n’est nécessaire si l’utilisateur connecté possède le fichier. Pour revenir en arrière, exécuter chmod <mode-précédent> "/home/<linux-user>/Downloads/sophos-vpn.ovpn", remplacer <mode-précédent> par la valeur notée et vérifier avec stat. Ne rétablir des droits plus larges que s’ils sont délibérément nécessaires.

La commande suivante démarre ensuite OpenVPN avec des droits élevés, car le client crée une interface de tunnel et des routes temporaires. Sous Linux, le processus OpenVPN direct n’applique pas seul les serveurs DNS proposés ; le profil nécessite un script up/down adapté ou une intégration système. NetworkManager peut assurer cette intégration DNS :

sudo openvpn --config "/home/<linux-user>/Downloads/sophos-vpn.ovpn"

OpenVPN demande d’abord le mot de passe sudo local, puis les identifiants VPN. Avec la MFA, utiliser le format indiqué par l’administrateur ; selon l’authentification, le code à usage unique est combiné au mot de passe ou demandé séparément. Le message Initialization Sequence Completed et la présence d’une interface de tunnel sont les critères de réussite. La connexion s’exécute au premier plan. Ctrl+C arrête OpenVPN et constitue aussi le retour arrière : le client supprime l’interface de tunnel temporaire et les routes qu’il a installées ; toute intégration DNS réellement configurée doit également rétablir ses valeurs DNS temporaires. Utiliser ensuite les contrôles ci-dessous pour confirmer la disparition de l’interface et de la route VPN ainsi que le retour de la résolution de noms normale.

4. Importer la connexion dans NetworkManager

  1. Ouvrir les paramètres réseau.
  2. Ajouter une nouvelle connexion VPN et sélectionner Import from file.
  3. Sélectionner le fichier .ovpn téléchargé.
  4. Enregistrer le nom d’utilisateur si cela correspond au modèle d’exploitation.
  5. Démarrer la connexion et saisir les identifiants VPN dans le format MFA indiqué par l’administrateur.

L’importation crée un profil de connexion NetworkManager distinct et peut copier les clés ou certificats intégrés au fichier. Supprimer le fichier .ovpn téléchargé ne supprime donc pas le profil importé. Ne pas enregistrer le mot de passe dans le profil, sauf si le modèle d’exploitation prévoit explicitement un stockage protégé. Pour revenir en arrière, déconnecter le VPN, supprimer le profil importé dans les paramètres réseau et vérifier qu’il ne figure plus dans la liste des connexions.

NetworkManager est plus confortable au quotidien qu’un terminal ouvert en permanence. Un démarrage automatique sans surveillance n’est toutefois pas automatiquement possible avec une connexion interactive ou la MFA. Les identifiants ne doivent pas être stockés dans un fichier non protégé uniquement pour permettre le démarrage automatique.

Pourquoi NetworkManager-strongSwan n’est pas adapté ici

Sous SFOS 22, Sophos autorise pour Remote access VPN > IPsec uniquement des profils IKEv1 dont Dead Peer Detection est désactivé ou réglé sur Disconnect. Le plugin NetworkManager-strongSwan établit en revanche uniquement des connexions IKEv2. Les deux extrémités ne peuvent donc pas négocier de tunnel avec la procédure décrite précédemment.

Le logiciel strongSwan lui-même prend toujours en charge IKEv1, mais il ne s’agit pas du même chemin graphique que le plugin NetworkManager. Une configuration IKEv1 manuelle nécessite des paramètres, une authentification, des sélecteurs de trafic et une configuration client testée adaptés. Sans configuration cible fiable, ne pas reprendre un exemple générique trouvé sur internet.

Sophos mentionne un client tiers compatible comme possibilité pour IPsec sous Linux. Le fichier .tgb exporté ne contient toutefois pas tous les paramètres avancés de la configuration Sophos Connect et ne peut pas simplement être importé dans NetworkManager comme profil IKEv2. Si IPsec est obligatoire, le client choisi doit prendre explicitement en charge la configuration IKEv1 du pare-feu et être testé dans l’environnement concerné. Sophos Connect ou SSL VPN : quelle solution de Remote Access choisir ? aide à effectuer le choix général.

Vérifier la connexion

Après l’établissement de la connexion, il ne suffit pas de vérifier l’état du client. Il faut s’assurer que la route, le DNS et la règle de pare-feu correspondent à la destination souhaitée.

Ces commandes s’exécutent comme utilisateur normal dans un terminal Linux local et sont en lecture seule ; elles ne nécessitent ni sudo ni retour arrière. Remplacer l’adresse privée d’exemple 10.20.30.40 par une destination interne autorisée, et le nom réservé intranet.example.net par un FQDN interne que le DNS du VPN doit résoudre :

ip addr show
ip route get 10.20.30.40
getent hosts intranet.example.net

Résultats attendus :

  • OpenVPN signale une connexion réussie et une interface de tunnel est présente.
  • Le contrôle de route indique le chemin VPN pour la destination interne au lieu de la passerelle internet normale.
  • Le contrôle DNS renvoie l’adresse interne si des serveurs DNS internes ont été distribués et intégrés par le client Linux choisi.
  • Un service interne autorisé est accessible ; une destination volontairement non autorisée reste bloquée.
  • Le Log Viewer du pare-feu affiche le trafic de test provenant de la zone VPN avec la règle attendue.
  • Après une nouvelle connexion, l’authentification exige de nouveau la preuve MFA prévue.

Si le tunnel est établi, mais qu’aucun trafic ne passe, consulter Tester une règle de pare-feu avec Log Viewer, Policy Test et Packet Capture.

Erreurs fréquentes

  • Aucune configuration Linux dans le VPN Portal : l’utilisateur ou le groupe n’est affecté à aucune politique Remote Access SSL VPN. Vérifier la politique et la connexion au portail.
  • OpenVPN signale une erreur d’authentification : vérifier le nom d’utilisateur, le mot de passe, le déroulement MFA, l’appartenance au groupe et la méthode d’authentification sélectionnée.
  • Le tunnel est établi, mais les destinations internes restent inaccessibles : vérifier les réseaux autorisés dans la politique SSL VPN, la règle de pare-feu de VPN vers la zone cible et la route vers le réseau interne.
  • La route VPN manque ou pointe vers le Wi-Fi local : le réseau de baux SSL VPN et les destinations internes ne doivent pas chevaucher les réseaux locaux ou les sous-réseaux domestiques courants. Vérifier les plages dans SSL VPN global settings, puis déconnecter et reconnecter le tunnel après correction.
  • Les adresses IP fonctionnent, mais pas les noms internes : vérifier les serveurs DNS distribués, le domaine de recherche et l’accessibilité du serveur DNS interne.
  • Le Full Tunnel se connecte, mais Internet devient inaccessible : avec Use as default gateway, contrôler aussi la règle de pare-feu de VPN vers Internet, les politiques de protection requises et une règle SNAT/masquerading pour ##ALL_SSLVPN_RW ou ##ALL_SSLVPN_RW6.
  • Le terminal a été fermé et la connexion a été perdue : ce comportement est normal lors d’un appel direct à openvpn --config. Pour une gestion graphique, importer le fichier .ovpn dans NetworkManager.
  • NetworkManager ne propose pas l’importation de fichier : le plugin OpenVPN de NetworkManager manque ou le service NetworkManager n’a pas encore chargé le plugin nouvellement installé.
  • Un ancien fichier .ovpn ne fonctionne plus : télécharger de nouveau le fichier après toute modification du protocole SSL VPN, du certificat serveur SSL ou de la CA, de Override hostname ou du port SSL VPN.
  • NetworkManager-strongSwan ne se connecte pas : ne pas basculer vers IKEv2. Le plugin n’est pas compatible avec le profil IKEv1 Remote Access de Sophos Firewall.
  • Un prétendu client Sophos Connect pour Linux a été trouvé : ne pas l’installer sans vérification. Sophos ne fournit aucun client Linux officiel.

FAQ

Existe-t-il un client Sophos Connect officiel pour Linux ?

Non. Sophos Connect est disponible pour Windows et macOS. Sous Linux, SSL VPN avec un client OpenVPN est la méthode documentée par Sophos.

Quel fichier faut-il télécharger depuis le VPN Portal pour Linux ?

Sous VPN > VPN configuration, utiliser Download configuration for Windows, macOS, Linux. Le fichier .ovpn apparaît uniquement si l’utilisateur est affecté à une politique Remote Access SSL VPN.

Pourquoi la connexion VPN se coupe-t-elle lors de la fermeture du terminal ?

L’appel direct à sudo openvpn --config s’exécute au premier plan du terminal. Pour une connexion gérée graphiquement, le fichier .ovpn peut être importé dans NetworkManager.

Peut-on utiliser NetworkManager pour Sophos Firewall Remote Access ?

Oui, avec le plugin OpenVPN de NetworkManager et le fichier .ovpn. Le plugin NetworkManager-strongSwan est en revanche exclusivement compatible avec IKEv2 et ne convient pas au profil IPsec Remote Access IKEv1 de SFOS 22.

Faut-il télécharger de nouveau le fichier .ovpn après une modification du pare-feu ?

Oui, si le protocole SSL VPN, le certificat serveur SSL ou la CA, Override hostname ou le port SSL VPN a changé. Un ancien fichier peut encore contenir des paramètres de connexion obsolètes.