製作 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