Protéger les paramètres de sécurité macOS avec la protection contre les falsifications
S’applique à :
- Microsoft Defender XDR
- Microsoft Defender pour point de terminaison Plan 1
- Microsoft Defender pour point de terminaison Plan 2
Vous voulez découvrir Defender pour point de terminaison ? Inscrivez-vous pour bénéficier d’un essai gratuit.
La protection contre les falsifications dans macOS permet d’empêcher les modifications indésirables apportées aux paramètres de sécurité par des utilisateurs non autorisés. La protection contre les falsifications permet d’empêcher la suppression non autorisée de Microsoft Defender pour point de terminaison sur macOS. Cette fonctionnalité aide également les fichiers de sécurité, les processus et les paramètres de configuration importants à ne pas être falsifiés.
Importante
À compter de mars 2023, Microsoft Defender pour point de terminaison sur macOS respecte la sélection pour la protection contre les falsifications appliquée via le commutateur global de protection contre les falsifications sous des paramètres avancés dans le portail Microsoft Defender (https://security.microsoft.com). Vous pouvez choisir d’appliquer (bloquer/auditer/désactiver) vos propres paramètres de protection contre les falsifications macOS à l’aide d’une solution de gestion des appareils mobiles (MDM) telle qu’Intune ou JAMF (recommandé). Si le paramètre de protection contre les falsifications n’a pas été appliqué via mdm, un administrateur local peut continuer à modifier manuellement le paramètre avec la commande suivante : sudo mdatp config tamper-protection enforcement-level --value (chosen mode)
.
Vous pouvez définir la protection contre les falsifications dans les modes suivants :
Article | Description |
---|---|
Désactivé | La protection contre les falsifications est complètement désactivée. |
Audit | Les opérations de falsification sont journalisées, mais pas bloquées. Ce mode est le mode par défaut après l’installation. |
Bloquer | La protection contre les falsifications est activée ; les opérations de falsification sont bloquées. |
Lorsque la protection contre les falsifications est définie sur le mode d’audit ou de blocage, vous pouvez vous attendre aux résultats suivants :
Mode d’audit :
- Les actions de désinstallation de l’agent Defender pour point de terminaison sont journalisées (auditées)
- La modification/modification des fichiers Defender pour point de terminaison est journalisée (audité)
- La création de fichiers sous l’emplacement Defender pour point de terminaison est journalisée (audité)
- La suppression des fichiers Defender pour point de terminaison est journalisée (audité)
- Le changement de nom des fichiers Defender pour point de terminaison est journalisé (audité)
Mode bloquer :
- Les actions de désinstallation de l’agent Defender pour point de terminaison sont bloquées
- La modification des fichiers Defender pour point de terminaison est bloquée
- La création de fichiers sous l’emplacement defender pour point de terminaison est bloquée
- La suppression des fichiers Defender pour point de terminaison est bloquée
- Le changement de nom des fichiers Defender pour point de terminaison est bloqué
- Les commandes pour arrêter l’agent (wdavdaemon) échouent
Voici un exemple de message système en réponse à une action bloquée :
Vous pouvez configurer le mode de protection contre les falsifications en fournissant le nom du mode au niveau de l’application.
Remarque
- Le changement de mode s’applique immédiatement.
- Si vous avez utilisé JAMF lors de la configuration initiale, vous devez également mettre à jour la configuration à l’aide de JAMF.
Avant de commencer
- Versions macOS prises en charge : Big Sur (11) ou version ultérieure
- Version minimale requise pour Defender pour point de terminaison :
101.70.19
Importante
Microsoft vous recommande d’utiliser des rôles disposant du moins d’autorisations. Cela contribue à renforcer la sécurité de votre organisation. Le rôle d’administrateur général dispose de privilèges élevés. Il doit être limité aux scénarios d’urgence lorsque vous ne pouvez pas utiliser un rôle existant.
Paramètres fortement recommandés :
Protection de l’intégrité du système (SIP) activée. Pour plus d’informations, consultez Désactivation et activation de la protection de l’intégrité du système.
Utilisez un outil de gestion des appareils mobiles (MDM) pour configurer Microsoft Defender pour point de terminaison.
Vérifiez que Defender pour point de terminaison dispose d’une autorisation d’accès au disque complet .
Remarque
Le fait que SIP soit activé et que toute la configuration soit effectuée via GPM n’est pas obligatoire, mais obligatoire pour un appareil entièrement sécurisé, car dans le cas contraire, un administrateur local peut toujours apporter des modifications de falsification que macOS gère. Par exemple, l’activation de TCC (Transparency, Consent & Control) via une solution de gestion des appareils mobiles telle qu’Intune élimine le risque qu’un administrateur général révoque l’autorisation d’accès complet au disque par un administrateur local.
Configurer la protection contre les falsifications sur les appareils macOS
Microsoft Defender évalue ces paramètres dans l’ordre suivant. Si un paramètre de priorité plus élevée est configuré, les autres sont ignorés :
Profil de configuration managé (paramètre tamperProtection/enforcementLevel) :
Configuration manuelle (avec
mdatp config tamper-protection enforcement-level --value { disabled|audit|block }
)Si la protection contre les falsifications est activée dans le portail Microsoft Defender, le mode « bloquer » est utilisé (en préversion ; non disponible pour tous les clients).
- Si l’appareil est sous licence, le mode « audit » est utilisé par défaut.
- Si l’appareil n’est pas concédé sous licence, la protection contre les falsifications est en mode « bloquer ».
Avant de commencer
Vérifiez que votre appareil est sous licence et intègre (rapport des valeurs correspondantes true
) :
mdatp health
healthy : true
health_issues : []
licensed : true
...
tamper_protection : "audit"
tamper_protection
indique le niveau d’application effectif.
Configuration manuelle
- Utilisez la commande suivante pour passer au mode le plus restrictif :
sudo mdatp config tamper-protection enforcement-level --value block
Remarque
Vous devez utiliser le profil de configuration managé (déployé via GPM) sur les appareils de production. Si un administrateur local a modifié le mode de protection contre les falsifications via une configuration manuelle, il peut également le modifier en mode moins restrictif à tout moment. Si le mode de protection contre les falsifications a été défini via un profil managé, seul un administrateur général peut l’annuler.
- Vérifiez le résultat.
healthy : true
health_issues : []
licensed : true
engine_version : "1.1.19300.3"
app_version : "101.70.19"
org_id : "..."
log_level : "info"
machine_guid : "..."
release_ring : "InsiderFast"
product_expiration : Dec 29, 2022 at 09:48:37 PM
cloud_enabled : true
cloud_automatic_sample_submission_consent : "safe"
cloud_diagnostic_enabled : false
passive_mode_enabled : false
real_time_protection_enabled : true
real_time_protection_available : true
real_time_protection_subsystem : "endpoint_security_extension"
network_events_subsystem : "network_filter_extension"
device_control_enforcement_level : "audit"
tamper_protection : "block"
automatic_definition_update_enabled : true
definitions_updated : Jul 06, 2022 at 01:57:03 PM
definitions_updated_minutes_ago : 5
definitions_version : "1.369.896.0"
definitions_status : "up_to_date"
edr_early_preview_enabled : "disabled"
edr_device_tags : []
edr_group_ids : ""
edr_configuration_version : "20.199999.main.2022.07.05.02-ac10b0623fd381e28133debe14b39bb2dc5b61af"
edr_machine_id : "..."
conflicting_applications : []
network_protection_status : "stopped"
data_loss_prevention_status : "disabled"
full_disk_access_enabled : true
Notez que est tamper_protection
maintenant défini sur block
.
JAMF
Configurez le mode de protection contre les falsifications dans le profil de configuration Microsoft Defender pour point de terminaison en ajoutant les paramètres suivants :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>tamperProtection</key>
<dict>
<key>enforcementLevel</key>
<string>block</string>
</dict>
</dict>
</plist>
Remarque
Si vous disposez déjà d’un profil de configuration pour Microsoft Defender pour point de terminaison, vous devez y ajouter des paramètres. Vous ne devez pas créer un deuxième profil de configuration.
Intune
Catalogue des paramètres
Vous pouvez créer un profil de catalogue de paramètres pour ajouter la configuration de protection contre les falsifications, ou vous pouvez l’ajouter à une configuration existante. Le paramètre « Niveau d’application » se trouve sous la catégorie « Microsoft Defender » et la sous-catégorie « Protection contre les falsifications ». Ensuite, choisissez le niveau souhaité.
Profil personnalisé
Vous pouvez également configurer la protection contre les falsifications via un profil personnalisé. Pour plus d’informations, consultez Définir des préférences pour Microsoft Defender pour point de terminaison sur macOS.
Remarque
Pour la configuration Intune, vous pouvez créer un fichier de configuration de profil pour ajouter la configuration de protection contre les falsifications, ou vous pouvez ajouter ces paramètres à l’existant. Choisissez le niveau souhaité.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1">
<dict>
<key>PayloadUUID</key>
<string>C4E6A782-0C8D-44AB-A025-EB893987A295</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadOrganization</key>
<string>Microsoft</string>
<key>PayloadIdentifier</key>
<string>com.microsoft.wdav</string>
<key>PayloadDisplayName</key>
<string>Microsoft Defender for Endpoint settings</string>
<key>PayloadDescription</key>
<string>Microsoft Defender for Endpoint configuration settings</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadEnabled</key>
<true/>
<key>PayloadRemovalDisallowed</key>
<true/>
<key>PayloadScope</key>
<string>System</string>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadUUID</key>
<string>99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295</string>
<key>PayloadType</key>
<string>com.microsoft.wdav</string>
<key>PayloadOrganization</key>
<string>Microsoft</string>
<key>PayloadIdentifier</key>
<string>com.microsoft.wdav</string>
<key>PayloadDisplayName</key>
<string>Microsoft Defender for Endpoint configuration settings</string>
<key>PayloadDescription</key>
<string/>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadEnabled</key>
<true/>
<key>tamperProtection</key>
<dict>
<key>enforcementLevel</key>
<string>block</string>
</dict>
</dict>
</array>
</dict>
</plist>
Vérifier l’état
Vérifiez l’état de la protection contre les falsifications en exécutant la commande suivante :
mdatp health --field tamper_protection
Le résultat indique « bloquer » si la protection contre les falsifications est activée :
Vous pouvez également exécuter full mdatp health
et rechercher le « tamper_protection » dans la sortie.
Pour obtenir des informations étendues sur l’état de la protection contre les falsifications, exécutez mdatp health --details tamper_protection
.
Vérifier les fonctionnalités préventives de la protection contre les falsifications
Vous pouvez vérifier que la protection contre les falsifications est activée de différentes façons.
Vérifier le mode bloc
L’alerte de falsification est déclenchée dans le portail Microsoft Defender
Vérifier le mode bloc et les modes d’audit
- À l’aide de la chasse avancée, des alertes de falsification s’affichent
- Les événements de falsification se trouvent dans les journaux d’activité de l’appareil local :
sudo grep -F '[{tamperProtection}]' /Library/Logs/Microsoft/mdatp/microsoft_defender_core.log
Scénarios de bricolage
Avec la protection contre les falsifications définie sur « bloquer », essayez différentes méthodes pour désinstaller Defender pour point de terminaison. Par exemple, faites glisser la vignette de l’application dans la Corbeille ou désinstallez la protection contre les falsifications à l’aide de la ligne de commande.
Essayez d’arrêter le processus Defender pour point de terminaison (kill).
Essayez de supprimer, de renommer, de modifier, de déplacer des fichiers Defender pour point de terminaison (comme le ferait un utilisateur malveillant), par exemple :
- /Applications/Microsoft Defender.app/
- /Library/LaunchDaemons/com.microsoft.fresno.plist
- /Library/LaunchDaemons/com.microsoft.fresno.uninstall.plist
- /Library/LaunchAgents/com.microsoft.wdav.tray.plist
- /Library/Managed Preferences/com.microsoft.wdav.ext.plist
- /Library/Managed Preferences/mdatp_managed.json
- /Library/Managed Preferences/com.microsoft.wdav.atp.plist
- /Library/Managed Preferences/com.microsoft.wdav.atp.offboarding.plist
- /usr/local/bin/mdatp
Désactivation de la protection contre les falsifications
Vous pouvez désactiver la protection contre les falsifications à l’aide de l’une des méthodes suivantes.
Configuration manuelle
Utilisez la commande suivante :
sudo mdatp config tamper-protection enforcement-level --value disabled
JAMF
Remplacez la enforcementLevel
valeur par « désactivé » dans votre profil de configuration et envoyez-la à l’appareil :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>tamperProtection</key>
<dict>
<key>enforcementLevel</key>
<string>disabled</string>
</dict>
</dict>
</plist>
Intune
Ajoutez la configuration suivante dans votre profil Intune :
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1">
<dict>
<key>PayloadUUID</key>
<string>C4E6A782-0C8D-44AB-A025-EB893987A295</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadOrganization</key>
<string>Microsoft</string>
<key>PayloadIdentifier</key>
<string>com.microsoft.wdav</string>
<key>PayloadDisplayName</key>
<string>Microsoft Defender for Endpoint settings</string>
<key>PayloadDescription</key>
<string>Microsoft Defender for Endpoint configuration settings</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadEnabled</key>
<true/>
<key>PayloadRemovalDisallowed</key>
<true/>
<key>PayloadScope</key>
<string>System</string>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadUUID</key>
<string>99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295</string>
<key>PayloadType</key>
<string>com.microsoft.wdav</string>
<key>PayloadOrganization</key>
<string>Microsoft</string>
<key>PayloadIdentifier</key>
<string>com.microsoft.wdav</string>
<key>PayloadDisplayName</key>
<string>Microsoft Defender for Endpoint configuration settings</string>
<key>PayloadDescription</key>
<string/>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadEnabled</key>
<true/>
<key>tamperProtection</key>
<dict>
<key>enforcementLevel</key>
<string>disabled</string>
</dict>
</dict>
</array>
</dict>
</plist>
Exclusions
Remarque
Disponible dans la version ou une version 101.98.71
ultérieure.
La protection contre les falsifications empêche tout processus macOS d’apporter des modifications aux ressources de Microsoft Defender ou d’arrêter les processus de Microsoft Defender. Les ressources protégées incluent les fichiers d’installation et de configuration.
En interne, Microsoft Defender fait des exceptions à certains processus macOS, dans certaines circonstances. Par exemple, macOS peut mettre à niveau le package de Defender, si la protection contre les falsifications vérifie l’authenticité des packages. Il y a aussi d’autres exclusions. Par exemple, le processus MDM macOS peut remplacer les fichiers de configuration managés de Microsoft Defender.
Il existe des situations où un administrateur général doit redémarrer Defender sur tout ou partie des appareils gérés. En règle générale, il s’agit de créer et d’exécuter une stratégie JAMF qui exécute un script sur des appareils distants (ou des opérations similaires pour d’autres fournisseurs GPM).)
Afin d’éviter de marquer ces opérations lancées par la stratégie, Microsoft Defender détecte ces processus de stratégie MDM pour JAMF et Intune, et autorise les opérations de falsification à partir de ceux-ci. En même temps, la protection contre les falsifications empêche le même script de redémarrer Microsoft Defender, s’il est démarré à partir d’un terminal localement.
Toutefois, ces processus d’exécution de stratégie sont spécifiques au fournisseur. Bien que Microsoft Defender fournisse des exclusions intégrées pour JAMF et Intune, il ne peut pas fournir ces exclusions pour tous les fournisseurs GPM possibles. Au lieu de cela, un administrateur général peut ajouter ses propres exclusions à la protection contre les falsifications. Les exclusions peuvent être effectuées uniquement par le biais d’un profil GPM, et non par le biais d’une configuration locale.
Pour ce faire, vous devez d’abord déterminer le chemin d’accès au processus d’assistance MDM qui exécute des stratégies. Vous pouvez le faire en suivant la documentation du fournisseur MDM. Vous pouvez également lancer la falsification d’une stratégie de test, recevoir une alerte dans le portail de sécurité, inspecter la hiérarchie des processus à l’origine de l’attaque et choisir le processus qui ressemble à un candidat d’assistance MDM.
Une fois le chemin du processus identifié, vous avez peu de choix sur la façon de configurer une exclusion :
- Par le chemin lui-même. C’est le moyen le plus simple (vous avez déjà ce chemin) et le moins sécurisé, en d’autres termes, non recommandé.
- En obtenant l’ID de signature à partir de l’exécutable, TeamIdentifier ou Identificateur de signature, en exécutant
codesign -dv --verbose=4 path_to_helper
(recherchez Identificateur et TeamIdentifier, ce dernier n’est pas disponible pour les propres outils d’Apple.) - Ou en utilisant une combinaison de ces attributs.
Exemple :
codesign -dv --verbose=4 /usr/bin/ruby
Executable=/usr/bin/ruby
Identifier=com.apple.ruby
Format=Mach-O universal (x86_64 arm64e)
CodeDirectory v=20400 size=583 flags=0x0(none) hashes=13+2 location=embedded
Platform identifier=14
VersionPlatform=1
VersionMin=852992
VersionSDK=852992
Hash type=sha256 size=32
CandidateCDHash sha256=335c10d40db9417d80db87f658f6565018a4c3d6
CandidateCDHashFull sha256=335c10d40db9417d80db87f658f6565018a4c3d65ea3b850fc76c59e0e137e20
Hash choices=sha256
CMSDigest=335c10d40db9417d80db87f658f6565018a4c3d65ea3b850fc76c59e0e137e20
CMSDigestType=2
Executable Segment base=0
Executable Segment limit=16384
Executable Segment flags=0x1
Page size=4096
Launch Constraints:
None
CDHash=335c10d40db9417d80db87f658f6565018a4c3d6
Signature size=4442
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
Signed Time=Apr 15, 2023 at 4:45:52 AM
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=1 size=64
Configurez les préférences, par exemple pour JAMF :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>tamperProtection</key>
<dict>
<key>enforcementLevel</key>
<string>block</string>
<key>exclusions</key>
<array>
<dict>
<key>path</key>
<string>/usr/bin/ruby</string>
<key>teamId</key>
<string/>
<key>signingId</key>
<string>com.apple.ruby</string>
<key>args</key>
<array>
<string>/usr/local/bin/global_mdatp_restarted.rb</string>
</array>
</dict>
</array>
</dict>
</dict>
</plist>
Notez que l’exclusion d’un interpréteur de scripts (comme Ruby dans l’exemple ci-dessus) au lieu d’un exécutable compilé n’est pas sécurisée, car il peut exécuter n’importe quel script, pas seulement celui utilisé par un administrateur général.
Pour réduire le risque, nous vous recommandons d’utiliser un supplément args
pour autoriser uniquement l’exécution de scripts spécifiques avec des interpréteurs de scripts.
Dans l’exemple ci-dessus, seul /usr/bin/ruby /usr/local/bin/global_mdatp_restarted.rb
est autorisé à redémarrer Defender.
Mais, par exemple, /usr/bin/ruby /Library/Application Support/Global Manager/global_mdatp_restarted.rb
ou même /usr/bin/ruby /usr/local/bin/global_mdatp_restarted.rb $USER
ne sont pas autorisés.
Avertissement
Utilisez toujours les critères les plus restrictifs pour éviter les attaques inattendues !
Résolution des problèmes de configuration
Problème : la protection contre les falsifications est signalée comme désactivée
Si l’exécution de la commande mdatp health
indique que la protection contre les falsifications est désactivée, même si vous l’avez activée et que plus d’une heure s’est écoulée depuis l’intégration, vous pouvez vérifier si vous disposez de la bonne configuration en exécutant la commande suivante :
mdatp health --details tamper_protection
tamper_protection : "audit"
exclusions : [{"path":"/usr/bin/ruby","team_id":"","signing_id":"com.apple.ruby","args":["/usr/local/bin/global_mdatp_restarted.rb"]}] [managed]
feature_enabled_protection : true
feature_enabled_portal : true
configuration_source : "local"
configuration_local : "audit"
configuration_portal : "block"
configuration_default : "audit"
configuration_is_managed : false
-
tamper_protection
est le mode effectif . Si ce mode est le mode que vous avez prévu d’utiliser, vous êtes prêt. -
configuration_source
indique comment le niveau d’application de la protection contre les falsifications est défini. Elle doit correspondre à la façon dont vous avez configuré la protection contre les falsifications. (Si vous définissez son mode via un profil managé etconfiguration_source
que vous affichez quelque chose de différent, vous avez probablement mal configuré votre profil.)-
mdm
- il est configuré via un profil managé. Seul un administrateur général peut le modifier avec une mise à jour du profil ! -
local
- il est configuré avecmdatp config
la commande -
portal
- niveau d’application par défaut défini dans le portail de sécurité -
defaults
- non configuré, le mode par défaut est utilisé
-
- Si
feature_enabled_protection
a la valeur false, la protection contre les falsifications n’est pas activée pour votre organisation (cela se produit si Defender ne signale pas de « licence ») - Si
feature_enabled_portal
a la valeur false, la définition du mode par défaut via le portail de sécurité n’est pas encore activée pour vous. -
configuration_local
,configuration_portal
indiqueconfiguration_default
le mode qui serait utilisé , si le canal de configuration correspondant a été utilisé. (Par exemple, vous pouvez configurer la protection contre les falsifications en mode « bloquer » via un profil MDM etconfiguration_default
vousaudit
indique . Cela signifie uniquement que si vous supprimez votre profil et que le mode n’a pas été défini avecmdatp config
ou via le portail de sécurité, il utilise le mode par défaut, qui estaudit
.)
Remarque
Vous devez inspecter les journaux de Microsoft Defender pour obtenir les mêmes informations avant la version 101.98.71. Voici un exemple.
$ sudo grep -F '[{tamperProtection}]: Feature state:' /Library/Logs/Microsoft/mdatp/microsoft_defender_core.log | tail -n 1
Conseil
Voulez-vous en savoir plus ? Collaborez avec la communauté Microsoft Security dans notre communauté technique : Microsoft Defender pour point de terminaison Tech Community.