Як підготувати своє мережеве середовище до суворіших вимог безпеки

В операційних системах Apple вимоги до мережевої безпеки для системних процесів стануть суворішими. Перевірте, чи відповідають підключення ваших серверів новим вимогам.

Цю статтю призначено для ІТ-адміністраторів і розробників служб керування пристроями.

Починаючи з версії 27.0, операційні системи Apple (iOS, iPadOS, macOS, watchOS, tvOS і visionOS) можуть відхиляти підключення до серверів із застарілими або невідповідними конфігураціями TLS через додаткові вимоги до мережевої безпеки.

Вам слід перевірити, чи немає у вашому середовищі серверів, які порушують ці вимоги. Оновлення конфігурацій серверів згідно із цими вимогами може зайняти значний час, особливо якщо сервери обслуговують зовнішні постачальники.

Проблемні підключення й вимоги до конфігурації

Нові вимоги застосовуються до мережевих підключень, безпосередньо пов’язаних із діями нижче.

  • Керування мобільними пристроями (MDM)

  • Декларативне керування пристроями (DDM)

  • Автоматизована реєстрація пристроїв

  • Інсталювання профілю конфігурації

  • Інсталювання програм, зокрема розповсюдження корпоративних програм

  • Оновлення ПЗ

Винятки. Зміни не стосуються мережевих підключень до сервера SCEP (під час інсталювання профілю конфігурації або отримання ресурсів DDM) та серверів кешування контенту (навіть у разі запиту ресурсів, пов’язаних з інсталюванням програм або оновленнями програмного забезпечення).

Вимоги. Сервери мають підтримувати TLS 1.2 або новішої версії, використовувати набори шифрів, сумісні з ATS, і надавати дійсні сертифікати, які відповідають стандартам ATS. Щоб ознайомитися з усіма вимогами щодо мережевої безпеки, перегляньте наведену нижче документацію для розробників.

Як перевірити середовище на наявність невідповідних підключень

Використовуйте тестові пристрої, щоб виявити в середовищі підключення до серверів, які не відповідають новим вимогам TLS.

Як спланувати перевірку

Різні конфігурації пристроїв можуть підключатися до різних серверів. Для всеохопної перевірки протестуйте всі конфігурації свого середовища.

  • Середовище: розробка, підготовка й фінальне тестування

  • Тип пристрою: iPhone, iPad, Mac, Apple TV, Apple Vision Pro

  • Роль: група користувачів (відділ продажу, інженери, бухгалтерія), пристрій-кіоск, спільний пристрій

  • Тип реєстрації: автоматизована реєстрація пристроїв, реєстрація за обліковим записом, реєстрація пристроїв за профілем, спільний iPad

На тестових пристроях має бути інстальовано iOS, iPadOS, macOS, tvOS або visionOS версії 26.4 або новішої. Якщо на ваших тестових пристроях інстальовано версію 27 або новішу, і ви зіткнулися з помилками підключення, виконайте тестування знову на пристрої з версією 26.4 або пізнішою (але ранішою за 27), щоб визначити всі проблемні сервери. Підключення, що не відповідають вимогам, блокуватимуться, і можуть завадити тестуванню подальших підключень у робочому процесі.

Повторіть описані нижче кроки, щоб перевірити підключення кожної з конфігурацій до різних серверів.

У watchOS більшість мережевих операцій виконується поза процесом, тому команда log не працюватиме. Для перевірки підключень Apple Watch зазвичай достатньо виконати тестування в iOS.

Як інсталювати профіль із журналами діагностики мережі

Завантажте й інсталюйте профіль із журналами діагностики мережі на відповідному тестовому пристрої, щоб увімкнути журнали. Після інсталювання профілю перезавантажте тестовий пристрій.

