Aller au contenu
Avanet

Déployer Sophos Connect de manière centralisée sous Windows

Sophos Connect peut être installé et provisionné sous Windows avec des scripts de démarrage d’ordinateur distribués par GPO. Il convient de séparer trois tâches : le MSI installe le client, le fichier .pro pilote la récupération des configurations VPN autorisées et SCCLI consulte ou modifie les connexions. Le package, le profil et l’automatisation peuvent ainsi être validés et annulés indépendamment.

Pour un poste isolé, commencer par installer Sophos Connect sous Windows. Le guide de provisioning explique la structure et la protection du fichier .pro ; le choix de version et l’ordre de mise à niveau figurent dans le guide de mise à jour.

Prérequis et décisions de déploiement

Définir avant la distribution :

  • la version et l’architecture Windows prises en charge par Sophos, ainsi que la version de Sophos Connect approuvée ;
  • IPsec, SSL VPN ou les deux, avec l’authentification, la MFA et le SSO ;
  • un VPN Portal accessible dont le certificat est approuvé par le client ;
  • un MSI vérifié et une source .pro, .scx ou .ovpn approuvée ;
  • l’accès en lecture du compte ordinateur au script, au MSI et, si nécessaire, à la source du profil ;
  • une OU ou un groupe pilote, une fenêtre de maintenance et un second moyen d’administration ;
  • le MSI précédent, toujours pris en charge, et la source de profil correspondante pour le retour arrière.

Un outil de distribution peut exécuter le même package vérifié sous le compte système local. Cela ne garantit pas la prise en charge d’un package Intune ou RMM, de sa règle de détection ou de son traitement des codes. Tester l’appel, le compte d’exécution, la détection et les redémarrages avec l’outil réellement utilisé.

Protéger le package et les profils

Conserver le MSI, le script et les profils dans un stockage versionné modifiable uniquement par les administrateurs responsables. Les ordinateurs cibles n’ont qu’un accès en lecture. Avant validation, contrôler la signature numérique, la version et un hachage consigné en interne. Ne jamais remplacer un fichier validé sous le même nom.

Un fichier .pro ne contient normalement aucun mot de passe utilisateur, mais peut révéler les noms de passerelle, le port du VPN Portal et des paramètres de provisioning. Les fichiers .scx, .ovpn, de certificat ou de clé prépartagée peuvent être plus sensibles. Ne pas les placer sur un partage largement lisible, dans un e-mail ou un ticket. Ne pas transmettre de mot de passe SCCLI dans un script ou un argument de processus.

1. Installer le client par GPO

Sophos documente un script de démarrage qui détecte scvpn.exe et lance silencieusement le MSI si le client est absent. Remplacer le chemin UNC et le nom complet du MSI :

@echo off
set "Sophos_Connect=Sophos\Connect\scvpn.exe"
if exist "%ProgramFiles(x86)%\%Sophos_Connect%" exit /b 0

rem Replace the UNC path and filename with the approved MSI source.
msiexec.exe /i "\\WINSERVER\Software\SophosConnect\SophosConnect_x64.msi" /qn
exit /b %ERRORLEVEL%

Ajouter le script sous Group Policy Management Console > Computer Configuration > Policies > Windows Settings > Scripts > Startup. gpupdate /force actualise les stratégies ; le script s’exécute au prochain démarrage.

Ce contrôle de fichier reprend le modèle simple de Sophos, mais ne détecte pas une version erronée ou obsolète. L’inventaire doit donc contrôler la version installée. Le code 0 signifie seulement que msiexec n’a signalé aucune erreur ; vérifier séparément version et service. Traiter 1641 et 3010 comme des résultats MSI liés au redémarrage, et non comme des codes SCCLI.

2. Distribuer le fichier de provisioning

Le second script documenté par Sophos attend le service scvpn, télécharge le .pro et le copie dans C:\Program Files (x86)\Sophos\Connect\import\. Sophos Connect l’importe, le supprime du dossier, puis récupère les configurations IPsec et SSL VPN autorisées depuis le VPN Portal.

Le modèle officiel attend sans limite. Cet exemple limite l’attente à deux minutes et renvoie l’erreur de téléchargement ou de copie :

@echo off
set /a WAIT_COUNT=0

:WAIT_FOR_SCVPN
sc query scvpn | findstr /C:"RUNNING" >NUL
if not errorlevel 1 goto DOWNLOAD_PROFILE
set /a WAIT_COUNT+=1
if %WAIT_COUNT% GEQ 24 exit /b 50
timeout /t 5 /nobreak >NUL
goto WAIT_FOR_SCVPN

