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,.scxou.ovpnapprouvé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%.
| Code | Signification documentée | Réaction sûre |
|---|---|---|
0 | Appel réussi | Vérifier aussi l’état avec list -d. |
-1 | Option invalide, nom d’utilisateur ou mot de passe vide | Corriger la syntaxe et les entrées sans journaliser de secret. |
1 | Entrée invalide ou impossible à analyser | Vérifier l’aide et les arguments. |
2 | Fichier absent, mot de passe ou certificat vide | Vérifier chemin, compte et entrées. |
5 | Fichier illisible ou impossible à ouvrir | Vérifier droits, verrou et contenu. |
14 | Réponse impossible à analyser | Relever l’état et la version ; ne pas répéter aveuglément. |
101 | Requête impossible à envoyer au serveur | Vérifier scvpn et la communication locale. |
120 | Aucune donnée renvoyée par le serveur | Consigner l’état du service et réessayer de façon contrôlée. |
1016 | Identifiants utilisateur requis | Arrêter l’étape automatique ou prévoir une connexion interactive. |
1024 | Connexion introuvable | Relever le nom exact avec list -d. |
1101 | Échec de l’authentification utilisateur | Vérifier identifiants, MFA et autorisation ; ne pas boucler. |
9009 | Commande introuvable ou échec de lancement | Vé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 :
- signature, hachage et version installée ;
- démarrage de
scvpnet de Sophos Connect après redémarrage et ouverture de session ; - import
.proou sortie SCCLI attendue ; - connexion, MFA ou SSO et adresse VPN attribuée ;
- DNS interne, une destination autorisée et une destination volontairement bloquée ;
- reconnexion après un changement de réseau et une nouvelle ouverture de session ;
- 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.