macOS catalina 2018到2020年的MBp如何卸载或禁用蓝牙和wifi驱动

因公司的安全管控需要,macOS catalina 版本10.15.4--10.15.7 2020年的MacBook pro如何卸载或禁用蓝牙和wifi驱动(最好是触控板保留可用).以及macOS 11.2版本的如何卸载和禁用。


我们是要做到对于普通使用人员,无法从系统偏好设置和菜单上重新启用蓝牙和wifi的效果。

对于2013和2014年版本的MacBook pro,我们使用在recovery模式下,修改extensions下目录名可实现禁用蓝牙和wifi。但是,对于2020年笔记本以及macOS big sur 11.2版本操作系统等,使用此方法无效。所以,紧急求助。


[经过版主编辑]

发布日期 2021年3月25日 下午7:23

回复
回复量: 13

2021年3月26日 下午7:51 回应 guoyao80

看描述有点小疑问

说的 2013、2014版本可以,可是这个应该是与 macOS 的版本相关,与硬件也相关?没看太懂。我的理解还是应该是 macOS 系统版本相关,难道硬件的系统从来不升级的?不升级本身也是一个漏洞。


如果是 Catalina 版本还好吧,依然可以通过禁止 SIP 后,就可以修改系统保护的文件,然后再开启 SIP。但是“这个”到了 Big Sur 就不适用了,或者说,要想改就更费劲了,而且可以被看出痕迹了,11 的时候测试过,可以找找相关的文章,比如知乎上有中文的,但 11.2 没有测试过。


另外,安全措施,还是要从多方面考虑和实施。比如,即便对系统的蓝牙和 WiFi 模块做了手脚,如果没有其他的手段辅佐,依然可以通过类似的手法修复(比如从其他地方复制)。还有一个部署的问题,太多的手动操作,一是繁琐,而是费时,三是容易出错,最好是寻求更现代的手段。


就这个问题来说,有几个方面可以考虑:

硬件方面,所有设备加入 DEP

使用 MDM 管理,配合 configuration profile 设置

设置固件密码(虽然可以被),这个至少可以禁止某些系统的操作,如单用户模式目标模式等,阻止随意的操作,如恢复启动。这个可以命令行部署,方便快捷

限制用户账户类型,非管理员。同时需要一个公司的统一管理员账户

开启文件保险箱,使用企业统一的证书。在 Big Sur 中如果编辑了系统后,就无法开启了。

配合自己的特殊安全设置:比如禁止蓝牙,可以开机后就禁止蓝牙相关的服务等

视安全需求,可能需要再适时适度地审计,记录系统状态,必要的更新等等

更全面的安全管理:比如是否准许使用 iCloud,禁止 USB 的存储设备和网卡、WiFi 卡等等,防止照相,防止录屏等等。引入多设备认证登录等等

如果是 ABM的用户,可以花钱与 Apple 的高级工程师聊聊安全问题哦


安全的确是个令人头疼的问题,几乎是一个永恒的话题



具体到蓝牙部分


禁止蓝牙服务的部分:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.bluetoothd.plist
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.bluetoothaudiod.plist
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.bluetoothReporter.plist


这里是用户级别的:

launchctl unload /System/Library/LaunchDaemons/com.apple.bluetoothUIServer.plist


通过以上的步骤,big sur 用户无法连接到蓝牙设备了。


还有可以编辑 /Library/Preferences/com.apple.Bluetooth.plist。没有测试big sur是否可以 kextunload。


WiFi 可以参考如上的思路

2021年3月26日 下午11:20 回应 SparkWu

的确是没有太理解仅仅禁止这两个设备与所需的安全目标之间的距离,从一个笼统的安全目标来说,总是需要一个比较完整的策略才能做到有效可追踪可审计可持续的。当然,题主可能是把问题简单具体化了,以便大家具体分析,反而是咱们想得多了。


刚才想到的更彻底的方法:开后机盖,把两者的天线剪断+拔除,是个简单可行的办法。


MDM 和 AMB+DEP 等服务的确是需要网络服务的,需要在 设备 与 Apple 服务器和 公司的 MDM 服务之间通信的。没有网络就别想了。比如,与世隔绝的内部网,MDM 的登记只能是用户自愿方式,这种方式很容易被移除。


MDM 本身没有命令功能,但是多数 MDM 系统软件都提供,目前一般是在设备登记初始阶段安装定制的客户端管理包来实现。

iOS, tvOS, macOS 的 MDM 可管理项目的确很还有些差异。好多没有用到的也需要查找和测试,如果不亲手测试,真的不好说,某个具体功能能否和如何实现。


一般的网络控制,个人感觉,使用 macOS 自带的 pf 防火墙就可以。单就 WiFi 而言,还可以通过 configuration profiles + certifications, 设置可用网络(如果需要),然后命令行(查找 airport 相关的)可以禁止普通用户改变 WiFi 配置,从而限制用户通过 WiFi 连接其它 SSID,当然管理员权限依然可以。