Щоб журнали подій містили необхідні деталі для виявлення підключень, які не відповідають вимогам, інсталюйте цей профіль, перш ніж виконувати перевірки. Якщо ви тестуєте автоматичну реєстрацію пристроїв на iPhone або iPad, інсталюйте профіль за допомогою Apple Configurator для Mac, перш ніж пристрій потрапить на панель керування пристроями в Асистенті налаштування.

Як виконувати звичайні робочі процеси

Використовуйте тестовий пристрій так само, як у своєму середовищі за звичайних умов. Зареєструйте його за допомогою служби керування пристроями, інсталюйте програми й профілі та виконайте інші робочі процеси, для яких потрібне підключення до серверів вашої організації.

Мета — спрямувати трафік до всіх серверів, які можуть не відповідати новим вимогам TLS.

Як зібрати системну діагностику

Виконавши робочі процеси, зберіть системну діагностику на тестовому пристрої. Цей архів діагностики містить події журналу, на основі яких ви зможете виявити невідповідні підключення.

Інструкції щодо збору системної діагностики залежно від пристрою

Як перевірити журнали

Перенесіть системну діагностику на Mac і відкрийте файл .tar.gz. У програмі «Термінал» перейдіть до каталогу найвищого рівня у відкритій системній діагностиці й відфільтруйте за доречними подіями журналу, використавши цю команду:

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

Кожна подія журналу містить три ключові деталі.

  • Домен. Домен сервера для цієї події підключення.

  • Процес. Процес, який здійснив підключення. Така інформація допомагає визначити мету підключення мережі до цього домену.

  • Попередження. Яке підключення порушило обмеження й причини невідповідності сервера вимогам (підключення може отримати кілька попереджень, якщо сервер не відповідає кільком вимогам).

Що означають записи в журналах попереджень

Наведені нижче записи журналу вказують на сервери, які не відповідають новим вимогам TLS. Порушення позначено як загальні порушення правил ATS («Попередження про [порушення правил ATS]») або конкретні порушення стандарту FCP версії 2.1 («Попередження про [порушення стандарту ATS FCP версії 2.1]»).

Якщо ці журнали створено процесом, який підключається до сервера вашої організації, це означає, що конфігурації серверів потрібно змінити відповідно до нових вимог.

У версії 27 або пізнішій: невідповідні підключення блокуються, а повідомлення журналу відображаються як помилки, а не попередження.

Запис у журналі

Значення

Рішення

Warning [ATS violation]: Ciphersuite([negotiated ciphersuite]) not offered in ATS negotiated for server: www.example.com*

Сервер надіслав запит на набір шифрів без функції PFS, який не пропонується, коли клієнт застосовує ATS.

Сервери мають підтримувати набори шифрів PFS (будь-який набір шифрів TLS 1.3 і набори шифрів TLS 1.2 з ECDHE).

Warning [ATS violation]: TLS version <1.2 negotiated for server: www.example.com*

Сервер надіслав запит щодо TLS версії, ранішої за 1.2.

Протоколи TLS 1.0 і 1.1 застарілі й не пропонуються за замовчуванням.

Оновіть сервери, щоб вони використовували TLS 1.3 (де це можливо) або принаймні TLS 1.2.

Warning [ATS violation]: ATS certificate trust requirement not satisfied for server: www.example.com

Сертифікат сервера не пройшов стандартну оцінку безпеки, тому що не відповідає мінімальним вимогам, описаним на цій сторінці.

Оновіть сертифікат сервера, щоб він відповідав цим вимогам.

Якщо сертифікат належить до профілю якірних сертифікатів з автоматичною реєстрацією, нічого робити не потрібно.

Warning [ATS violation]: RSA key size [n] bits is less than minimum 2048 bits for server: www.example.com

Сертифікат сервера підписано ключем RSA, меншим за 2048 біт.

Оновіть сертифікат сервера, щоб він відповідав цим вимогам.

Warning [ATS violation]: ECDSA key size [n] bits is less than minimum 256 bits for server: www.example.com

