← Todos los articulos

Audita tus servidores MDM en macOS 26.4, no en 27

La guía de Apple para auditar los cambios de TLS en OS 27 contiene una frase que la mayoría de los administradores va a pasar por alto: si tus dispositivos de prueba ejecutan la versión 27 o posterior y te topas con errores de conexión, vuelve a probar en un dispositivo con 26.4 o posterior, pero anterior a 27, porque “las conexiones que no cumplen se bloquean y esas conexiones fallidas podrían impedir probar las conexiones siguientes del flujo de trabajo”.2

Probar en el sistema nuevo encuentra un servidor roto y esconde todos los demás. En 27, una conexión que no cumple falla y el flujo de trabajo que dependía de ella se detiene. Todo lo que venía después nunca se ejecuta, así que nunca se prueba. De 26.4 a 26.x los mismos problemas aparecen como advertencias, de modo que una sola pasada revela todos los servidores que no cumplen.

Dos cosas que Apple afirma de manera directa: en la versión 27 o posterior, “las conexiones que no cumplen se bloquean y los mensajes del registro aparecen como errores en lugar de advertencias”, y conviene probar en 26.4 o posterior, pero anterior a 27, “para identificar todos los servidores afectados”.2 Que en esas versiones anteriores las conexiones sí lleguen a completarse es una lectura y no una afirmación textual, pero la recomendación solo tiene sentido si así ocurre. Una conexión bloqueada en 26.4 truncaría el flujo de trabajo exactamente igual que en 27.

El instinto lleva a probar en la versión que introduce el cambio. Aquí ese instinto produce una lista incompleta, y el resto lo vas descubriendo uno por uno en producción.

TL;DR

A partir de la versión 27.0 de iOS, iPadOS, macOS, watchOS, tvOS y visionOS, ciertos procesos del sistema aplican requisitos de TLS más estrictos a las conexiones relacionadas con MDM, Declarative Device Management, Automated Device Enrollment, la instalación de perfiles de configuración, la instalación de apps —incluida la distribución empresarial— y las actualizaciones de software.1 Los servidores deben admitir TLS 1.2 o posterior, con conjuntos de cifrado y certificados que cumplan con ATS.1 Los servidores SCEP y los de caché de contenido quedan exentos.2 El tráfico de red de tu propia app no se ve afectado. Audita en versiones de 26.4 a 26.x, donde las infracciones se registran como advertencias en lugar de bloquear la conexión, con el Network Diagnostics Logging Profile y un sysdiagnose.2

Qué entra realmente en el alcance

El cambio se aplica a una lista concreta de actividades del sistema, no al tráfico de red en general.1

  • Gestión de dispositivos móviles (MDM)
  • Declarative Device Management (DDM)
  • Automated Device Enrollment
  • Instalación de perfiles de configuración
  • Instalación de apps, incluida la distribución empresarial
  • Actualizaciones de software

Hay dos exenciones que importan, porque ambas corresponden al tipo de servidor en el que, de otro modo, un administrador perdería un día entero investigando: las conexiones a un servidor SCEP durante la instalación de un perfil de configuración o la resolución de un recurso de DDM, y las conexiones a servidores de caché de contenido, incluso cuando solicitan recursos para instalar apps o actualizar software.2

Conviene decirlo sin rodeos para quienes llegan aquí por un titular: el tráfico de URLSession de tu app no es el tema. Se trata de infraestructura de gestión de dispositivos. App Transport Security rige el tráfico de red de las apps desde que estas se enlazan con los SDK de iOS 9.0 y macOS 10.11.3 Lo que cambió en 27 es que un conjunto de procesos del sistema empezó a aplicar requisitos equivalentes al tráfico de gestión.

La lista de plataformas es más amplia de lo que sugiere “flota corporativa de Mac”. Apple menciona iOS, iPadOS, macOS, watchOS, tvOS y visionOS.2 Tanto el Apple TV de una sala de juntas como el Vision Pro de un estudio de diseño se inscriben a través de la misma infraestructura.

Los requisitos, según la fuente canónica

