浅聊macOS中的Gatekeeper保护

自从美洲狮开始,Apple引进了一个叫Gatekeeper的技术,用来保护系统免收外来Apps对系统安全的破坏,这也是Apple所作出的技术上对付曾经爆发的被闪回感染的事件,详见苹果的官方文档。

这个设置在System Preferences中的Security中给普通用户一个直观而简单的设置选项:

Gatekeeper

在这里,给了用户两个苹果认为适合的安全选项,“所有Mac App商店下载的软件”都是认为安全的,或者“Mac App商店下载以及特定的开发者的软件”被认可安全,因为每个在苹果注册的开发人员都有一个特定的开发人员ID,并可以通过xcode环境对自己开发/发布的软件进行数字签名,Mac系统可以读取/验证每个软件中的这个数字签名是否有效。

Gatekeeper看上去挺美,可是之通过上面的方式进行配置,是不适用企业环境的,或者说那两个选项在企业环境中不够灵活。

首先,我们在部署或者重新安装系统的时候,目前普遍的方式都是核心系统影像+软件安装包的形式。而核心影像最安全通用的方法也是直接从OS X的安装dmg文件获得,管理员没有机会定Gatekeeper。

其次,每个企业环境不同,应用软件来源多种多样,不说旧的版本和获得渠道,就说即便是新软件,每个人都可以从开发者那里直接购买,一是因为从App商店购买的软件都是Apps,有好多限制,比如强制适用沙箱技术等;而来第三方开发者完全可以不用向Apple交开发员年费而开发Apple软件,对于这些开发商不能排除在外。

另外,管理员还需要把适合自己企业环境的安全措施,随时部署到内部,所以也需要灵活的工具来管理。
所以需要有一个有效工具,苹果提供了一个命令行工具叫spctl。

通过这个工具,管理员可以灵活地添加自己的规则(rules),或者打开或者关闭这个功能。

关闭: sudo spctl --master-disable

打开: sudo spctl --master-enable

添加一个规则:sudo spctl --add --label "Good Apps" /Applications/Good.app
sudo spctl --add --label "Bad Apps" /Applications/Bad.app
禁止一个规则:sudo spctl --disable --label "Bad Apps" /Applications/Good.app

准许一个规则:sudo spctl --disable --label "Good Apps"

删除一个规则:sudo spctl --remove --label "Good Apps"

检查状态:sudo spctl --status

这些规则存放在一个数据库中/var/db/SystemPolicy,系统还存放了一个最原始的系统数据库/var/db/.SystemPolicy-default,以便管理员可以从头开始配置。

相关推荐:
一、准备工作: 准备一个 8GB 或以上容量的 U 盘,确保里面的数据已经妥善备份好(该过程会抹掉 U 盘全部数据),下载苹果官方 OS X Yosemite 正式版的安装程序。 如果你是从 Mac AppStore 下载的,下载完 …
Mac截图基本方法 全屏截图:Command+Shift+3 使用快捷键后会马上截取当前的全屏 指定区域截图:Command+Shift+4 使用快捷键后会出来一个带有座标的瞄准器,用鼠标的拖放可以选择需要截图的区域。此方式有秘 …
一般我们在更换DNS源或配置了HOSTS后,刷新DNS缓存让你可以得到新的域名解析。当你无法正确访问一个新注册的域名时就可以刷新dns缓存试试,但是不同的系统如Windows、Mac OS和Linux上的方法是不一样的。 如 …
升级了macOS Sierra (10.12)版本后在“安全性与隐私”中不再有“任何来源”选项,如下图: 这可麻烦了,有些第三方的应用用不了了,若我们想要装却要允许任何来源的朋友就不知该怎么办了。 其实只要用我们万能 …
如何让一个Python脚本输出的文字信息是彩色的?其实这个其实跟python无关的,跟具体所用console的类型有关系,不同的类型对应不同的控制码,如果是ansi终端,可以用ansi的控制码。 Mac或Linux终端中的颜色 …
拿起手机扫一扫即可带走我!