Сертифікат сервера підписано ключем ECDSA, меншим за 256 біт.

Warning [ATS violation]: Leaf certificate hash algorithm (n) is not at least SHA-256 for server: www.example.com

Цей сертифікат сервера використовував алгоритм Secure Hash Algorithm 2 (SHA-2), менший за 256 біт.

Warning [ATS violation]: Did not use TLS when opening connection for server: www.example.com*

Замість HTTPS було використано незашифрований протокол HTTP.

Додайте підтримку HTTPS для сервера.

Warning [ATS FCPv2.1 violation]: Signature algorithm rsa_pkcs15_sha1 negotiated by server: www.example.com*

Сервер вибрав rsa_pkcs15_sha1 як signature_algorithm.

Додайте в конфігурацію підтримку сучасних алгоритмів підпису.

Warning [ATS FCPv2.1 violation]: Server certificate signed using signature algorithm [signature algorithm] not advertised in ClientHello for server: www.example.com

Сертифікат сервера підписано за допомогою алгоритму підпису, який не вказано в повідомленні ClientHello.

Підпишіть сертифікат сервера за допомогою алгоритму підпису з кодовою точкою TLS, що не є rsa_pkcs15_sha1.

Warning [ATS FCPv2.1 violation]: TLS 1.2 negotiated without extended master secret (EMS) for server: www.example.com

Сервер надіслав запит на TLS 1.2, але не щодо EMS.

Сервери повинні використовувати TLS 1.3 або принаймні мати оновлену конфігурацію TLS 1.2, щоб надсилати запит щодо EMS.

*Ці попередження не мають прямих еквівалентів повідомлень про помилки у версії 27 або пізнішій.

  • Щодо помилок, пов’язаних із наборами шифрів, версією TLS та алгоритмами підпису: текст помилки на боці клієнта залежить від того, як сервер обробляє цей стан.

  • Щодо помилок, пов’язаних із незашифрованими HTTP-з’єднаннями: коли HTTP-з’єднання (з URL-адреси http:// або під час переходу на неї) блокується, це реєструється як помилка, подібна до такої:

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

Як перевірити окремі сервери

Виявивши невідповідні сервери під час перевірки, ви можете протестувати їх окремо, щоб підтвердити наявність порушень або вдале застосування рішення.

Виконайте команду нижче, замінивши «https://example.com:8000» на значення свого сервера або кінцевої точки.

nscurl --ats-diagnostics https://example.com:8000/

Ця команда перевіряє, чи сервер відповідає вимогам для різних поєднань правил ATS. Перегляньте результат перевірки за допомогою ATS у режимі FCP_v2.1:

  • Configuring NIAP TLS package version requirements

  • ---

  • FCP_v2.1

  • Result : PASS

  • ---

Якщо результат має значення PASS, сервер відповідає всім вимогам.

Дізнайтеся більше про те, як виявити джерело блокування підключень

Рішення

Зверніться до власників проблемних серверів щодо оновлення конфігурацій TLS. Власником сервера може бути особа у вашій організації чи службі керування пристроями або сторонній постачальник.

Звертаючись до власника сервера щодо рішення, поділіться цією статтею і надайте попередження, які ви отримали.

Рішення можуть включати наведені нижче дії.

  • Додавання для серверів підтримки протоколу TLS 1.2 або новішої версії (рекомендується TLS 1.3).

  • Сервери, що регулюються лише протоколом TLS 1.2, мають принаймні підтримувати алгоритми обміну ключами, які забезпечують властивість Perfect Forward Secrecy (ECDHE), а також набори шифрів AEAD на основі AES-GCM із SHA-256, SHA-384 або SHA-512 і головне секретне розширення (RFC 7627).

  • Оновлення сертифікатів відповідно до вимог ATS щодо розміру ключа, алгоритму підпису й дієвості.

Додаткові ресурси

Дата опублікування: