文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何使用 macOS 安全配置进行应用程序开发和测试

2024-11-30 10:26

关注

在本文中,我们概述了八个关键的 macOS 安全配置,展示了如何使用它们来保护 macOS 设备,并解释了开发安全的 macOS 应用程序时应考虑的事项。

本文对于从事 macOS 开发项目、希望更深入地了解 macOS 安全功能的 IT 工程师非常有用。

1. 设置用户帐户

在 macOS 中,您可以选择具有不同权限级别的四种类型的用户帐户。这些权限可以允许或阻止使用不同操作系统功能的能力。

在 macOS 中,您可以创建以下帐户类型:

要管理用户,请以管理员身份打开“系统偏好设置”中的“用户和组”偏好设置窗格。您将看到用户列表及其帐户类型。如果您想更改用户帐户,请单击锁定图标并输入管理员密码:

图 1. 访问“用户和组”首选项窗格

要将标准用户升级为管理员,请选中“允许用户管理此计算机”选项。您可以通过取消选中此框将管理员用户降级为标准用户。

图 2. 将标准用户帐户升级为管理员帐户

单击访客用户管理设备的访客帐户:

图 3. 在 macOS 中管理来宾用户帐户

要创建新用户,请单击“用户和组”首选项窗格左下角的加号按钮,然后填写帐户创建表单:

图 4. 创建新用户帐户

如果要删除用户帐户,请选择要删除的帐户,单击“用户和组”窗格左下角的减号按钮,然后确认要删除该帐户:

图 5. 删除用户帐户

根据用户角色和需求配置用户帐户通常有助于提高网络和应用程序的安全性,但在以下情况下应特别注意帐户创建:

多种类型的用户帐户意味着开发人员必须测试其应用程序如何与所有帐户配合使用。QA 团队应验证具有不同访问权限的应用程序的安装、执行和卸载。

假设您的应用程序中有一项功能仅适用于管理员权限。要检查此功能的工作原理,您需要首先使用管理员配置文件进行测试。然后,以标准用户身份运行相同的功能,并且不授予应用程序所需的权限。在这种情况下,该功能将不起作用,但应用程序应该可以继续顺利运行。此外,在这种情况下,应用程序可能会显示特殊通知,例如< feature > 需要管理员访问权限。 

QA 工程师应将有关此类访问请求的信息添加到应用程序日志中,以帮助开发团队定位可能出现的任何问题。

2.限制屏幕时间

macOS 管理员可以通过配置屏幕时间限制来限制用户对某些应用程序的访问。此功能允许配置计算机停机时间、应用程序限制以及内容和隐私限制。开发应用程序时,请确保您了解此功能的工作原理以及您的应用程序在屏幕时间限制下应如何运行。

您可以通过登录新帐户并在“系统偏好设置”中打开“屏幕时间”窗格来限制用户屏幕时间。然后,选择选项并打开该功能。下一步是启用“使用屏幕时间密码”。时间密码是忽略屏幕时间限制或更改屏幕时间设置所需的四位数代码。

图 6. 为用户启用屏幕时间限制

通过屏幕时间限制,您还可以定义哪些应用程序在特定时间段内可用。进入“停机时间”选项卡可设置系统停机时间、开启功能并设置计划。

图 7. 配置系统停机时间

然后,转到“应用程序限制”首选项窗格来设置应用程序的每日时间限制。选择一个应用程序并设置限制。当超过限制时,应用程序将被阻止。

图 8. 配置应用程序停机时间

您可以在“始终允许”选项卡中选择在停机期间不应阻止的应用程序。

图 9. 选择不应阻止的应用程序

此功能还允许您阻止露骨和成人内容,并为帐户设置隐私设置。您可以在“内容和隐私”首选项窗格中执行此操作。

图 10. 配置帐户隐私设置

如果用户尝试访问被阻止的网站,他们会看到一条警告消息。仅当他们知道屏幕时间密码时,他们才能将此网站添加到批准列表中。

当您为应用程序配置屏幕时间限制并且这些限制处于活动状态时,用户将看到一个阴影图标。

图 11. 具有活动屏幕时间限制的应用程序的图标带有阴影

当用户尝试启动被阻止的应用程序时,他们会看到有关达到时间限制的警告。此时,他们可以再获得一分钟的时间来完成任务,或者输入“屏幕时间”密码来解锁应用程序。 

macOS 应用程序开发人员在开发产品时还必须注意屏幕时间阻塞。特别是,请务必检查:

屏幕时间的内容和隐私设置中有很多不同的限制。确保检查它们不会使您的应用程序崩溃。例如,如果您正在开发可以阻止成人网站的网络流量过滤器,请通过内容和隐私限制对此类网站的访问,并检查您的应用程序的工作方式。如果您正在开发视频内容应用程序,请限制对成人电视节目的访问,然后尝试在应用程序内观看它们。如果您正在开发视频游戏,您可以限制对在线游戏的访问并尝试在线玩。

3.使用Gatekeeper检查开发者ID

Gatekeeper 是一项保护 macOS 免受不受信任应用程序侵害的功能。macOS 用户可以在系统偏好设置的安全和隐私部分中将其系统配置为允许或阻止来源未知和可疑的应用程序的执行。

图 12. 为应用程序配置可信源

用户可以允许其设备仅使用从 App Store 下载的应用程序。它是最值得信赖的下载来源,因为 Apple 会在应用程序在 App Store 上发布之前对其安全性进行审查。如果应用程序有任何问题,Apple 会将其从商店中删除。 

如果用户尝试打开不是从 App Store 下载的应用程序,他们将看到以下消息:

图 13. 尝试启动从不受信任的来源下载的应用程序

还有一个选项允许从 App Store 和指定的开发人员启动应用程序。在这种情况下,macOS 将检查应用程序的开发者 ID 和公证,以确保其安全。当应用程序安装时以及每次启动时,Gatekeeper 都会检查证书。 

如果证书无效,则无法安装应用程序。如果已安装的应用程序是在证书有效时编译的,则用户可以执行该应用程序,即使证书已过期。如果开发者 ID 配置文件已过期,则无法执行应用程序。

这就是为什么每个应用程序都应该使用开发者 ID 证书进行签名。要获得此类证书,您必须得到 Apple 的认可并成为 Apple 开发者计划的一部分。开发者 ID 证书自创建之日起五年内有效,因此请务必定期更新您的开发者 ID。 

任何应用程序还应该经过公证才能受到 macOS 的信任。Apple 公证服务是一个自动化流程,可扫描应用程序中是否存在恶意内容。如果没有发现问题,它会允许 macOS 运行该应用程序。为了检查公证权限,Gatekeeper 连接到 Apple 数据库并搜索该应用程序。

如果设备允许用户运行从已识别的开发人员处下载的应用程序,Gatekeeper 仍会显示一条警告消息,并附有注释,说明Apple 检查了该设备是否存在恶意软件,但未检测到任何恶意软件,并且它将允许用户打开该应用程序。

图 14. 启动经过 Apple 验证的第三方应用程序

如果用户尝试运行不受信任的应用程序,他们将看到以下消息:

图 15. 启动不受信任的应用程序

管理员可以通过在“安全和隐私”首选项窗格中设置相应的权限来允许用户运行不受信任的应用程序。

图 16. 允许来自不受信任来源的应用程序

当您需要测试尚未受信任的应用程序并且您不想更改安全首选项时,Gatekeeper 可能会很麻烦。您可以使用以下命令忽略 Gatekeeper 安全功能:

如何使用macOS 安全配置进行应用程序开发和测试(上)

spctl 是一个可用于与 Gatekeeper 通信的应用程序。它将Anywhere选项添加到安全和隐私设置中。这意味着您将能够执行任何应用程序。

图 17. 允许安装任何来源的应用程序

注意:我们强烈建议您不要禁用任何安全功能,除非您确定自己在做什么!

您可以使用以下命令验证应用程序的开发者 ID 和公证:

如何使用macOS 安全配置进行应用程序开发和测试(上)

如果您的应用程序由有效的开发者 ID 签名并具有有效的公证,则该命令将返回消息经过公证的开发者 ID和开发者的信息。例如,让我们检查 Google Chrome 应用程序:

图 18. 检查 Google Chrome 的开发者 ID 和公证

如您所见,Google Chrome 受到 macOS 的信任。

如果您感兴趣的应用程序是由受信任的开发人员创建的,但未经公证,您将不会在源字段中看到“已公证”一词:

图 19. 检查未公证应用程序的开发者 ID 和公证

如果应用程序甚至没有开发人员 ID 签名,您将看到一条无可用签名消息:

图 20. 在没有可信开发人员签名的情况下检查应用程序

在交付任何 macOS 产品之前,请使用上面列出的命令检查应用程序的开发者 ID 和公证。它将帮助您的最终用户避免启动应用程序时可能出现的问题。您还可以从任何互联网资源下载应用程序的安装程序并安装它以模拟用户体验。

在下篇文章中,我们将介绍管理防火墙中的外部连接、指定应用程序的隐私访问权限、配置钥匙串访问等问题。

本文翻译自:https://www.apriorit.com/dev-blog/macos-cybersecurity-basics如若转载,请注明原文地址

来源:嘶吼网内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