浅聊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,以便管理员可以从头开始配置。

我要评论!

想一个你喜欢的昵称。
给一个你的常用邮箱。
想和萌萌哒的TA们说点啥。
  • 升级了macOS Sierra (10.12)版本后在“安全性与隐私”中不再有“任何来源”选项,如下图: 这可麻烦了,有些第三方的应用用不了了,若我们想要装却要允许任何来源的朋友就不知该怎么办了。 其实只要用我们万能的终端,这个问题还是能迎刃而解。 接下来,我们就打开终端,然后输入以下命令(要输入密...
  • 一般我们在更换DNS源或配置了HOSTS后,刷新DNS缓存让你可以得到新的域名解析。当你无法正确访问一个新注册的域名时就可以刷新dns缓存试试,但是不同的系统如Windows、Mac OS和Linux上的方法是不一样的。 如果是 Win 系统:1.在附件中找到 cmd 或Win+R快捷键并输入cmd...
  • 如何让一个Python脚本输出的文字信息是彩色的?其实这个其实跟python无关的,跟具体所用console的类型有关系,不同的类型对应不同的控制码,如果是ansi终端,可以用ansi的控制码。 Mac或Linux终端中的颜色是用转义序列控制的,转义序列以ESC开头,可以用\033完成相同的工作(E...
  • mac并没有像win一样提供什么快捷删除方式,我们只能找到pkg安装后产生的文件,然后删除它。 方法一: mac会维护一份pkg安装历史,只要找到那个文件夹,我们就可以搞定了。如osx 10.8以上系统,pkg历史安装列表在/private/var/db/receipts目录下: cd /priva...
  • macOS下可能不像WIN下那么简单地就能修改,毕竟有权限的管控,那么需要用到时怎么操作? 1、打开终端命令窗口,找不到就COMMAND+空格键; 2、输入命令:sudo nano /etc/hosts; 3、输入超级用户口令以获得权限; 4、请尽情地修改吧; 5、按以下组合键保存并退出编辑状态:C...
微信扫一扫即可带走我!