安全配置
FileVault (macOS)
FileVault 为 macOS 设备提供全磁盘加密(XTS-AES-128)。启用后,启动磁盘将被加密,启动时需要输入密码才能解锁。
个人恢复密钥
启用 FileVault 时会生成一个个人恢复密钥。如果用户忘记登录密码,此密钥可用于解锁磁盘。该密钥应托管到 MDM 服务器以安全保管。
机构恢复密钥
机构恢复密钥是一种基于公钥的恢复机制。对应的私钥由组织持有,允许 IT 部门无需用户的个人密钥即可解锁任何已启用 FileVault 加密的设备。
配置
| 键 | 类型 | 描述 |
|---|---|---|
Defer | Boolean | 延迟 FileVault 启用,直到用户注销 |
DeferDontAskAtAuth | Boolean | 禁止显示 FileVault 登录提示 |
ShowRecoveryKey | Boolean | 向用户显示个人恢复密钥 |
OutputPath | String | 恢复密钥托管负载的写入路径 |
防火墙 (macOS)
macOS 包含一个内置的应用防火墙,可基于每个应用控制传入连接。
启用防火墙
打开应用防火墙以阻止未经请求的传入连接。
隐身模式
启用后,设备不会对关闭端口上的探测(例如 ICMP ping)做出响应,从而降低其在网络上的可见性。
应用特定规则
允许或阻止特定应用的传入连接。规则可通过包标识符(bundle identifier)定义。
| 键 | 类型 | 描述 |
|---|---|---|
EnableFirewall | Boolean | 启用 macOS 应用防火墙 |
BlockAllIncoming | Boolean | 阻止除基本服务外的所有传入连接 |
EnableStealthMode | Boolean | 启用隐身模式(不响应探测) |
Applications | Array | 具有按应用防火墙规则的应用列表 |
证书
在设备上安装受信任的根证书和中间证书。这对于以下场景至关重要:
- 内部 PKI 信任链
- 基于证书的身份验证
- TLS 检查和内容过滤
- Wi-Fi 和 VPN 证书信任
配置
| 键 | 类型 | 描述 |
|---|---|---|
PayloadCertificateFileName | String | 证书文件名 |
PayloadContent | Data | Base64 编码的证书数据(DER 或 PEM) |
PayloadCertificateUUID | String | 证书负载的唯一标识符 |
证书可以标记为受信任(添加到系统信任存储)或不受信任(添加到钥匙串但默认不受信任)。
SCEP
简单证书注册协议(SCEP)可自动完成证书的签发和续期。设备向 SCEP 服务器请求证书,无需手动分发证书。
配置
| 键 | 类型 | 描述 |
|---|---|---|
URL | String | SCEP 服务器 URL |
Name | String | 证书主题名称模板 |
Subject | Array | 证书主题属性(例如 CN、O、C) |
Challenge | String | 用于注册的一次性挑战密码 |
KeySize | Integer | RSA 密钥大小(1024、2048、4096) |
KeyType | String | 密钥算法(RSA 或 ECDSA) |
KeyUsage | Integer | 密钥用途标志(digitalSignature、keyEncipherment) |
Retries | Integer | 失败时的重试次数 |
RetryDelay | Integer | 重试间隔秒数 |
工作流程
- 设备在本地生成密钥对
- 设备向 SCEP 服务器发送 PKCS#10 证书签名请求(CSR)
- SCEP 服务器验证挑战并签发证书
- 设备安装已签发的证书
- 设备在证书到期前使用相同的 SCEP URL 进行续期
单一应用模式
单一应用模式(SAM)将设备限制为仅运行单个应用,从而创建信息亭(kiosk)模式。退出应用需要密码或 MDM 命令。
配置
| 键 | 类型 | 描述 |
|---|---|---|
AllowTouchScreenRotate | Boolean | 允许在信息亭模式下旋转屏幕 |
AllowAutoLock | Boolean | 允许设备自动锁定 |
AllowLockScreen | Boolean | 允许访问锁定屏幕 |
AllowVolumeButtons | Boolean | 允许使用音量按钮 |
AllowRingerSwitch | Boolean | 允许使用静音开关(iOS) |
AutonomousSingleAppModePermittedAppIDs | Array | 允许自主进入 SAM 的应用包 ID |
使用场景
- 销售点终端
- 数字标牌
- 考试监考
- 图书馆目录查询站
- 患者签到信息亭
隐私偏好 (macOS)
macOS 隐私偏好策略控制(PPPC)管理应用对系统隐私控制的访问。这取代了用户需要在系统设置中手动批准权限的操作。
支持的隐私服务
| 服务 | 描述 |
|---|---|
AddressBook | 通讯录访问 |
Calendar | 日历访问 |
Reminders | 提醒事项访问 |
Photos | 照片库访问 |
Camera | 相机访问 |
Microphone | 麦克风访问 |
Accessibility | 辅助功能 API 访问 |
PostEvent | 系统级事件发布 |
SystemPolicyAllFiles | 全磁盘访问 |
SystemPolicySysAdminFiles | 系统管理文件访问 |
DesktopFolder | 桌面文件夹访问 |
DocumentsFolder | 文档文件夹访问 |
DownloadsFolder | 下载文件夹访问 |
FileProviderPresence | 文件提供商域访问 |
配置
| 键 | 类型 | 描述 |
|---|---|---|
CodeRequirement | String | 应用的代码签名要求(例如 identifier "com.example.app" and anchor apple generic) |
Identifier | String | 应用的包标识符 |
IdentifierType | String | bundleID 或 path |
StaticCodeValidation | Boolean | 在授予访问权限前验证应用的代码签名 |
Allowed | Boolean | true 允许,false 拒绝 |
示例
xml
<dict>
<key>CodeRequirement</key>
<string>identifier "com.microsoft.teams" and anchor apple generic</string>
<key>Identifier</key>
<string>com.microsoft.teams</string>
<key>IdentifierType</key>
<string>bundleID</string>
<key>StaticCodeValidation</key>
<true/>
<key>Allowed</key>
<true/>
</dict>