个人认为,你的开放硬件的思路是对的,其实安全来安全去的,无非就是数据仅被授权的用户以授权的方式访问。要控制数据的流动,把数据集中控制,控制访问的特定安全方式,数据流的流和停都控制好就好,比如模仿访客帐户,禁止相关服务和设备,访问登出后,所有数据都删除。把主要精力和资金投入到数据安全上。安全级别再高就定制设备。不过,这些都是理想化的状态,世界千变万化,需求和场景也是千差万别。


2021年3月27日 上午5:53 回应 SparkWu

绝大部分依然可用,主要缺少新技术的内容。有的内容,随着版本升级,有的命令功能多了,有的缩水了。总体来说,MDM 与命令行不冲突。而且,通过命令行控制 GUI 端依然是admin 的一个主要的可行手段。

有意思的是,Windows 从原来的万物 GUI 最大化,到现在逐步从 CMD,VBScript 到 PowerShell,引入 Linux 等等,"命令行"(脚本) 也被越发的重视,能做的活越来越多。而 Mac方面,随着发展,有些重要功能却无法用命令改变了,比如 Privacy Preferences Policy Control 需与 MDM 服务配合,而且root 失去了它原本的“至高无上”地位,有些事情rootless说了算。从“八卦比较学”角度说,root 的地位可与清末代皇帝对比😀。


题外话,个人认为,configuration profile 其实就是老技术 MCX 的扩展,给 MCX 穿了身黄马甲,变身正式皇帝贴身侍卫编制。MCX 在书中有提到,它的功能主要是控制一些系统软件,而现在 MDM 可管理的范围广多了。横向比较,在 client 端,它与 Windows 的 registry 类似。


以上都是个人管见,见笑了

2021年3月29日 下午7:40 回应 guoyao80

1> 先说10.15.7, 我记得以前最 USB 设备时,是删除 kext 后运行 kextcache 吧,不是修改文件名,以前只是看过,没有操作过,所以不太确定了。新机器 T2 的,试试先调低启动安全级别之后再做别的。


2> 11.2的,刚才看见说 11.1 开始就不行了,知乎文“Mac Big Sur 11.1如果获得系统写入权限”,不过看看这个“如何评价 macOS Big Sur 关闭 SIP 后仍无法修改 System 文件夹下文件”的回答中 3 月 7 日更新的,貌似又可以。你试试,用删除而不是改文件名。


3> 我的测试是:前面说的第四行(用户级)命令也运行,运行完四条命令后,在 11.2 的 GUI 中貌似蓝牙依然工作,可以开关电源等,但是找不到任何蓝牙设备了。你的情况呢?依然可以扫描和匹配设备吗?如果是,

lanunchctl list | grep -i bluetooth 运行的结果如何?

目录“/System/Library/LaunchDaemons/”和““/System/Library/LaunchAgents”中所有的有关 bluetooth 的 plist 文件列出来下。

如果是第三方的蓝牙设备,比如通过 USB 连接的另说--对了,仅仅改名或者删除系统的 IOBluetooth*,那么外接的怎么控制?

2021年3月26日 下午8:16 回应 tonyfromcalgary

最近我在琢磨 MDM,理解还比较肤浅,就禁用 Wi-Fi 这一个需求请教 @tonyfromcalgary 您一下。

MDM 似乎不能远程执行终端命令?甚至 MDM 与此需求还有点矛盾,因为 MDM 需要联网嘛。此外,就算禁用了 Wi-Fi 还可以外接 NIC。

所以我后来想能不能就开放硬件使用,转而去设置域名白名单或 SSID 白名单,但是这两个 Payload 似乎又都仅适用于 iOS 设备。


在不考虑本地终端操作的情况下,禁止 Mac 用户访问网络或仅允许访问特定网络或地址,这样的需求可以实现吗?

2021年3月29日 上午1:57 回应 tonyfromcalgary

多谢您的回复。我再回复几点。

1。我当时也是很纳闷,也是觉得应该只与os版本有关,应该与物理设备年份无关。但是,我们实践证明,同样的10.15.7版本,老机器可以在recovery模式, 修改/Volumes/mac*/system/library/extensions/IOBluetooth*.kext 的名字来禁用。但是,新机器就是失败,不起作用(重启后,虽然/System/libray/extensions/下的目录名字都被修改了,但是蓝牙还是可用)。11.2版本的修改就更加毫无效果了。

2.还有,您说的比如知乎上有中文的,这个有链接或者什么吗?我找了半天没找到。

3.我使用sudo launchctl unload /System/Library/LaunchDaemons/com.apple.bluetoothd.plist

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.bluetoothaudiod.plist

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.bluetoothReporter.plist这些也没有达到我的目的。

这个主题已被系统或社区团队关闭。 你可以为你认为有帮助的任何帖子投票,也可以在社区中搜索其他答案。

macOS catalina 2018到2020年的MBp如何卸载或禁用蓝牙和wifi驱动

欢迎来到 Apple 支持社区
Apple 客户在其产品方面互相帮助的论坛。使用您的 Apple 帐户开始畅游其中吧!!