準備網絡環境以符合更嚴格的安全要求

Apple 作業系統對系統流程的網絡安全設有更嚴格標準,請檢查伺服器連線是否符合新要求。

本文旨在供 IT 管理員和裝置管理服務開發人員參考。

由 iOS、iPadOS、macOS、watchOS、tvOS 和 visionOS 的 27.0 版本開始,Apple 作業系統可能會因額外的網絡安全要求,而拒絕連接 TLS 設定過時或不合規的伺服器。

你應該審核環境,找出不符合這些要求的伺服器。更新伺服器設定以符合這些要求可能需要大量時間,尤其由外部供應商維護的伺服器。

受影響的連線和設定要求

新要求適用於直接涉及以下活動的網絡連線:

  • 流動裝置管理 (MDM)

  • 聲明式裝置管理 (DDM)

  • 自動裝置註冊

  • 設定描述檔安裝

  • App 安裝 (包括企業 app 分發)

  • 軟件更新

例外情況:與 SCEP 伺服器 (在安裝設定描述檔或解決 DDM 內容時) 和內容快取伺服器的網絡連線不受影響 (即使要求與 app 安裝或軟件更新相關的內容亦然)。

要求:伺服器必須支援 TLS 1.2 或之後版本、採用 ATS 合規的加密套件,並提供符合 ATS 標準的有效證書。如需完整的網絡安全要求,請參閱開發人員文件:

對環境進行審核,找出不合規的連線

使用測試裝置,找出環境中不符合新 TLS 要求的伺服器連線。

規劃測試範圍

不同裝置設定可能會連接不同伺服器。為確保審核範圍全面,請測試所有適用於你環境的設定。

  • 環境:生產、暫存、測試

  • 裝置類型:iPhone、iPad、Mac、Apple TV、Apple Vision Pro

  • 角色:用户群組 (銷售、工程、會計)、Kiosk 裝置、共用裝置

  • 註冊類型:自動裝置註冊、帳户為本的註冊、描述檔為本的裝置註冊、共用 iPad

你的測試裝置必須安裝 iOS、iPadOS、macOS、tvOS 或 visionOS 的 26.4 或之後版本。如果你的測試裝置已安裝 27 或之後版本,但遇到連線錯誤,請考慮在已安裝 26.4 或之後版本但早於 27 版本的裝置上再次測試,以找出所有受影響的伺服器。不合規的連線會被封鎖,而這些失敗的連線可能會妨礙工作流程中的後續連線測試。

請為每項連接不同伺服器的設定,重複以下審核步驟。

watchOS 上的大部分網絡操作都是在程序外完成,因此記錄指令將無法運作。在 iOS 上測試可能已足以了解 Apple Watch 的連線狀況。

安裝網絡診斷記錄描述檔

在具有代表性的測試裝置上下載並安裝 Network Diagnostics Logging Profile,以啟用記錄功能。安裝描述檔後,重新啟動測試裝置。

為確保記錄事件包含識別不合規連線所需的詳細資訊,此描述檔必須在進行任何測試之前安裝。如果你正在 iPhone 或 iPad 上測試自動裝置註冊,請在裝置進入設定輔助程式的「裝置管理」面板之前,使用 Mac 版 Apple Configurator 安裝該描述檔。

執行常規工作流程

在你的環境中如常使用測試裝置,進行裝置管理註冊、安裝 app 和描述檔,並執行會連接到你機構伺服器的任何其他工作流程。

目標是產生網絡流量至所有可能受新 TLS 要求影響的伺服器。

收集 sysdiagnose

完成工作流程後,從測試裝置收集 sysdiagnose,這個診斷封存檔內含你用於識別不合規連線的記錄事件。

有關收集 sysdiagnose 的裝置專屬指示

檢視記錄

將 sysdiagnose 傳輸到 Mac,並展開 .tar.gz 檔案。使用「終端機」前往展開後 sysdiagnose 中的頂層目錄,並使用以下指令篩選相關記錄事件:

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 政策違規 (「Warning [ATS Violation]」) 或特定 FCP v2.1 標準違規 (「Warning [ATS FCPv2.1 violation]」)。

如果記錄由連接到你企業專屬伺服器的流程所產生,則這些伺服器必須更新以符合新要求。

在 27 或之後版本 不合規的連線會被封鎖,而記錄訊息會顯示為錯誤而非警告。

記錄訊息

含意

糾正

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

伺服器協調的非 PFS 加密套件,並非在用户端強制執行 ATS 時提供。

伺服器必須支援 PFS 加密套件 (任何 TLS 1.3 加密套件以及含 ECDHE 的 TLS 1.2 加密套件)。

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

伺服器協調的 TLS 版本舊於 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

伺服器證書由小於 2048 位元的 RSA 密鑰簽署。

更新伺服器證書以符合要求。

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

伺服器證書由小於 256 位元的 ECDSA 密鑰簽署

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

伺服器證書未使用安全雜湊演算法 2 (SHA-2),散列長度不少於 256 位元。

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

使用純文字 HTTP 而非 HTTPS。

更新伺服器以支援 HTTPS。

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

伺服器選擇了 rsa_pkcs15_sha1 作為簽名演算法。

更新設定,優先使用現代簽名演算法。

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 連線 (來自 http:// URL 或重新導向至 URL) 遭封鎖時,系統會將其記錄為類似以下的錯誤:

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 的伺服器,至少必須支援能提供完美向前保密 (ECDHE) 的密鑰交換演算法、AES-GCM 為本並採用 SHA-256、SHA-384 或 SHA-512 的 AEAD 加密套件,以及擴展式主密鑰延伸 (RFC 7627)。

  • 更新證書以符合 ATS 對密鑰大小、簽名演算法和有效性的要求。

其他資源

發佈日期: