Sophos Endpoint macOS : CLI et autorisations
Un déploiement macOS automatisé comporte deux éléments : le programme d’installation Sophos enregistre l’appareil et installe les composants choisis. Les profils MDM accordent les autorisations système et de confidentialité requises par Apple. Pour un déploiement géré avec Jamf Pro, attribuez les profils avant le script d’installation. Une installation réussie ne garantit pas à elle seule une protection complète.
Pour un déploiement avec Jamf Pro, voir Déployer Sophos Endpoint sur macOS avec MDM. Cet article se concentre sur les paramètres CLI et le contrôle technique des autorisations.
Si une installation, un enregistrement ou une mise à jour a déjà échoué, utilisez d’abord le runbook de dépannage macOS pour partir du symptôme. Cet article approfondit ensuite les paramètres CLI et les contrôles TCC/MDM.
Préparer l’Installer
Sous macOS Monterey 12.4 et versions ultérieures, l’archive ne doit pas être extraite dans Documents, Downloads ou sur le bureau. Sophos recommande un répertoire dans le dossier personnel de l’utilisateur.
Lancez Terminal depuis le répertoire contenant Sophos Installer.app ; sudo exige un administrateur local. Sophos documente exactement cette commande pour une installation sans assistance de Sophos Anti-Virus et Intercept X :
sudo ./Sophos\ Installer.app/Contents/MacOS/Sophos\ Installer --products antivirus intercept --quiet
L’Installer est lié au tenant et doit être traité comme un artefact de déploiement confidentiel. La commande installe et enregistre les composants sous licence. La tester d’abord sur un appareil pilote, puis vérifier l’appareil, les produits, Health et la stratégie effective dans Central. Pour revenir en arrière, utiliser le programme de désinstallation documenté par Sophos plutôt que de supprimer des fichiers séparément. Si l’installation échoue encore, conserver les journaux de l’installateur et une archive SDU pour Sophos Support.
Définir groupe et Tags
--devicegroup attribue un ordinateur à un groupe ou sous-groupe Central :
sudo ./Sophos\ Installer.app/Contents/MacOS/Sophos\ Installer \
--install --quiet \
--devicegroup "Workstations\Switzerland\Mac"
Les espaces dans le chemin du groupe doivent être correctement échappés pour le Shell. Si le groupe n’existe pas, l’Installer peut le créer. Après le déploiement, il faut malgré tout vérifier que la stratégie prévue s’applique.
Les Tags peuvent être indiqués plusieurs fois :
sudo ./Sophos\ Installer.app/Contents/MacOS/Sophos\ Installer \
--install --quiet \
--tag=Country:CH \
--tag=Department:Design \
--tag=VIP
Les Tags facilitent recherche et exploitation. Ils ne remplacent pas un groupe de stratégies tant que les stratégies ne sont pas attribuées par Tags.
Produits et Agent Mode
--products accepte une sélection de produits séparés par des espaces. Les valeurs documentées comprennent notamment antivirus, intercept, mdr, xdr, deviceEncryption et all.
Une protection complète avec Anti-Virus et Intercept X se présente par exemple ainsi :
sudo ./Sophos\ Installer.app/Contents/MacOS/Sophos\ Installer \
--install --quiet --products antivirus intercept
L’installation de xdr seul ne fournit pas une protection complète contre le malware. Un produit tiers compatible doit alors être présent. XDR-only exige au minimum macOS 13 Ventura sur Mac.
Les produits sans licence ne sont pas installés. Après le déploiement, Agent Mode est également vérifié dans Central.
Proxy et Message Relay
Pour un Proxy explicite, les options suivantes sont disponibles :
--proxyaddress <URL>
--proxyport <port>
--proxyusername <user>
--proxypassword <password>
Un Message Relay est indiqué avec son IP et le Port 8190 :
--messagerelays 192.0.2.10:8190 192.0.2.11:8190
L’Installer généré au téléchargement connaît les Update Caches et Message Relays présents à ce moment-là. Après une modification de cette infrastructure, il faut utiliser un Installer actuel ou définir explicitement le Relay en CLI.
Les mots de passe du proxy ne restent jamais dans des Scripts, profils MDM ou sorties lisibles. Une fonction Secret de la plateforme de déploiement est préférable.
Remplacer le nom d’ordinateur et de domaine
--computernameoverride et --domainnameoverride influencent l’affichage dans Sophos Fusion (anciennement Sophos Central). Les deux options sont prévues pour une nouvelle installation.
--computernameoverride CH-ZRH-MAC-042
--domainnameoverride corp.example
Le nom de l’ordinateur est transmis à l’Installer sans guillemets supplémentaires. Une modification ultérieure peut créer un second objet d’appareil. Les Overrides sont donc utilisés uniquement avec une source de nommage documentée.
--mcsPreferHostname signale les noms d’utilisateur sous la forme domain\username au lieu de machine\username. Cela peut réduire les doublons d’utilisateurs locaux, mais doit correspondre à la stratégie d’identité. Cette option s’applique uniquement aux nouvelles installations.
Tenant et serveur d’enregistrement
--customertoken <UUID> attribue l’installation à un client Central. --mgmtserver <URL> définit le serveur d’enregistrement MCS. Ces valeurs proviennent normalement de l’Installer lié au tenant et ne sont pas inventées.
--bypasstaegisidcheck permet de contourner un contrôle de concordance des identifiants de tenant Taegis. Il s’agit d’un cas particulier ciblé, pas d’un paramètre standard pour chaque déploiement. Il faut clarifier la raison de la divergence des identifiants de tenant avant l’utilisation.
Piloter les noms par plist
Le nom de l’ordinateur, le domaine et la description peuvent aussi être définis dans le fichier suivant :
/Library/Preferences/com.sophos.mcs-overrides.plist
Les substitutions CLI ont priorité sur le fichier. Les valeurs autorisées contiennent entre 1 et 256 caractères et ne peuvent notamment pas inclure de saut de ligne ni les caractères <, >, &, ', " et /.
La modification du fichier après l’installation peut créer un nouvel objet d’appareil dans Central tandis que l’ancien subsiste. La modification est chargée après un redémarrage ou avec ce redémarrage MCS :
sudo launchctl stop com.sophos.mcs
Autorisations de sécurité macOS
Selon la version et les composants installés, Sophos nécessite notamment :
- System Extensions approuvées,
- Network Extensions et Content Filter approuvés,
- Full Disk Access,
- autorisations de notification,
- autorisations Web ou Scan Extension.
Les profils actuels sont téléchargés dans Sophos Fusion avant l’Installer. Les profils personnalisés sont comparés à la documentation Sophos actuelle, car Team IDs, Bundle IDs et Payloads peuvent changer avec les composants.
Vérifier les autorisations
L’interface Endpoint locale indique les prérequis manquants sous About ou dans Health Status. Sophos documente aussi un contrôle Terminal et un contrôle pour les déploiements distants.
Trois niveaux sont comparés lors de la validation :
- MDM indique que tous les profils sont installés.
- L’Agent local ne signale aucune autorisation de sécurité manquante.
- Central affiche correctement Health, les composants et Last Active.
Si le statut reste mauvais, de nouveaux profils ne sont pas distribués à l’aveugle. Il faut d’abord identifier l’Extension ou l’autorisation de confidentialité manquante.
Pour le contrôle détaillé en lecture seule, un administrateur doit d’abord accorder Full Disk Access à Terminal, puis exécuter :
sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db 'select * from access' | grep -i sophos
La commande lit la base TCC d’Apple, filtre les entrées Sophos et ne modifie aucune autorisation. Les résultats varient selon la licence et les produits installés. Retirez ensuite de nouveau Full Disk Access de Terminal.
Terminal a également besoin de Full Disk Access pour le contrôle du déploiement distant ci-dessous. Accordez de nouveau cette autorisation si nécessaire, puis retirez-la après le contrôle.
Pour un déploiement distant, copiez le fichier d’override seulement pour inspection ; la stratégie active reste inchangée :
sudo cp /Library/Application\ Support/com.apple.TCC/MDMOverrides.plist ~/Desktop/
Comparez les Payloads MDM aux composants réellement installés. Pour com.sophos.endpoint.uiserver, l’exigence complète de signature de code doit être :
identifier "com.sophos.endpoint.uiserver" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774"
Comparez toute l’exigence, pas seulement la Team ID 2H5GFH3774. Si l’identifiant, l’anchor, une condition de certificat ou la Team ID diffère, ne modifiez ni la base TCC ni la plist et n’affaiblissez pas l’exigence. Redéployez plutôt le profil MDM Sophos actuel correspondant et escaladez avec une archive SDU si Self Help reste rouge.
Supprimez explicitement la copie de diagnostic ensuite, car elle contient des données de stratégie de sécurité :
rm -f ~/Desktop/MDMOverrides.plist
Erreurs de mise à jour sous macOS
Des autorisations manquantes peuvent apparaître comme un problème de mise à jour ou de Health. Sous macOS 14 et 15, l’absence de Full Disk Access pour SophosUpdater peut bloquer les mises à jour avec les versions Endpoint antérieures à 2024.3 (10.9.1). Depuis Endpoint 2024.4 (10.9.5), Sophos Updater service health passe au rouge si l’autorisation manque, même sans échec de mise à jour. Le rouge seul ne prouve donc pas un échec actuel. Un administrateur peut lancer ce contrôle officiel en lecture seule :
sudo log show --predicate "subsystem == 'com.sophos.macendpoint'" --last 1d | grep -i 'Error renaming Installer directory'
Une sortie étaye ce problème d’autorisation précis. Pour le cas antérieur à 2024.3 (10.9.1) sans MDM, activez manuellement SophosUpdater.app sous System Settings > Privacy & Security > Full Disk Access ; s’il est absent, ajoutez /Library/Sophos Anti-Virus/SophosUpdater.app avec le bouton plus. Pour le Health rouge préventif à partir de 2024.4 (10.9.5), utilisez plutôt Endpoint Self Help > Prerequisites > Allow Full Disk Access, car le sélecteur normal peut ne pas afficher un Updater que macOS n’a pas bloqué. Avec MDM, déployez dans les deux cas le profil Sophos actuel correspondant aux composants installés. Revérifiez Self Help, Updater Health, Agent Version, Last Agent Update et Events. Si l’état persiste après un cycle complet, collectez une archive SDU et escaladez au support Sophos. Retirez Full Disk Access accordé uniquement à Terminal pour le diagnostic ; SophosUpdater exige toujours sa propre autorisation.
En cas d’erreur, utilisez les Events locaux, Self Help et SDU. Contrôlez aussi le profil MDM, l’heure système, le proxy, les certificats racine et les domaines Sophos.