:DOWNLOAD_PROFILE
powershell.exe -NoProfile -Command "$ErrorActionPreference='Stop'; Invoke-WebRequest 'https://software.example.net/vpn/company.pro' -OutFile '%TEMP%\company.pro'"
if errorlevel 1 exit /b %ERRORLEVEL%
copy /Y "%TEMP%\company.pro" "C:\Program Files (x86)\Sophos\Connect\import\company.pro" >NUL
exit /b %ERRORLEVEL%

software.example.net est un exemple. L’hôte réel doit présenter un certificat approuvé et appliquer des droits restrictifs. Pendant le pilote, comparer le contenu téléchargé à la source validée. Le code local 50 de ce script de démarrage désigne son délai d’attente et n’est pas un code SCCLI. Gérer la structure JSON, vpn_portal_port, les champs MFA et les passerelles multiples dans le guide de provisioning.

3. Automatiser SCCLI de façon contrôlée

SCCLI se trouve généralement dans C:\Program Files (x86)\Sophos\Connect. La commande sccli ? affiche les commandes disponibles. Pour lire la version et les connexions :

cd /d "C:\Program Files (x86)\Sophos\Connect"
sccli show -v
if errorlevel 1 exit /b %ERRORLEVEL%
sccli list -d
set "SCCLI_RC=%ERRORLEVEL%"
exit /b %SCCLI_RC%

Pour ajouter un profil local sous un nom unique :

sccli add --file "C:\ProgramData\Company\VPN\branch.scx" --name "Company VPN" --overwrite
set "SCCLI_RC=%ERRORLEVEL%"
exit /b %SCCLI_RC%

add échoue si la stratégie interdit les connexions non administrées. remove --name "Company VPN" ne supprime que les connexions créées avec add, jamais les connexions administrées. enable et disable modifient l’état du tunnel ; enable demande interactivement les identifiants manquants. Un traitement sans surveillance ne doit donc pas fournir un mot de passe en clair avec --password.

Codes de retour SCCLI documentés

Enregistrer le code immédiatement après chaque appel, car une autre commande peut écraser %ERRORLEVEL%.

CodeSignification documentéeRéaction sûre
0Appel réussiVérifier aussi l’état avec list -d.
-1Option invalide, nom d’utilisateur ou mot de passe videCorriger la syntaxe et les entrées sans journaliser de secret.
1Entrée invalide ou impossible à analyserVérifier l’aide et les arguments.
2Fichier absent, mot de passe ou certificat videVérifier chemin, compte et entrées.
5Fichier illisible ou impossible à ouvrirVérifier droits, verrou et contenu.
14Réponse impossible à analyserRelever l’état et la version ; ne pas répéter aveuglément.
101Requête impossible à envoyer au serveurVérifier scvpn et la communication locale.
120Aucune donnée renvoyée par le serveurConsigner l’état du service et réessayer de façon contrôlée.
1016Identifiants utilisateur requisArrêter l’étape automatique ou prévoir une connexion interactive.
1024Connexion introuvableRelever le nom exact avec list -d.
1101Échec de l’authentification utilisateurVérifier identifiants, MFA et autorisation ; ne pas boucler.
9009Commande introuvable ou échec de lancementVérifier chemin complet, installation et contexte.

Certains outils représentent -1 comme un code non signé. Tester le wrapper exact du déploiement. Tout code inconnu est un échec ; consigner heure, version, contexte de l’appareil et commande sans secret.

Pilote, mise en production et retour arrière

Un changement de version peut interrompre les VPN actifs. Tester la désinstallation et l’installation silencieuses avec le MSI exact ou son Product ID propre à la version. Séparer les résultats MSI des résultats SCCLI.

Le pilote couvre chaque architecture Windows, type de profil et mode d’authentification à valider. Vérifier :

  1. signature, hachage et version installée ;
  2. démarrage de scvpn et de Sophos Connect après redémarrage et ouverture de session ;
  3. import .pro ou sortie SCCLI attendue ;
  4. connexion, MFA ou SSO et adresse VPN attribuée ;
  5. DNS interne, une destination autorisée et une destination volontairement bloquée ;
  6. reconnexion après un changement de réseau et une nouvelle ouverture de session ;
  7. codes de déploiement, MSI et SCCLI dans le journal central.

Déployer ensuite par vagues. Après chacune, comparer version et profil à la cible, exécuter sccli list -d et tester le chemin de données. Un état vert ne prouve ni DNS, ni autorisation, ni trafic retour.

En cas d’incident, arrêter la distribution et conserver d’abord heure, codes, version et données de support. Désinstaller la version défaillante par la méthode validée, installer le MSI précédent encore pris en charge et restaurer sa source de profil. Rejouer tout le pilote pour confirmer le retour arrière.

S’il échoue aussi, poursuivre avec le diagnostic de Sophos Connect sous Windows. Contrôler séparément les règles et le chemin de données avec Tester une règle de pare-feu, plutôt que de modifier package ou profil au hasard.