製作 macOS Configuration Profile 並透過 Jamf Pro 部署

macOS 電腦上有許多應用程式在開發時留了一個「後門」讓 IT 管理員可以遠端客製化這些 App 的設定值,而不需要使用者自行去設定,換而言之,讓 IT 管理員強制設定。要從遠端塞入設定值會需要製作一個描述檔、還會需要有 MDM 伺服器。

分享

macOS 電腦上有許多應用程式在開發時留了一個「後門」讓 IT 管理員可以遠端客製化這些 App 的設定值,而不需要使用者自行去設定,換而言之,讓 IT 管理員強制設定。要從遠端塞入設定值會需要製作一個描述檔、還會需要有 MDM 伺服器。

App 的設定其實就是 Plist 檔

Plist 檔是一種 XML 文件,自己用文字編輯器按照格式就能寫出來了。蘋果把這個格式放在這個 PDF 裡面的最後一頁:https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf

不過這樣自己寫實在太辛苦,所以有很多軟體能夠幫忙做到一樣的事情,像是 Apple Configurator 2、ProfileCreator 或是 iMazing Profile Editor 等等都是。除了 Apple Configurator 2 是蘋果自己推出的以外,其它都是第三方 App。我自己是用第三方 App,原因是蘋果原廠自己推出的都聚焦在設定蘋果自己的 App 或裝置設定。但是像是第三方的 App,還可以設定像是 Google Chrome 這類的設定值,純粹比較方便啦。

使用 iMazing Profile Creator 製作描述檔

最近剛好有一個需求要部署 SAP Privileges 這個 App 到使用者的電腦上。這個 App 在文件上面說明共留下哪些後門,提供給 IT 管理員設定。請見:https://github.com/SAP/macOS-enterprise-privileges/tree/master/application_management

而第三方 App 的好處是這些設定值都已經視覺化了,可以很輕鬆的配置:

iMazing Profile Editor 有提供 SAP Privileges 的設定項目,只要把設定值填入對應的地方就好

在這個 App 裡面設定好相對應的值以後,就可以把按左上角的 File > Export Configuration Payload as Plist,輸出成為 Plist 檔。這個檔案打開後會長得像這樣:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>DockToggleTimeout</key>
	<integer>1</integer>
	<key>ReasonMinLength</key>
	<integer>5</integer>
	<key>ReasonRequired</key>
	<true/>
	<key>RequireAuthentication</key>
	<false/>
</dict>
</plist>

上傳到 Jamf Pro 並部署至設備

上面的這個 Plist 檔只是正式文件裡的一小步。為了安全,我們還要為這個描述檔進行簽署並放置在 MCX 設定下(MCX 這個東西有點歷史了,暫時跳過)。

Jamf Pro Computer Configuration Profile

前往 Configuration Profiles > New > Application&Custom Settings > Upload File。
以我正在進行的 SAP Privileges 為例,這邊的 domain 要填上 corp.sap.privileges。為什麼呢?因為 SAP Privileges 的 IT 管理文件裡面有說。也就是說,這個值要去問該軟體的開發原廠才會知道要怎麼填。

最後點擊一下 Upload PLIST File 就完成了。

Read more

Apple 生態系的真實威脅—我們都可能是目標

Apple 生態系的真實威脅—我們都可能是目標

從一場分享開始的警醒 前陣子在 Jamf Nation Live Taipei 分享了 2024-2025 年 Apple 裝置威脅報告,深入探討了全球 Apple 生態系正面臨的資訊安全威脅。 許多人對 Apple 產品有一種根深蒂固的信心—拿著 Mac 或 iPhone,就像拿到了數位世界的「免死金牌」。說實話,Apple 在軟硬體整合上的安全設計確實領先業界,這不是誇大其詞。但也正因為這份信心,我開始想更深入地了解真實情況。 從 Jamf Security 360 報告開始,我觀察了全球情報機構(如 Citizen Lab、Google TAG、Kaspersky)揭露的真實案例。那時我才意識到一個有點殘酷的事實,也正好對應了同事最常對我說的那句話:Apple 設備並非堅不可摧,使用者自身往往才是最大的弱點。 為什麼 Apple 用戶成了高價值目標

By Glee Tsai

從 Jamf Pro 自定義註冊畫面帶使用者資訊至 Jamf Connect 失敗的處理方式

Jamf Pro 在設定裡面的 Enrollment Customization,本來可以設定在使用者完成設備註冊的當下,同步把 SAML 裡的資訊帶給後面的 Jamf Connect Login,這樣就可以減少一步使用者還需要登入的步驟。但在撰文的當下,Jamf Pro 11.1 仍在這個功能上有問題,在跟 Jamf Support Team 了解後,大概能用一種 Workaround 來解決,只是要特別留意以下事情: 1. 在 Jamf Pro 裡的 Enrollment Customization 不要再打勾 Enable Jamf Pro to pass user information to Jamf Connect 了(因為勾了也沒有用) 2. 確保

By Glee Tsai

在 Apple 零接觸部署下僅允許某個群組啟動設備

在 Jamf Pro 有整合 Single Sign On 的情況下,可以前往 Settings > Enrollment Customization 設定僅允許一個群組中的成員啟用設備。如果這個成員沒有在這個群組裡面的話,就不能夠開箱設備。如果以 Entra ID 為例,需要把 Object ID 填在下方的欄位即可。 對照到我在 Entra ID 上的群組設置: 至於如果不是 Entra ID,而是其它的 SSO Provider 的話,最好可以用 SAML Tracer 這一套 Google Chrome 外掛去看一下自己的 SAML 文件是如何表達群組的,例如下圖能看到這個使用者屬於以下五個群組。 接著有另外一個很重要的事情要提醒,如果你要阻擋註冊的成員,可以登入到 Jamf Pro

By Glee Tsai

在 Conditional Access 條件下設置 Jamf Connect Login 的 MFA 挑戰

Mac 世界的零接觸話題,每年都可以有新的話題出現。圍繞著使用者體驗,讓用戶在拿到電腦的那一刻,就能自動化配置所有公司要求的設定,不需 IT 人員幫忙。這不僅是節省 IT 人員的時間而已,更是讓整個出機流程變得更為流暢。 除了軟體與設定可以全自動化部署以外,使用者帳號當然也可以自助化的設定在電腦裡,而且完全按照公司的規範。所以如果公司正在使用 Entra ID 這樣的目錄服務時,當然也可以把 Entra ID 上面的帳密同步化成電腦本機電腦上的帳密,減少人員帳密疲疺的風險。然而,要求更高等級的公司,可能會要求人員在登入 Entra ID 時必須通過兩階段驗證,而這可能就為同步密碼帶來挑戰。 以 Jamf Connect 來說,這一套軟體可以在 Mac 設備開箱時自動就安裝在電腦上,並且出現一個可客製化的登入視窗給用戶登入 Entra ID。剖析這套軟體,事實上是由兩個 OIDC 授權類別完成的,一個是 Authorization Code Grant,

By Glee Tsai