El artículo de soporte de Apple indica que los servidores deben admitir TLS 1.2 o posterior, usar conjuntos de cifrado compatibles con ATS y presentar certificados válidos que cumplan con los estándares de ATS.2 Los detalles están en la documentación de ATS, que es la página con la que conviene trabajar.3

La evaluación de confianza predeterminada del servidor tiene que superarse: firma íntegra, certificado no vencido, nombre que coincida con el nombre DNS del servidor y una cadena que llegue hasta un certificado ancla emitido por una CA que forme parte del sistema operativo del cliente o que haya instalado un usuario o un administrador.3

Además de eso, ATS agrega:3

  • Certificado firmado con una clave RSA de al menos 2048 bits o una clave ECC de al menos 256 bits
  • Certificado que use SHA-2 con un resumen de al menos 256 bits
  • TLS 1.2 o posterior
  • Datos intercambiados con AES-128 o AES-256
  • Perfect forward secrecy mediante intercambio de claves ECDHE

Los dos últimos casi nunca aparecen en los resúmenes de este cambio, ni siquiera en la tabla de infracciones que Apple publica para la auditoría. Un administrador que corrija únicamente lo que nombran los registros puede seguir incumpliendo por la elección del cifrado.

Auditar antes de que duela

El procedimiento que documenta Apple es específico, y cada paso está ahí por una razón.2

Usa dispositivos de prueba con 26.4 o posterior, pero anterior a 27. En eso consiste todo el truco. Las infracciones quedan registradas como advertencias, las conexiones se completan y el flujo de trabajo continúa hacia el siguiente servidor.

Instala el Network Diagnostics Logging Profile y luego reinicia. Tiene que estar instalado antes de cualquier prueba; de lo contrario, los eventos del registro no llevarán el detalle necesario para identificar las conexiones que no cumplen.

Para Automated Device Enrollment en iPhone o iPad, usa Apple Configurator para Mac e instala el perfil antes de que el dispositivo llegue al panel de Gestión de Dispositivos del Asistente de Configuración. El tráfico de inscripción ocurre muy al principio, y un perfil instalado después se lo pierde.

Ejecuta tus flujos de trabajo habituales. Inscribe el dispositivo, instala apps y perfiles, y pon a prueba todo lo que hable con tus servidores. El objetivo es generar tráfico hacia cada servidor que pueda verse afectado.

Recopila un sysdiagnose, pásalo a una Mac, descomprime el archivo y, desde su directorio raíz, filtra el registro:

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'"

Cada evento incluye un campo Domain, el Process que hizo la conexión y un Warning que nombra la restricción incumplida. Una sola conexión puede emitir varias advertencias si el servidor incumple varios requisitos.2

Cubre tus configuraciones, no solo tus dispositivos. Vale la pena copiar tal cual las dimensiones que plantea Apple: entorno (producción, preproducción, pruebas), tipo de dispositivo, rol (grupo de usuarios, kiosco, dispositivo compartido) y tipo de inscripción (Automated Device Enrollment, basada en cuenta, basada en perfil, Shared iPad).2 Cada configuración llega a servidores distintos, y una auditoría limpia de una no dice nada sobre otra.

watchOS no se puede auditar así. La mayor parte de su tráfico de red ocurre fuera de proceso y el comando log no funciona. La recomendación de Apple es que probar en iOS probablemente da cobertura suficiente para las conexiones del Apple Watch.2

Cómo leer las infracciones

Apple separa las fallas en dos clases, y es en la segunda donde caen los servidores que parecían cumplir.

Infracciones generales de la política de ATS, registradas como Warning [ATS violation]:2

Mensaje Qué significa
Ciphersuite(...) not offered in ATS Conjunto de cifrado sin PFS. Necesita cualquier conjunto de cifrado de TLS 1.3, o TLS 1.2 con ECDHE.
TLS version <1.2 negotiated TLS 1.0 o 1.1, ya obsoletos y que no se ofrecen de forma predeterminada.
ATS certificate trust requirement not satisfied No superó la evaluación de confianza predeterminada del servidor.
RSA key size [n] bits is less than minimum 2048 Hay que volver a emitir el certificado.
ECDSA key size [n] bits is less than minimum 256 Hay que volver a emitir el certificado.
Leaf certificate hash algorithm (n) is not at least SHA-256 Por debajo de SHA-2 con 256 bits.
Did not use TLS when opening connection HTTP en texto plano.

En esa tabla hay una exención útil: si el certificado que no supera la evaluación de confianza está entre los certificados ancla del perfil de inscripción automática, no hace falta ninguna corrección.2

Infracciones de FCP v2.1, registradas como Warning [ATS FCPv2.1 violation]:2

Mensaje Qué significa
Signature algorithm rsa_pkcs15_sha1 negotiated El servidor eligió un algoritmo de firma basado en SHA-1.
Server certificate signed using signature algorithm ... not advertised in ClientHello Certificado firmado con un algoritmo sin codepoint de TLS, o con rsa_pkcs15_sha1.
TLS 1.2 negotiated without extended master secret (EMS) TLS 1.2 sin la extensión EMS.

Esa última fila es la que va a sorprender a más de uno. Un servidor puede cumplir el requisito principal —negociar TLS 1.2 con un conjunto de cifrado moderno y un certificado válido— y aun así fallar, porque el Functional Package for TLS exige además la extensión extended master secret. La corrección que propone Apple es pasar a TLS 1.3 o, como mínimo, configurar TLS 1.2 para que negocie EMS.2

Aquí hay un matiz que conviene tener claro. El modo de cumplimiento FCP v2.1 de ATS es opcional para las apps, mediante NSRequiresNIAPTLSPackageVersion, y existe para entornos regulados.3 Esa activación rige el comportamiento de tu app como cliente. No tiene ninguna incidencia sobre los procesos del sistema de OS 27, que aplican las comprobaciones de FCP v2.1 a tus servidores, hayas activado o no esa opción en alguna de tus apps.

Qué cambia en 27

En la versión 27 y posteriores, las conexiones que no cumplen se bloquean y los mensajes del registro aparecen como errores en lugar de advertencias.2

Apple señala que varias advertencias no tienen un error equivalente directo y que, en los problemas de conjunto de cifrado, versión de TLS y algoritmo de firma, el error exacto del lado del cliente “podría depender de cómo maneje el servidor ese estado”.2 No esperes una correspondencia limpia entre advertencia y error.

El único error concreto que documenta Apple cubre el HTTP en texto plano bloqueado, incluida una redirección que termina en una 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."

Para validar un solo servidor después de corregirlo, nscurl se conecta usando distintas combinaciones de excepciones de ATS y acota qué requisito está fallando, sin necesidad de un ciclo completo de sysdiagnose.3

En qué consiste la corrección

La auditoría produce una lista de dominios e infracciones. Convertir eso en cambios de servidor se divide en tres casos.

Pasa a TLS 1.3 donde puedas. Hacerlo resuelve varias clases de infracción de una sola vez, en lugar de una por una. Todos los conjuntos de cifrado de TLS 1.3 ofrecen perfect forward secrecy, así que la advertencia de cifrado sin PFS no puede aparecer. El requisito de extended master secret es propio de TLS 1.2, de modo que deja de aplicarse. La negociación del algoritmo de firma es más estricta por diseño. La propia columna de corrección de Apple dice que actualices los servidores para que negocien TLS 1.3 siempre que sea posible, con TLS 1.2 como mínimo.2

Si estás atado a TLS 1.2, tres ajustes cargan con casi todo el peso. Habilita la extensión extended master secret, que es la infracción con más probabilidades de sorprender a una configuración por lo demás moderna. Restringe la lista de conjuntos de cifrado al intercambio de claves ECDHE con AES-128 o AES-256, lo que satisface a la vez el requisito de PFS y el del cifrado simétrico.3 Y elimina cualquier algoritmo de firma rsa_pkcs15_sha1 del orden de preferencia del servidor.

Estar atado es más común de lo que parece. Un balanceador de carga que termina el TLS, un equipo de hardware bajo contrato de soporte o una controladora de gestión embebida pueden ser, cualquiera de ellos, la razón por la que un entorno de aspecto moderno negocia algo viejo.

