Auditez vos serveurs MDM sur macOS 26.4, pas sur 27
Les consignes d’Apple pour auditer les changements TLS d’OS 27 contiennent une phrase que la plupart des administrateurs liront sans s’y arrêter : si vos appareils de test exécutent la version 27 ou une version ultérieure et que vous rencontrez des erreurs de connexion, refaites le test sur un appareil exécutant 26.4 ou une version ultérieure mais antérieure à 27, car « les connexions non conformes sont bloquées et ces échecs de connexion peuvent empêcher de tester les connexions suivantes du flux de travail ».2
Tester sur le nouvel OS révèle un serveur défaillant et masque tous les autres. Sur 27, une connexion non conforme échoue, et le flux de travail qui en dépendait s’arrête. Tout ce qui venait ensuite ne s’exécute jamais, donc n’est jamais testé. De 26.4 à 26.x, les mêmes problèmes apparaissent sous forme d’avertissements : un seul passage révèle alors la totalité de vos serveurs non conformes.
Deux points qu’Apple énonce directement : sur la version 27 ou une version ultérieure, « les connexions non conformes sont bloquées et les messages de journal apparaissent comme des erreurs plutôt que comme des avertissements », et il faut tester sur 26.4 ou une version ultérieure mais antérieure à 27 « afin d’identifier tous les serveurs concernés ».2 Que les connexions aboutissent effectivement sur ces versions antérieures relève de l’interprétation plutôt que d’une affirmation littérale, mais la recommandation n’a de sens que si c’est le cas. Une connexion bloquée sur 26.4 tronquerait le flux de travail exactement comme sur 27.
Le réflexe consiste à tester sur la version qui introduit le changement. Ici, ce réflexe produit une liste incomplète, et vous découvrez le reste au compte-gouttes, en production.
TL;DR
À partir de la version 27.0 d’iOS, iPadOS, macOS, watchOS, tvOS et visionOS, certains processus système appliquent des exigences TLS plus strictes aux connexions liées au MDM, à la gestion déclarative des appareils (Declarative Device Management), à l’inscription automatisée des appareils (Automated Device Enrollment), à l’installation de profils de configuration, à l’installation d’apps — y compris la distribution en entreprise — et aux mises à jour logicielles.1 Les serveurs doivent prendre en charge TLS 1.2 ou une version ultérieure, avec des suites de chiffrement et des certificats conformes à ATS.1 Les serveurs SCEP et les serveurs de mise en cache de contenu en sont exemptés.2 Le réseau de votre propre app n’est pas concerné. Menez l’audit sur les versions 26.4 à 26.x, où les violations sont journalisées comme des avertissements au lieu de bloquer, à l’aide du profil Network Diagnostics Logging et d’un sysdiagnose.2
Ce qui entre réellement dans le périmètre
Le changement s’applique à une liste précise d’activités système, et non au trafic réseau en général.1
- Gestion des appareils mobiles (MDM)
- Gestion déclarative des appareils (DDM)
- Inscription automatisée des appareils (Automated Device Enrollment)
- Installation de profils de configuration
- Installation d’apps, y compris la distribution d’apps en entreprise
- Mises à jour logicielles
Deux exemptions comptent, car il s’agit dans les deux cas du type de serveur sur lequel un administrateur passerait sinon une journée à enquêter : les connexions à un serveur SCEP pendant l’installation d’un profil de configuration ou la résolution d’une ressource DDM, et les connexions aux serveurs de mise en cache de contenu, même lors de la demande de ressources destinées à l’installation d’apps ou aux mises à jour logicielles.2
Une précision s’impose pour les développeurs arrivés ici par un titre d’actualité : le trafic URLSession de votre app n’est pas le sujet. Il est question ici d’infrastructure de gestion des appareils. App Transport Security encadre le réseau des apps depuis les SDK iOS 9.0 et macOS 10.11.3 Ce qui change avec 27, c’est qu’un ensemble de processus système s’est mis à appliquer des exigences comparables au trafic de gestion.
La liste des plateformes est plus large que ne le laisse entendre l’expression « parc de Mac en entreprise ». Apple cite iOS, iPadOS, macOS, watchOS, tvOS et visionOS.2 L’Apple TV d’une salle de réunion et le Vision Pro d’un studio de design s’inscrivent tous deux via la même infrastructure.
Les exigences, d’après la source de référence
L’article d’assistance d’Apple indique que les serveurs doivent prendre en charge TLS 1.2 ou une version ultérieure, utiliser des suites de chiffrement conformes à ATS et présenter des certificats valides répondant aux critères ATS.2 Le détail figure dans la documentation ATS, qui est la page sur laquelle travailler.3
L’évaluation de confiance serveur par défaut doit réussir : signature intacte, certificat non expiré, nom correspondant au nom DNS du serveur, et chaîne remontant jusqu’à un certificat d’ancrage émis par une autorité de certification soit intégrée au système client, soit installée par un utilisateur ou un administrateur.3
À cela, ATS ajoute :3
- Certificat signé avec une clé RSA d’au moins 2048 bits ou une clé ECC d’au moins 256 bits
- Certificat utilisant SHA-2 avec une empreinte d’au moins 256 bits
- TLS 1.2 ou une version ultérieure
- Données échangées en AES-128 ou AES-256
- Confidentialité persistante (perfect forward secrecy) par échange de clés ECDHE
Les deux derniers points figurent rarement dans les résumés de ce changement, y compris dans le tableau des violations qu’Apple publie pour l’audit. Un administrateur qui ne corrige que ce que les journaux nomment peut rester non conforme sur le choix des suites de chiffrement.
Auditer avant que ça ne casse
La procédure documentée par Apple est précise, et chaque étape a sa raison d’être.2
Utilisez des appareils de test sur 26.4 ou une version ultérieure, mais antérieure à 27. Toute l’astuce est là. Les violations sont journalisées comme des avertissements, les connexions aboutissent, et le flux de travail se poursuit jusqu’au serveur suivant.
Installez le profil Network Diagnostics Logging, puis redémarrez. Il doit être installé avant tout test, faute de quoi les événements journalisés ne porteront pas le détail nécessaire pour identifier les connexions non conformes.
Pour l’inscription automatisée sur iPhone ou iPad, utilisez Apple Configurator pour Mac afin d’installer le profil avant que l’appareil n’atteigne la sous-fenêtre Gestion des appareils de l’Assistant réglages. Le trafic d’inscription intervient très tôt : un profil installé après coup passe à côté.
Exécutez vos flux de travail habituels. Inscrivez l’appareil, installez des apps et des profils, et sollicitez tout ce qui communique avec vos serveurs. L’objectif est de générer du trafic vers chaque serveur susceptible d’être concerné.
Collectez un sysdiagnose, transférez-le sur un Mac, décompressez l’archive puis, depuis son répertoire racine, filtrez le journal :
log show --archive system_logs.logarchive --info \
-P "p=appstoreagent|appstored|managedappdistributionagent|managedappdistributiond|ManagedClient|ManagedClientAgent|mdmclient|mdmd|mdmuserd|MuseBuddyApp|NanoSettings|Preferences|profiled|profiles|RemoteManagementAgent|remotemanagementd|Setup|'Setup Assistant'|'System Settings'|teslad|TVSettings|TVSetup|XPCAcmeService AND s=com.apple.network AND m:'ATS Violation'|'ATS FCPv2.1 violation'"
Chaque événement porte un Domain, le Process à l’origine de la connexion et un Warning nommant la contrainte enfreinte. Une même connexion peut émettre plusieurs avertissements si le serveur manque à plusieurs exigences.2
Couvrez vos configurations, pas seulement vos appareils. Les axes retenus par Apple méritent d’être repris tels quels : environnement (production, préproduction, test), type d’appareil, rôle (groupe d’utilisateurs, borne, appareil partagé) et type d’inscription (Automated Device Enrollment, pilotée par compte, pilotée par profil, iPad partagé).2 Des configurations différentes atteignent des serveurs différents, et un audit irréprochable sur l’une ne dit rien de l’autre.
watchOS ne peut pas être audité de cette façon. L’essentiel de son trafic réseau se déroule hors processus et la commande log ne fonctionnera pas. Apple indique que les tests menés sur iOS offrent vraisemblablement une couverture suffisante pour les connexions de l’Apple Watch.2
Lire les violations
Apple répartit les échecs en deux catégories, et c’est la seconde qui fait tomber les serveurs d’apparence conforme.
Violations générales de la politique ATS, journalisées sous Warning [ATS violation] :2
| Message | Signification |
|---|---|
Ciphersuite(...) not offered in ATS |
Suite de chiffrement sans PFS. N’importe quelle suite TLS 1.3 convient, ou TLS 1.2 avec ECDHE. |
TLS version <1.2 negotiated |
TLS 1.0 ou 1.1, déjà obsolètes et non proposés par défaut. |
ATS certificate trust requirement not satisfied |
Échec de l’évaluation de confiance serveur par défaut. |
RSA key size [n] bits is less than minimum 2048 |
Réémettez le certificat. |
ECDSA key size [n] bits is less than minimum 256 |
Réémettez le certificat. |
Leaf certificate hash algorithm (n) is not at least SHA-256 |
En deçà de SHA-2 sur 256 bits. |
Did not use TLS when opening connection |
HTTP en clair. |
Une exemption utile se cache dans ce tableau : si le certificat qui échoue à l’évaluation de confiance figure parmi les certificats d’ancrage du profil d’inscription automatique, aucune correction n’est nécessaire.2
Violations FCP v2.1, journalisées sous Warning [ATS FCPv2.1 violation] :2
| Message | Signification |
|---|---|
Signature algorithm rsa_pkcs15_sha1 negotiated |
Le serveur a retenu un algorithme de signature fondé sur SHA-1. |
Server certificate signed using signature algorithm ... not advertised in ClientHello |
Certificat signé avec un algorithme dépourvu de point de code TLS, ou avec rsa_pkcs15_sha1. |
TLS 1.2 negotiated without extended master secret (EMS) |
TLS 1.2 sans l’extension EMS. |
C’est cette dernière ligne qui va surprendre. Un serveur peut satisfaire l’exigence affichée — négocier TLS 1.2 avec une suite de chiffrement moderne et un certificat valide — et échouer malgré tout, parce que le Functional Package for TLS impose en plus l’extension extended master secret. La correction préconisée par Apple consiste à passer à TLS 1.3 ou, au minimum, à configurer TLS 1.2 pour négocier EMS.2
Une subtilité mérite ici d’être clarifiée. Le mode de conformité FCP v2.1 d’ATS est facultatif pour les apps, via NSRequiresNIAPTLSPackageVersion, et destiné aux environnements réglementés.3 Cette activation régit le comportement client de votre propre app. Elle n’a aucune incidence sur les processus système d’OS 27, qui appliquent les contrôles FCP v2.1 à vos serveurs, qu’une de vos apps ait activé quoi que ce soit ou non.
Ce qui change sur 27
Sur la version 27 et les suivantes, les connexions non conformes sont bloquées et les messages de journal apparaissent comme des erreurs plutôt que comme des avertissements.2
Apple précise que plusieurs avertissements n’ont pas d’équivalent direct sous forme d’erreur et que, pour les problèmes de suite de chiffrement, de version TLS et d’algorithme de signature, l’erreur exacte côté client « peut dépendre de la manière dont le serveur gère cet état ».2 N’attendez pas une correspondance nette entre avertissement et erreur.
La seule erreur concrète documentée par Apple couvre le blocage du HTTP en clair, y compris une redirection qui aboutit sur une URL http:// :2
Task . finished with error [-1022] Error Domain=NSURLErrorDomain Code=-1022
"The resource could not be loaded because the App Transport Security policy
requires the use of a secure connection."
Pour valider un serveur isolé après correction, nscurl se connecte en combinant différentes exceptions ATS et permet de cerner l’exigence en défaut, sans repasser par un cycle sysdiagnose complet.3
À quoi ressemble la correction
L’audit produit une liste de domaines et de violations. La traduire en modifications de serveurs se répartit en trois cas.
Passez à TLS 1.3 partout où c’est possible. Cela résout plusieurs catégories de violations d’un coup, plutôt qu’une par une. Toute suite de chiffrement TLS 1.3 assure la confidentialité persistante, si bien que l’avertissement sur les suites sans PFS ne peut pas survenir. L’exigence d’extended master secret est propre à TLS 1.2 : elle cesse donc de s’appliquer. La négociation des algorithmes de signature y est par conception plus stricte. La colonne « correction » d’Apple recommande elle-même de mettre à jour les serveurs pour négocier TLS 1.3 dès que possible, avec TLS 1.2 comme minimum.2
Si vous êtes coincé sur TLS 1.2, trois réglages font l’essentiel du travail. Activez l’extension extended master secret : c’est la violation la plus susceptible de surprendre une configuration par ailleurs moderne. Restreignez la liste des suites de chiffrement à l’échange de clés ECDHE avec AES-128 ou AES-256, ce qui satisfait d’un même geste l’exigence de PFS et celle du chiffrement symétrique.3 Retirez tout algorithme de signature rsa_pkcs15_sha1 de l’ordre de préférence du serveur.
Rester ainsi coincé est plus fréquent qu’il n’y paraît. Un répartiteur de charge qui assure la terminaison TLS, un boîtier matériel sous contrat de support ou un contrôleur de gestion embarqué : chacun peut expliquer qu’un environnement d’apparence moderne négocie quelque chose d’ancien.
Les problèmes de certificats demandent leur propre délai d’anticipation. RSA en dessous de 2048 bits, ECDSA en dessous de 256 et les certificats feuilles hachés avec un algorithme plus faible que SHA-256 imposent tous une réémission, et non une reconfiguration. Cela suppose une demande auprès de l’autorité de certification, une fenêtre de maintenance et une coordination avec le responsable de la chaîne. Vérifiez aussi les certificats intermédiaires, puisque l’évaluation de confiance par défaut parcourt toute la chaîne jusqu’à un ancrage.3
Une exemption fait gagner du travail : si le certificat qui échoue à l’évaluation de confiance figure parmi les certificats d’ancrage du profil d’inscription automatique, Apple indique qu’aucune correction n’est nécessaire.2 Vérifiez-le avant d’ouvrir un ticket.
Validez chaque correction individuellement plutôt que de relancer l’audit complet. nscurl se connecte à un serveur unique en combinant différentes exceptions ATS, ce qui permet de cerner précisément l’exigence encore en défaut.3 Un cycle sysdiagnose complet à chaque itération, c’est une boucle bien lente quand vous attendez qu’un fournisseur redéploie.
Pourquoi le délai d’anticipation compte
Apple dit sans détour que la mise à jour des configurations de serveurs « peut demander un temps considérable, en particulier pour les serveurs maintenus par des fournisseurs externes ».2
Cette phrase justifie de mener l’audit maintenant plutôt qu’au moment où 27 sera largement déployé. Les serveurs concernés ne sont souvent pas les vôtres : les points de terminaison d’un fournisseur MDM, un partenaire de distribution logicielle, un fournisseur d’identité placé devant l’inscription. Découvrir en octobre qu’un fournisseur a besoin d’un trimestre pour activer EMS sur ses points de terminaison TLS 1.2 n’est pas le même problème que de le découvrir en août.
L’audit produit une liste de domaines et des processus qui les ont contactés. C’est cette liste que vous envoyez aux fournisseurs, et c’est sa précision qui la fait remonter dans leurs priorités. « Votre serveur ne satisfait pas les nouvelles exigences d’Apple » se laisse facilement reléguer. « Votre point de terminaison sur ce domaine a négocié TLS 1.2 sans extended master secret, ce qu’OS 27 bloque pour le trafic d’inscription », beaucoup moins.
C’est la même forme que d’autres changements de cette version. macOS 27 ne demande plus rien avant de refuser l’accès à un conteneur d’une autre équipe, et les images des éléments de menu dépendent désormais du SDK avec lequel vous avez effectué l’édition de liens. Dans chaque cas, la plateforme a supprimé un signal ou durci une valeur par défaut, et la panne se présente sous les traits d’autre chose. Ici, cette autre chose est une inscription qui reste bloquée.
À retenir
Pour les administrateurs informatiques : - Auditez sur les versions 26.4 à 26.x. Tester sur 27 bloque au premier échec et masque tout ce qui suit dans le même flux de travail. - Installez le profil Network Diagnostics Logging avant les tests et redémarrez l’appareil, sans quoi les journaux n’identifieront pas les serveurs. - Couvrez des configurations plutôt que des appareils : environnement, type d’appareil, rôle et type d’inscription atteignent chacun des serveurs différents. - Transmettez aux fournisseurs le domaine, le processus et la violation précise. Le délai d’anticipation sur les serveurs externes est la contrainte déterminante.
Pour les développeurs MDM et de gestion d’appareils :
- Les serveurs SCEP et de mise en cache de contenu sont exemptés. N’y consacrez pas votre audit.
- Les violations ATS FCPv2.1 sont distinctes des violations générales de la politique ATS, et TLS 1.2 sans EMS est celle qui a le plus de chances de passer inaperçue.
- Sur watchOS, la commande log ne fonctionnera pas. Couvrez les connexions de la Watch par les tests sur iOS.
Pour toute personne qui découvre le sujet par un titre :
- Le trafic URLSession de votre propre app n’est pas ce qui a changé. Cela concerne les processus système chargés du trafic de gestion, d’inscription, d’installation et de mise à jour.
FAQ
Cela affecte-t-il les requêtes réseau de mon app ?
Non. Le changement s’applique aux processus système impliqués dans le MDM, le DDM, l’inscription automatisée des appareils, l’installation de profils de configuration, l’installation d’apps et les mises à jour logicielles.1 App Transport Security encadre séparément le réseau des apps depuis les SDK iOS 9.0 et macOS 10.11.3
Pourquoi auditer sur une version d’OS plus ancienne ?
Parce que sur 27, les échecs bloquent. Apple indique que les connexions non conformes sont bloquées et que « ces échecs de connexion peuvent empêcher de tester les connexions suivantes du flux de travail », et recommande de tester sur 26.4 ou une version ultérieure mais antérieure à 27 afin d’identifier tous les serveurs concernés.2 Sur ces versions, les violations sont journalisées comme des avertissements pendant que les connexions continuent d’aboutir.
Quels serveurs sont exemptés ?
Les serveurs SCEP, pendant l’installation d’un profil de configuration ou la résolution d’une ressource DDM, et les serveurs de mise en cache de contenu, même lors de la demande de ressources liées à l’installation d’apps ou aux mises à jour logicielles.2
Mon serveur fait du TLS 1.2 avec un certificat valide. Peut-il quand même échouer ?
Oui. Les contrôles FCP v2.1 couvrent notamment TLS 1.2 négocié sans l’extension extended master secret, un certificat signé avec un algorithme non annoncé dans le ClientHello, et les algorithmes de signature rsa_pkcs15_sha1.2 ATS impose par ailleurs AES-128 ou AES-256 ainsi que la confidentialité persistante par ECDHE.3
Activer la conformité NIAP dans mon app change-t-il quelque chose ?
Non, et les deux se confondent facilement. NSRequiresNIAPTLSPackageVersion fait basculer le comportement client de votre propre app dans le mode FCP plus strict, destiné aux environnements réglementés.3 Les processus système d’OS 27 appliquent leurs propres exigences au trafic de gestion, de manière indépendante.
Sources
-
Apple, “macOS 27 Golden Gate Beta 4 Release Notes” et “iOS & iPadOS 27 Beta 4 Release Notes.” Radar 176055825, texte identique dans les deux : « À partir des systèmes d’exploitation 27.0, certains processus système appliquent désormais des exigences de sécurité réseau (TLS) plus strictes… Les processus concernés sont ceux impliqués dans le MDM, le DDM, l’inscription automatisée des appareils, l’installation de profils de configuration, l’installation d’apps et les mises à jour logicielles. Les serveurs doivent prendre en charge TLS 1.2 au minimum, avec des suites de chiffrement et des certificats répondant aux exigences d’App Transport Security (ATS). » Vérifié le 1er août 2026. ↩↩↩↩
-
Apple Support, “Prepare your network environment for stricter security requirements.” Source pour la liste des plateformes incluant watchOS, tvOS et visionOS ; les exemptions SCEP et mise en cache de contenu ; la recommandation de tester sur 26.4 ou une version ultérieure mais antérieure à 27 ; le profil Network Diagnostics Logging et l’exigence d’Apple Configurator pour l’inscription automatisée des appareils ; la procédure sysdiagnose et
log show; les axes de couverture des tests ; la limitation hors processus de watchOS ; les deux tableaux de violations ; l’exemption des certificats d’ancrage du profil d’inscription automatique ; le comportement erreur/avertissement sur 27 ; et l’exemple NSURLErrorDomain -1022. Consulté le 1er août 2026. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, “Preventing Insecure Network Connections.” Source pour la liste canonique des exigences ATS (RSA 2048 / ECC 256, SHA-2 sur 256 bits, TLS 1.2 ou une version ultérieure, AES-128 ou AES-256, PFS par ECDHE), l’évaluation de confiance serveur par défaut, l’affirmation selon laquelle le mode de conformité FCP « est uniquement facultatif et offre des options supplémentaires pour les environnements réglementés », et
nscurlpour tester des serveurs individuels face aux combinaisons d’exceptions ATS. ↩↩↩↩↩↩↩↩↩↩↩↩