新聞中心
在處理 macOS 相關項目時,您的開發(fā)和質(zhì)量保證 (QA) 團隊必須考慮許多細微差別以交付安全的應用程序。例如,您需要確保您的應用程序適用于所有可能的 macOS 安全配置。您必須了解這些功能在特定版本的 macOS 中如何工作、管理員如何配置它們,以及如何通過各種 macOS 安全配置確保解決方案的穩(wěn)定性能。

在本文中,我們概述了八個關鍵的 macOS 安全配置,展示了如何使用它們來保護 macOS 設備,并解釋了開發(fā)安全的 macOS 應用程序時應考慮的事項。
本文對于從事 macOS 開發(fā)項目、希望更深入地了解 macOS 安全功能的 IT 工程師非常有用。
1. 設置用戶帳戶
在 macOS 中,您可以選擇具有不同權(quán)限級別的四種類型的用戶帳戶。這些權(quán)限可以允許或阻止使用不同操作系統(tǒng)功能的能力。
在 macOS 中,您可以創(chuàng)建以下帳戶類型:
- 行政。管理員擁有所有可能的訪問權(quán)限。他們可以更改任何 macOS 配置、安裝和刪除應用程序、創(chuàng)建和管理用戶帳戶等。您在 macOS 中創(chuàng)建的第一個用戶將屬于管理員類型。一臺設備上可以有多個管理員。
- 標準。標準用戶可以管理自己的設置、使用主文件夾中的文件和文件夾以及下載系統(tǒng)更新但不能安裝它們。標準用戶無法安裝和刪除應用程序、更改其他用戶的配置文件或編輯系統(tǒng)首選項(例如網(wǎng)絡和安全首選項窗格中的首選項)。您可以將標準用戶帳戶升級為管理員帳戶。
- 僅供分享。僅共享帳戶的用戶唯一可以做的就是遠程訪問共享文件。他們無法登錄 macOS 中的個人用戶配置文件。
- 客人。每個系統(tǒng)只有一個訪客用戶帳戶,無需密碼即可登錄。訪客無法更改任何設備或操作系統(tǒng)設置、管理用戶或遠程登錄。當訪客注銷時,他們創(chuàng)建的所有數(shù)據(jù)都將被刪除。
要管理用戶,請以管理員身份打開“系統(tǒng)偏好設置”中的“用戶和組”偏好設置窗格。您將看到用戶列表及其帳戶類型。如果您想更改用戶帳戶,請單擊鎖定圖標并輸入管理員密碼:
圖 1. 訪問“用戶和組”首選項窗格
要將標準用戶升級為管理員,請選中“允許用戶管理此計算機”選項。您可以通過取消選中此框?qū)⒐芾韱T用戶降級為標準用戶。
圖 2. 將標準用戶帳戶升級為管理員帳戶
單擊訪客用戶管理設備的訪客帳戶:
圖 3. 在 macOS 中管理來賓用戶帳戶
要創(chuàng)建新用戶,請單擊“用戶和組”首選項窗格左下角的加號按鈕,然后填寫帳戶創(chuàng)建表單:
圖 4. 創(chuàng)建新用戶帳戶
如果要刪除用戶帳戶,請選擇要刪除的帳戶,單擊“用戶和組”窗格左下角的減號按鈕,然后確認要刪除該帳戶:
圖 5. 刪除用戶帳戶
根據(jù)用戶角色和需求配置用戶帳戶通常有助于提高網(wǎng)絡和應用程序的安全性,但在以下情況下應特別注意帳戶創(chuàng)建:
- 該設備可供多人使用。如果許多人都可以訪問存儲敏感信息的系統(tǒng),您需要保護它免受未經(jīng)授權(quán)的訪問和內(nèi)部威脅。實現(xiàn)此目的的一種方法是創(chuàng)建具有所需訪問級別的不同用戶帳戶。例如,您可以允許用戶讀取數(shù)據(jù)并查看系統(tǒng)設置,但只允許系統(tǒng)管理員更改數(shù)據(jù)和設置。
- 組織擁有該設備。當組織為員工提供工作計算機時,它可能會限制用戶訪問設備設置的權(quán)限并使用組策略控制此類設備。macOS 允許管理員通過創(chuàng)建具有訪問限制的用戶帳戶來執(zhí)行此操作。
- 該設備有多種使用場景。用戶可以使用同一臺計算機執(zhí)行多種任務:編寫代碼、創(chuàng)建內(nèi)容、觀看電影等。為每項任務創(chuàng)建單獨的用戶帳戶可以幫助根據(jù)特定的使用場景自定義設備和應用程序設置。
多種類型的用戶帳戶意味著開發(fā)人員必須測試其應用程序如何與所有帳戶配合使用。QA 團隊應驗證具有不同訪問權(quán)限的應用程序的安裝、執(zhí)行和卸載。
假設您的應用程序中有一項功能僅適用于管理員權(quán)限。要檢查此功能的工作原理,您需要首先使用管理員配置文件進行測試。然后,以標準用戶身份運行相同的功能,并且不授予應用程序所需的權(quán)限。在這種情況下,該功能將不起作用,但應用程序應該可以繼續(xù)順利運行。此外,在這種情況下,應用程序可能會顯示特殊通知,例如< feature > 需要管理員訪問權(quán)限。
QA 工程師應將有關此類訪問請求的信息添加到應用程序日志中,以幫助開發(fā)團隊定位可能出現(xiàn)的任何問題。
2.限制屏幕時間
macOS 管理員可以通過配置屏幕時間限制來限制用戶對某些應用程序的訪問。此功能允許配置計算機停機時間、應用程序限制以及內(nèi)容和隱私限制。開發(fā)應用程序時,請確保您了解此功能的工作原理以及您的應用程序在屏幕時間限制下應如何運行。
您可以通過登錄新帳戶并在“系統(tǒng)偏好設置”中打開“屏幕時間”窗格來限制用戶屏幕時間。然后,選擇選項并打開該功能。下一步是啟用“使用屏幕時間密碼”。時間密碼是忽略屏幕時間限制或更改屏幕時間設置所需的四位數(shù)代碼。
圖 6. 為用戶啟用屏幕時間限制
通過屏幕時間限制,您還可以定義哪些應用程序在特定時間段內(nèi)可用。進入“停機時間”選項卡可設置系統(tǒng)停機時間、開啟功能并設置計劃。
圖 7. 配置系統(tǒng)停機時間
然后,轉(zhuǎn)到“應用程序限制”首選項窗格來設置應用程序的每日時間限制。選擇一個應用程序并設置限制。當超過限制時,應用程序?qū)⒈蛔柚埂?/p>
圖 8. 配置應用程序停機時間
您可以在“始終允許”選項卡中選擇在停機期間不應阻止的應用程序。
圖 9. 選擇不應阻止的應用程序
此功能還允許您阻止露骨和成人內(nèi)容,并為帳戶設置隱私設置。您可以在“內(nèi)容和隱私”首選項窗格中執(zhí)行此操作。
圖 10. 配置帳戶隱私設置
如果用戶嘗試訪問被阻止的網(wǎng)站,他們會看到一條警告消息。僅當他們知道屏幕時間密碼時,他們才能將此網(wǎng)站添加到批準列表中。
當您為應用程序配置屏幕時間限制并且這些限制處于活動狀態(tài)時,用戶將看到一個陰影圖標。
圖 11. 具有活動屏幕時間限制的應用程序的圖標帶有陰影
當用戶嘗試啟動被阻止的應用程序時,他們會看到有關達到時間限制的警告。此時,他們可以再獲得一分鐘的時間來完成任務,或者輸入“屏幕時間”密碼來解鎖應用程序。
macOS 應用程序開發(fā)人員在開發(fā)產(chǎn)品時還必須注意屏幕時間阻塞。特別是,請務必檢查:
- 屏幕時間可以停止您的應用程序,而不會出現(xiàn)任何崩潰或致命錯誤
- 如果用戶請求再延長一分鐘或輸入屏幕時間密碼,則可以繼續(xù)使用您的應用程序
- 當應用程序在停機后解除阻止時,用戶可以使用該應用程序
- 應用程序的計劃進程和后臺進程按屏幕時間限制按預期工作
屏幕時間的內(nèi)容和隱私設置中有很多不同的限制。確保檢查它們不會使您的應用程序崩潰。例如,如果您正在開發(fā)可以阻止成人網(wǎng)站的網(wǎng)絡流量過濾器,請通過內(nèi)容和隱私限制對此類網(wǎng)站的訪問,并檢查您的應用程序的工作方式。如果您正在開發(fā)視頻內(nèi)容應用程序,請限制對成人電視節(jié)目的訪問,然后嘗試在應用程序內(nèi)觀看它們。如果您正在開發(fā)視頻游戲,您可以限制對在線游戲的訪問并嘗試在線玩。
3.使用Gatekeeper檢查開發(fā)者ID
Gatekeeper 是一項保護 macOS 免受不受信任應用程序侵害的功能。macOS 用戶可以在系統(tǒng)偏好設置的安全和隱私部分中將其系統(tǒng)配置為允許或阻止來源未知和可疑的應用程序的執(zhí)行。
圖 12. 為應用程序配置可信源
用戶可以允許其設備僅使用從 App Store 下載的應用程序。它是最值得信賴的下載來源,因為 Apple 會在應用程序在 App Store 上發(fā)布之前對其安全性進行審查。如果應用程序有任何問題,Apple 會將其從商店中刪除。
如果用戶嘗試打開不是從 App Store 下載的應用程序,他們將看到以下消息:
圖 13. 嘗試啟動從不受信任的來源下載的應用程序
還有一個選項允許從 App Store 和指定的開發(fā)人員啟動應用程序。在這種情況下,macOS 將檢查應用程序的開發(fā)者 ID 和公證,以確保其安全。當應用程序安裝時以及每次啟動時,Gatekeeper 都會檢查證書。
如果證書無效,則無法安裝應用程序。如果已安裝的應用程序是在證書有效時編譯的,則用戶可以執(zhí)行該應用程序,即使證書已過期。如果開發(fā)者 ID 配置文件已過期,則無法執(zhí)行應用程序。
這就是為什么每個應用程序都應該使用開發(fā)者 ID 證書進行簽名。要獲得此類證書,您必須得到 Apple 的認可并成為 Apple 開發(fā)者計劃的一部分。開發(fā)者 ID 證書自創(chuàng)建之日起五年內(nèi)有效,因此請務必定期更新您的開發(fā)者 ID。
任何應用程序還應該經(jīng)過公證才能受到 macOS 的信任。Apple 公證服務是一個自動化流程,可掃描應用程序中是否存在惡意內(nèi)容。如果沒有發(fā)現(xiàn)問題,它會允許 macOS 運行該應用程序。為了檢查公證權(quán)限,Gatekeeper 連接到 Apple 數(shù)據(jù)庫并搜索該應用程序。
如果設備允許用戶運行從已識別的開發(fā)人員處下載的應用程序,Gatekeeper 仍會顯示一條警告消息,并附有注釋,說明Apple 檢查了該設備是否存在惡意軟件,但未檢測到任何惡意軟件,并且它將允許用戶打開該應用程序。
圖 14. 啟動經(jīng)過 Apple 驗證的第三方應用程序
如果用戶嘗試運行不受信任的應用程序,他們將看到以下消息:
圖 15. 啟動不受信任的應用程序
管理員可以通過在“安全和隱私”首選項窗格中設置相應的權(quán)限來允許用戶運行不受信任的應用程序。
圖 16. 允許來自不受信任來源的應用程序
當您需要測試尚未受信任的應用程序并且您不想更改安全首選項時,Gatekeeper 可能會很麻煩。您可以使用以下命令忽略 Gatekeeper 安全功能:
如何使用macOS 安全配置進行應用程序開發(fā)和測試(上)
spctl 是一個可用于與 Gatekeeper 通信的應用程序。它將Anywhere選項添加到安全和隱私設置中。這意味著您將能夠執(zhí)行任何應用程序。
圖 17. 允許安裝任何來源的應用程序
注意:我們強烈建議您不要禁用任何安全功能,除非您確定自己在做什么!
您可以使用以下命令驗證應用程序的開發(fā)者 ID 和公證:
如何使用macOS 安全配置進行應用程序開發(fā)和測試(上)
如果您的應用程序由有效的開發(fā)者 ID 簽名并具有有效的公證,則該命令將返回消息經(jīng)過公證的開發(fā)者 ID和開發(fā)者的信息。例如,讓我們檢查 Google Chrome 應用程序:
圖 18. 檢查 Google Chrome 的開發(fā)者 ID 和公證
如您所見,Google Chrome 受到 macOS 的信任。
如果您感興趣的應用程序是由受信任的開發(fā)人員創(chuàng)建的,但未經(jīng)公證,您將不會在源字段中看到“已公證”一詞:
圖 19. 檢查未公證應用程序的開發(fā)者 ID 和公證
如果應用程序甚至沒有開發(fā)人員 ID 簽名,您將看到一條無可用簽名消息:
圖 20. 在沒有可信開發(fā)人員簽名的情況下檢查應用程序
在交付任何 macOS 產(chǎn)品之前,請使用上面列出的命令檢查應用程序的開發(fā)者 ID 和公證。它將幫助您的最終用戶避免啟動應用程序時可能出現(xiàn)的問題。您還可以從任何互聯(lián)網(wǎng)資源下載應用程序的安裝程序并安裝它以模擬用戶體驗。
在下篇文章中,我們將介紹管理防火墻中的外部連接、指定應用程序的隱私訪問權(quán)限、配置鑰匙串訪問等問題。
本文翻譯自:https://www.apriorit.com/dev-blog/macos-cybersecurity-basics如若轉(zhuǎn)載,請注明原文地址
當前名稱:如何使用macOS安全配置進行應用程序開發(fā)和測試
當前鏈接:http://www.5511xx.com/article/cdicgpd.html


咨詢
建站咨詢
