Objectifs
- Comprendre l'architecture de sécurité multicouche d'Apple sur macOS
- Déployer FileVault avec escrow de clé via Jamf Pro ou Intune
- Maîtriser Gatekeeper, la notarisation et le contrôle des applications
- Comprendre le rôle de XProtect dans la détection des malwares
- Expliquer SIP (System Integrity Protection) et ses implications MDM
- Gérer Activation Lock via Apple Business Manager, Intune et Jamf
- Déployer une stratégie de sécurité macOS complète en entreprise
Architecture de sécurité Apple
macOS empile plusieurs couches de sécurité — de l'hardware (Secure Enclave) aux politiques logicielles (Gatekeeper, SIP).
Secure Enclave
Coprocesseur dédié isolé du CPU principal. Stocke les clés biométriques, les clés FileVault et les secrets Touch ID / Apple T2 / Apple Silicon.
FileVault
Chiffrement intégral du volume de démarrage (XTS-AES-128). Protège les données au repos en cas de vol ou perte.
Gatekeeper
Contrôle quelles applications peuvent s'exécuter : App Store, développeurs identifiés, apps notarisées.
XProtect
Moteur antimalware intégré. Analyse les fichiers au téléchargement et à l'exécution, signatures mises à jour automatiquement.
SIP (System Integrity Protection)
Protège les fichiers système, processus kernel et zones sensibles contre modification, même par root.
Notarization
Apple scanne et approuve les apps distribuées hors App Store avant leur première exécution sur macOS.
Activation Lock
Verrouillage matériel lié à Find My / Managed Apple Account. Empêche la réinitialisation non autorisée.
Flux de défense :
Utilisateur
Applications
Gatekeeper
XProtect
SIP
FileVault
Secure Enclave
FileVault
FileVault chiffre intégralement le volume de démarrage. Sans mot de passe ou clé escrow, les données sont illisibles.
- ✓ Protection des données professionnelles et personnelles au repos
- ✓ Conformité RGPD, HIPAA, ISO 27001 et exigences audit
- ✓ Protection en cas de perte, vol ou accès physique non autorisé
Fonctionnement :
Clé générée
Une clé de chiffrement unique est créée lors de l'activation FileVault.
Stockage Secure Enclave
Sur Mac T2 / Apple Silicon, la clé est liée au Secure Enclave pour déverrouillage biométrique.
Déverrouillage à l'ouverture de session
Le mot de passe utilisateur ou Touch ID déverrouille le volume chiffré au login.
Configuration Jamf
- • Computers → Configuration Profiles → New → FileVault payload
- • Activer « Enable FileVault » et « Escrow personal recovery key to Jamf Pro »
- • Optionnel : « Show personal recovery key » pour affichage unique à l'utilisateur
- • Scope sur Smart Group « Mac Production » — redémarrage requis
Configuration Intune
- • Devices → macOS → Configuration profiles → Create → Disk encryption
- • Activer FileVault et « Escrow personal recovery key to Azure AD »
- • Assign Required au groupe Mac — clé visible dans Endpoint analytics
- • Compliance policy : « FileVault = Required » pour Conditional Access
L'escrow MDM est obligatoire en entreprise : sans clé escrow, un Mac avec mot de passe oublié est irrécupérable.
Rotation des clés : Rotation des clés : FileVault régénère la clé lors d'un changement de mot de passe utilisateur. L'escrow MDM capture la nouvelle clé au prochain check-in.
Gatekeeper
Gatekeeper vérifie la signature de code et la notarisation avant d'autoriser l'exécution d'une application téléchargée depuis Internet.
Sources autorisées :
- ✓ App Store — apps signées et revues par Apple
- ✓ Développeurs identifiés — apps signées avec Developer ID
- ✓ Applications notarisées — apps scannées par Apple avant distribution
Risques :
- • Malware distribué via apps non signées ou modifiées (quishing, DMG infectés)
- • Logiciels modifiés (cracks, keygens) contournant Gatekeeper
- • Apps sideloadées sans notarisation sur macOS récent
Commandes spctl :
spctl --statusAffiche l'état global Gatekeeper (assessments enabled/disabled).
spctl --assess --verbose /Applications/App.appVérifie si une app spécifique passe Gatekeeper.
spctl --assess --type execute --verbose ./MonApp.appTest d'exécution avec détail du rejet (signature, notarization).
spctl --global-disable⚠️ Désactive Gatekeeper — INTERDIT en production entreprise.
Via MDM, configurez « Allow apps from App Store and identified developers » — ne jamais autoriser « Anywhere » en entreprise.
XProtect
XProtect est l'antimalware intégré à macOS. Il ne remplace pas un EDR entreprise (Defender, CrowdStrike) mais constitue une première ligne de défense automatique.
- ✓ Détection malware — signatures YARA mises à jour silencieusement par Apple
- ✓ Blocage automatique — fichiers malveillants mis en quarantaine ou supprimés
- ✓ Mise à jour automatique — via macOS Software Update, sans action admin
Fonctionnement réel :
- 1. Au téléchargement (Safari, Mail) : XProtect analyse le fichier via quarantine attribute
- 2. À l'ouverture : scan complémentaire avant exécution
- 3. Mise à jour des signatures : plist dans /Library/Apple/System/Library/CoreServices/XProtect.bundle/
- 4. Remediator : XProtect Remediator nettoie les infections connues en arrière-plan
system_profiler SPInstallHistoryDataType | grep -i xprotectHistorique des mises à jour XProtect.
defaults read /Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Info CFBundleShortVersionStringVersion actuelle du moteur XProtect.
log show --predicate 'subsystem == "com.apple.XProtectFramework"' --last 1hLogs récents d'activité XProtect.
SIP — System Integrity Protection
System Integrity Protection (SIP) protège les répertoires système, les processus kernel et les entitlements contre modification — même par root ou un admin local.
SIP empêche :
- ✓ Modification des fichiers système (/System, /usr, /bin, /sbin protégés)
- ✓ Injection de code dans processus Apple signés
- ✓ Manipulation du kernel et chargement de kext non approuvées
- ✓ Modification de NVRAM et variables firmware sensibles
csrutil statusÉtat SIP en mode Recovery : « System Integrity Protection status: enabled ».
csrutil authenticated-root statusVérifie Signed System Volume (SSV) sur macOS Big Sur+.
- • SIP activé (défaut) : impossible de modifier /System même en root — bon pour la sécurité
- • Désactiver SIP : requis uniquement pour certains outils dev/debug — JAMAIS en production
- • MDM ne peut pas désactiver SIP à distance — c'est une protection hardware/firmware
- • Signed System Volume (SSV) sur macOS 11+ : système en lecture seule monté depuis snapshot signé
Activation Lock
Activation Lock empêche qu'un Mac volé soit réinitialisé et réutilisé sans les identifiants Apple ID ou Managed Apple Account associés.
Fonctionnement :
Apple ID / Managed Account
Verrouillage matériel
Tentative réinitialisation
Demande authentification
Apple Business Manager
- • Activer Activation Lock pour les appareils ADE
- • Lier au MDM lors de l'enrôlement automatique
Intune
- • Devices → macOS → macOS enrollment → Enrollment program tokens
- • Activation Lock bypass code généré à l'enrôlement ADE
- • Stocké dans Azure AD — utilisable pour effacement autorisé
Jamf Pro
- • Settings → Global Management → Activation Lock
- • Bypass code escrow automatique à l'enrôlement
- • Computer Record → Security → Activation Lock Bypass Code
Notarization
Apple impose la notarisation pour toutes les apps distribuées hors App Store depuis macOS 10.15+. Gatekeeper refuse les apps non notarisées au premier lancement.
Processus :
Développeur
Soumission Apple
Scan malware + validation
Distribution notarisée
Les apps internes doivent aussi être signées (Developer ID) et notarisées avant déploiement MDM. Utilisez `xcrun notarytool submit` dans votre pipeline CI/CD.
Sécurité en entreprise
| Composant | Action | Priorité |
|---|---|---|
| FileVault | Activer via MDM + escrow obligatoire + compliance policy | Critique |
| Activation Lock | ADE + bypass code escrow dans Jamf/Intune | Critique |
| Gatekeeper | App Store + identified developers only — jamais « Anywhere » | Haute |
| XProtect | Maintenir macOS à jour — ne pas désactiver Software Update | Haute |
| SIP | Laisser activé — auditer csrutil status en pilote | Haute |
| MDM | Supervision ADE + profils sécurité + EDR complémentaire | Critique |
| Notarization | Apps internes signées et notarisées avant PKG/distribution | Moyenne |
Captures d'écran

FileVault activé
Réglages Système > Confidentialité et sécurité > FileVault activé.
Légende
Apple Platform Deployment — FileVault.

Clé de récupération
Clé escrow Intune/Jamf ou clé institutionnelle de récupération.
Légende
Sans escrow, perte de données en cas d'oubli mot de passe.

Gatekeeper
Autorisation des apps : App Store, développeurs identifiés.
Légende
Combiner avec restrictions MDM en entreprise.

XProtect
Statut XProtect et Gatekeeper dans System Information.
Légende
Mises à jour signatures automatiques Apple.

SIP
System Integrity Protection activé — csrutil status.
Légende
Ne pas désactiver SIP en production.

Activation Lock
Activation Lock MDM bypass code ou statut dans Intune/Jamf.
Légende
Documenter les bypass codes par appareil.

Privacy Preferences
PPPC : accès disque complet, caméra, micro pour apps MDM.
Légende
Requis pour agents EDR et backup.

System Extensions
Approbation System Extensions via profil MDM.
Légende
Kernel extensions dépréciées — migrer vers SE.
Dépannage
Cas
FileVault bloqué — impossible de déverrouiller
Causes
- • Mot de passe oublié
- • Clé escrow non capturée
- • Secure Enclave défaillant
- • Migration AD mal exécutée
Solution
Récupérer la clé escrow depuis Jamf Computer Record → Security ou Intune Endpoint analytics. Saisir la Personal Recovery Key au démarrage. En dernier recours : effacement + réenrôlement ADE.
Cas
Clé de récupération absente dans MDM
Causes
- • Escrow non configuré dans le profil
- • Mac enrôlé avant déploiement profil FileVault
- • Check-in MDM manqué
Solution
Vérifier payload FileVault + escrow. Forcer check-in MDM. Si FileVault déjà actif sans escrow : rotation manuelle ou réenrôlement avec profil pré-déployé.
Cas
Activation Lock actif — Mac bloqué après effacement
Causes
- • Find My activé sans bypass code
- • Compte Apple ID personnel lié
- • Bypass code non escrow
Solution
Utiliser le bypass code depuis Jamf/Intune. Si perdu : contacter Apple Business Manager support avec preuve d'achat. Prévenir via ADE + escrow bypass à l'enrôlement.
Cas
Gatekeeper bloque une application métier
Causes
- • App non signée ou non notarisée
- • Signature corrompue
- • Quarantine attribute bloquant
Solution
Vérifier avec `spctl --assess --verbose`. Signer et notariser l'app. Déployer via MDM (PKG) pour contourner quarantine. Exception temporaire : clic droit → Ouvrir (non recommandé en prod).
Cas
Erreur SIP — outil ne peut pas modifier /System
Causes
- • SIP activé (comportement normal)
- • Outil legacy incompatible SSV
- • Script tente modification zone protégée
Solution
Ne pas désactiver SIP en production. Adapter l'outil ou utiliser API MDM/profils. Vérifier `csrutil status` en Recovery si doute.
Cas pratique
Cas pratique — 500 MacBook Pro en conformité sécurité
Une entreprise finance doit mettre en conformité 500 MacBook Pro : FileVault actif avec escrow, SIP vérifié, Gatekeeper strict, Activation Lock via ADE, XProtect à jour. Audit ISO 27001 dans 30 jours.
Votre plan de conformité :
- 1Activer FileVault avec escrow sur toute la flotte
- 2Vérifier SIP activé sur un échantillon représentatif
- 3Contrôler Gatekeeper et politique apps autorisées
- 4Déployer Activation Lock avec bypass code escrow
Quiz de validation
15 questions · 0–59 % À revoir · 60–79 % Correct · 80–99 % Validé · 100 % Expert Sécurité macOS
Quel composant chiffre le disque d'un Mac ?
Laboratoire pratique
Exécutez ces commandes sur un Mac de test (ou VM macOS). Cochez les vérifications une fois les exercices complétés.
Exercice 1 — Vérifier FileVault
Confirmer que FileVault est actif et identifier l'état du chiffrement.
fdesetup statusAttendu : FileVault is On.
fdesetup listAttendu : Liste des utilisateurs autorisés à déverrouiller le volume.
diskutil apfs list | grep -i encryptedAttendu : Encrypted: Yes sur le volume de données.
Exercice 2 — Vérifier SIP
Confirmer que System Integrity Protection est activé.
csrutil statusAttendu : System Integrity Protection status: enabled. (Mode Recovery requis pour cette commande exacte)
csrutil authenticated-root statusAttendu : Authenticated Root status: enabled (macOS 11+).
ls -lO /System/Library/ | head -5Attendu : Flags « restricted » sur fichiers système protégés.
En session normale, utilisez : `csrutil status` depuis Recovery (⌘R au démarrage) ou vérifiez via MDM inventory.
Exercice 3 — Vérifier Gatekeeper
Contrôler l'état Gatekeeper et tester une application.
spctl --statusAttendu : assessments enabled
spctl --assess --verbose /Applications/Safari.appAttendu : accepted / source=Apple System
xattr -l /Applications/Safari.app 2>/dev/null | head -3Attendu : Attributs de quarantaine absents pour apps système.
Exercice 4 — Vérifier Activation Lock
Identifier si Activation Lock / Find My Mac est actif.
system_profiler SPHardwareDataType | grep -i "activation lock"Attendu : Activation Lock Status (T2/Apple Silicon Macs).
fdesetup isactiveAttendu : true si FileVault actif (souvent corrélé à Find My sur Mac gérés).
profiles status -type enrollmentAttendu : Profil MDM actif — prérequis bypass code entreprise.
Le bypass code entreprise se consulte dans Jamf Computer Record ou Intune — pas en Terminal local.
Posture de sécurité
⚠ Contrôles en cours
0 / 6 vérifications validées