任职系统管理员有时可不是份轻松的差事。由于要管理诸多设备、网络和用户,很容易被搞得精疲力竭,因而不是忽视某个隐藏的设置,就是将某个配置保护得过于严格了一点。
获得对OS X的管理员访问权
然而,无论走哪个极端,都不可避免地导致出现两种场景中的一种:一旦钻了漏洞的空子,未授权用户就会被授予更高的权限;或者环境实在太安全了,连IT部门都失去了一度无限制的访问权。
具有讽刺意味的是,在我IT职业生涯的早期阶段,我在一路学习组策略(Group Policy)或苹果的服务器管理员工具(Server Admin Tools)时,数次碰到过这一幕。而我得到的教训是:想最清楚地知道如何搞定某技术,一定要明白如何破解该技术。
本文介绍的三种方法不仅可以用来重新获得对管理员帐户的访问权,同时还能了解如何防止别人企图也这么做。
1. 恢复分区
它是如何发生的?
这个过程非常简单。从断电状态,开启Mac电源,按住苹果编钟前面的[Option]键。一直按住此键,直到Startup Manager(启动管理器)装入。下一步,选择Recovery Partition(恢复分区)。启动进入到恢复分区后,依次选择Utilities(实用工具)| Terminal(终端)。输入命令“resetpassword”(注意没有双引号),按回车键,即可调出密码重置实用工具。之后,选择含有你想重置的某个帐户的那只驱动器,从下拉式菜单中选择一个用户。为该帐户指定一个新密码,确认密码,然后点击Save(保存)按钮。重启电脑,一旦装入OS X,只要输入帐户名称和刚重置的密码,即可获得管理访问权。
谁能执行这项操作?
实际接触得到节点的人都能够执行这个重置方法。
如何才能防止这个操作?
幸好,有两种这样的方法可以防止这个操作。首先,启用Firmware Password(固件密码),这也可以从恢复分区中的Utilities(实用工具)| Firmware Password Utility(固件密码实用工具)来启用,它会设置一个EFI引导密码,防止用户引导进入到除默认引导驱动器之外的任何设备。
其次,启用FileVault 2,这是苹果的全盘加密功能,这可以保护密码远离与非加密帐户同样的密码重置例程,那是由于FV2处理密码重置的方式独立于操作系统。这意味着,虽然用户有可能更改管理员帐户的密码,但由于身份验证在FV2中处理起来有点不同,用户将首先需要用之前的密码(他/她不知道该密码)来验证身份,验证通过后才能获得系统访问权。#p#
2. 单一用户模式
它是如何发生的?
从断电状态引导Mac时,按住苹果编钟前面的[Command]+[S]组合键,这会导致电脑引导进入到单一用户模式(SUM)。
SUM旨在用作一种工具,帮助IT人员及开发人员排查影响OS X的问题,尤其是与引导有关的那些问题。它确实有另一个优点(或者说缺点):以root访问权(又叫超级用户)启动,这让命令可以在管理员层面加以执行。节点自动引导进入到SUM,不需要登录信息。
如果运行下面的命令,用户可以重置Apple Setup运行时环境,让它回到出厂设置,促使电脑在随后的重启过程中再次运行这个过程。完成安装过程还意味着,将创建一个新的管理员帐户,因而危及系统的安全性。
mount -uw /
rm /var/db/.AppleSetupDone
shutdown -h now
谁能执行这项操作?
就像恢复分区一样,实际接触得到节点的人都能够执行这个重置方法。
如何才能防止这个操作?
同样,设置固件密码将确保试图获得访问权的人都必须提供固件密码,之后才能看到启动管理器、进入SUM。
另外,FileVault 2允许访问SUM,但是用户需要首先通过FV2的登录窗口验证身份。
3. Apple ID
它是如何发生的?
从System Preferences(系统首选项)装入Users & Groups(用户与用户组)首选项面板,将列出某台电脑中本地存储的所有帐户。选择一个帐户时,可以勾选标为“Allow user to reset password using Apple ID”(允许用户使用Apple ID重置密码)的复选框。
这个选项的目的是,拥有与Apple ID关联的用户帐户的任何人在登录屏幕出现时都能重置密码,只要输入其Apple ID,使用该帐户验证身份。
附带提一下,虽然可以、而且鼓励将Apple ID和iCloud 作为独立帐户分开来,可是在许多情况下,它们是同一个帐户。这增添了另一条攻击途径。因为万一Apple ID登录信息泄密,iCloud帐户就可以被用来访问位于iCloud的Find My iPhone应用程序,与该帐户关联的其他设备就有可能在管理员(或设备所有人)不知情的情况下被人从设备列表上远程删除,等到发觉时,往往为时已晚。
谁能执行这项操作?
只有知道允许使用Apple ID重置这个复选框已启用的帐户所需要的ID登录信息的那些人才能执行。不过,危险可能远程或本地出现;也可以被有权访问用Apple ID帐户注册的电子邮件帐户的任何人所执行。
如何才能防止这个操作?
明显的选择就是不要勾选帐户的Apple ID密码重置复选框。不过,这个选项的用途比负面因素多得多,而且取决于你的环境及/或企业政策。
一种更现实的方法就是,遵循密码最佳实践,比如选择至少14个字符的强密码,键与键间隔很宽(使用大小写字母、数字和字符)。你还应该每过45天至90天更改这个密码,并确保至少在前六次变更中没有使用同一个密码。
将与Apple ID关联的电子邮件帐户与公司或个人帐户分开来,这也是个好主意。
最后,为Apple ID和iCloud实施分为两步的验证也有望阻止企图绕过限制的大多数行为。
切记:电脑执行某一项任务的方式不止一种,需要做好调查工作,以测试系统。这对于加强电脑的安全,并继续提高负责管理及维护电脑的人员的安全意识将大有帮助。
对于获得OS X的访问权或阻止访问权还有其他什么高招?欢迎留言交流。
英文:Pro tip: Three ways to gain (or prevent) admin access to OS X