Los problemas de certificados exigen su propia anticipación. RSA por debajo de 2048 bits, ECDSA por debajo de 256 y certificados de hoja con un hash más débil que SHA-256 requieren reemisión, no reconfiguración. Eso implica una solicitud a la CA, una ventana de cambio y coordinación con quien sea dueño de la cadena. Revisa también los certificados intermedios, porque la evaluación de confianza predeterminada recorre toda la cadena hasta un ancla.3

Una exención ahorra trabajo: si el certificado que no supera la evaluación de confianza está entre los certificados ancla del perfil de inscripción automática, Apple indica que no hace falta corregir nada.2 Verifícalo antes de abrir un ticket.

Verifica cada corrección por separado en lugar de repetir la auditoría completa. nscurl se conecta a un solo servidor con distintas combinaciones de excepciones de ATS, lo que acota exactamente qué requisito sigue fallando.3 Un ciclo completo de sysdiagnose por iteración es un bucle lento cuando dependes de que un proveedor vuelva a desplegar.

Por qué importa la anticipación

Apple dice sin rodeos que actualizar las configuraciones de los servidores “podría requerir un tiempo considerable, sobre todo en el caso de servidores mantenidos por proveedores externos”.2

Esa frase es la razón para hacer la auditoría ahora y no cuando 27 llegue a todo el mundo. Los servidores dentro del alcance a menudo no son tuyos: los endpoints de un proveedor de MDM, un socio de distribución de software, un proveedor de identidad que está delante de la inscripción. Enterarte en octubre de que un proveedor necesita un trimestre para habilitar EMS en sus endpoints de TLS 1.2 es un problema distinto a enterarte en agosto.

La auditoría produce una lista de dominios y de los procesos que llegaron a ellos. Esa lista es lo que les envías a los proveedores, y su nivel de detalle es lo que hace que la prioricen. “Su servidor no cumple los nuevos requisitos de Apple” es fácil de dejar para después. “Su endpoint en este dominio negoció TLS 1.2 sin extended master secret, algo que OS 27 bloquea para el tráfico de inscripción” no lo es.

Tiene la misma forma que otros cambios de esta versión. macOS 27 dejó de preguntar antes de denegar el acceso a contenedores entre equipos, y las imágenes de los elementos de menú ahora dependen del SDK contra el que enlazaste. En cada caso la plataforma eliminó una señal o endureció un valor predeterminado, y la falla llega disfrazada de otra cosa. Aquí esa otra cosa es una inscripción que se queda colgada.

Puntos clave

Para administradores de TI: - Audita en versiones de 26.4 a 26.x. Probar en 27 bloquea la primera falla y esconde todo lo que viene después en el mismo flujo de trabajo. - Instala el Network Diagnostics Logging Profile antes de probar y reinicia el dispositivo; si no, los registros no identificarán los servidores. - Cubre configuraciones más que dispositivos: entorno, tipo de dispositivo, rol y tipo de inscripción llegan cada uno a servidores distintos. - Envíales a los proveedores el dominio, el proceso y la infracción concreta. La anticipación en los servidores externos es la restricción que manda.

Para quienes desarrollan MDM y gestión de dispositivos: - Los servidores SCEP y los de caché de contenido están exentos. No gastes la auditoría en ellos. - Las infracciones de ATS FCPv2.1 son distintas de las infracciones generales de la política de ATS, y TLS 1.2 sin EMS es la que más se pasa por alto. - En watchOS el comando log no funciona. Cubre las conexiones del Watch probando en iOS.

Para quien solo leyó un titular sobre esto: - Lo que cambió no es el tráfico de URLSession de tu app. Esto se aplica a los procesos del sistema que manejan el tráfico de gestión, inscripción, instalación y actualización.

Preguntas frecuentes

¿Esto afecta a las solicitudes de red de mi app?

No. El cambio se aplica a los procesos del sistema involucrados en MDM, DDM, Automated Device Enrollment, la instalación de perfiles de configuración, la instalación de apps y las actualizaciones de software.1 App Transport Security rige el tráfico de red de las apps por separado desde los SDK de iOS 9.0 y macOS 10.11.3

¿Por qué auditar en una versión anterior del sistema?

Porque en 27 las fallas bloquean. Apple señala que las conexiones que no cumplen se bloquean y que “esas conexiones fallidas podrían impedir probar las conexiones siguientes del flujo de trabajo”, y recomienda probar en 26.4 o posterior, pero anterior a 27, para identificar todos los servidores afectados.2 En esas versiones, las infracciones se registran como advertencias mientras las conexiones siguen completándose.

¿Qué servidores están exentos?

Los servidores SCEP, durante la instalación de un perfil de configuración o la resolución de un recurso de DDM, y los servidores de caché de contenido, incluso cuando solicitan recursos relacionados con la instalación de apps o las actualizaciones de software.2

Mi servidor usa TLS 1.2 con un certificado válido. ¿Aun así puede fallar?

Sí. Las comprobaciones de FCP v2.1 incluyen TLS 1.2 negociado sin la extensión extended master secret, un certificado firmado con un algoritmo no anunciado en el ClientHello y los algoritmos de firma rsa_pkcs15_sha1.2 ATS exige además AES-128 o AES-256 y perfect forward secrecy mediante ECDHE.3

¿Activar el cumplimiento NIAP en mi app cambia algo de esto?

No, y es fácil confundir ambas cosas. NSRequiresNIAPTLSPackageVersion hace que el comportamiento de tu app como cliente entre en el modo FCP más estricto, pensado para entornos regulados.3 Los procesos del sistema de OS 27 aplican sus propios requisitos al tráfico de gestión de manera independiente.

Fuentes


  1. Apple, “macOS 27 Golden Gate Beta 4 Release Notes” e “iOS & iPadOS 27 Beta 4 Release Notes.” Radar 176055825, con texto idéntico en ambas: “A partir de los sistemas operativos 27.0, ciertos procesos del sistema aplican requisitos más estrictos de seguridad de red (TLS)… Los procesos afectados son los involucrados en MDM, DDM, Automated Device Enrollment, la instalación de perfiles de configuración, la instalación de apps y las actualizaciones de software. Los servidores deben admitir TLS 1.2 como mínimo, con conjuntos de cifrado y certificados que cumplan los requisitos de App Transport Security (ATS)”. Verificado el 1 de agosto de 2026. 

  2. Soporte de Apple, “Prepare your network environment for stricter security requirements.” Fuente de la lista de plataformas, incluidas watchOS, tvOS y visionOS; de las exenciones de SCEP y de la caché de contenido; de la recomendación de probar en 26.4 o posterior, pero anterior a 27; del Network Diagnostics Logging Profile y del requisito de Apple Configurator para Automated Device Enrollment; del procedimiento de sysdiagnose y log show; de las dimensiones de cobertura de pruebas; de la limitación de watchOS por ejecutarse fuera de proceso; de ambas tablas de infracciones; de la exención de los certificados ancla del perfil de inscripción automática; del comportamiento de error frente a advertencia en 27; y del ejemplo de NSURLErrorDomain -1022. Consultado el 1 de agosto de 2026. 

  3. Apple, “Preventing Insecure Network Connections.” Fuente de la lista canónica de requisitos de ATS (RSA 2048 / ECC 256, SHA-2 con 256 bits, TLS 1.2 o posterior, AES-128 o AES-256, PFS mediante ECDHE), de la evaluación de confianza predeterminada del servidor, de la afirmación de que el modo de cumplimiento FCP “es solo opcional y ofrece opciones adicionales para entornos regulados”, y de nscurl para probar servidores individuales contra combinaciones de excepciones de ATS. 

Artículos relacionados

macOS 27 deniega el acceso a contenedores de otro equipo sin preguntar

macOS 27 eliminó el diálogo de autorización para leer el contenedor de app group de otro equipo. La API sigue devolviend…

14 min de lectura

Las imágenes de los elementos de menú desaparecen en macOS 27 y iPadOS 27

macOS 27 y iPadOS 27 ocultan por defecto las imágenes de los elementos de menú, y lo que desaparece depende del SDK cont…

13 min de lectura

Sign in with Apple Sends Four Notifications, Not Three

Apple's announcement names three server-to-server notification types. The API defines four. Here is the full contract, a…

13 min de lectura