ios - iOS MDM 配置文件是公开的吗?
问题描述
下面是我的示例 MDM profile.mobileconfig文件。
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>AccessRights</key>
<integer>8191</integer>
<key>CheckInURL</key>
<string> [my url] </string>
<key>CheckOutWhenRemoved</key>
<true/>
<key>PayloadDescription</key>
<string>Configures Mobile Device Management</string>
<key>PayloadDisplayName</key>
<string>Mobile Device Management</string>
<key>PayloadIdentifier</key>
<string>com.mytests.mdm</string>
<key>PayloadOrganization</key>
<string> [my organisation] </string>
<key>PayloadType</key>
<string>com.apple.mdm</string>
<key>PayloadUUID</key>
<string> [my payload] </string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>ServerURL</key>
<string> [my url] </string>
<key>SignMessage</key>
<true/>
<key>Topic</key>
<string>com.novabase.mdm.pushcert</string>
<key>UseDevelopmentAPNS</key>
<true/>
</dict>
</array>
<key>PayloadDescription</key>
<string>Profile description.</string>
<key>PayloadDisplayName</key>
<string>MDM test</string>
<key>PayloadIdentifier</key>
<string>com.mytests.mdm</string>
<key>PayloadOrganization</key>
<string> [my organisation] </string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>11-22-33-44</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>Password</key>
<string>123456</string>
<key>PayloadCertificateFileName</key>
<string>mdmkey.p12</string>
<key>PayloadContent</key>
<data>MY SIGNING KEY HERE
</data>
<key>PayloadDescription</key>
<string>Adds a PKCS-12 certificate</string>
<key>PayloadDisplayName</key>
<string>mdmkey.p12</string>
</dict>
</plist>
在上面的文件中,您可以看到我的密码和p12 签名密钥。看到这个我很好奇这个文件是否是公开的?
如果这应该保密,
- 我应该采取哪些步骤来保持此文件的私密性和安全性?
- 如果恶意黑客可以访问上述文件,他会怎么做?或者,如果他可以访问此文件,可以执行哪些操作?
- 如果我的 mdm 配置文件被黑客访问,我应该采取哪些措施来确保自己的安全?
解决方案
所以从技术上讲,如果 MDM 配置文件不是通过 SSL 交付的,iOS 会(应该?)拒绝安装。
因此,除非有任何 MiTM 攻击、企业代理等,否则您至少拥有证书和密码的 SSL 保护。
但是,其他人也像您一样担心这一点,因此 iOS 几乎从 iOS 5 开始就支持 SCEP 密钥传递,其中设备生成私钥,服务器签署证书,因此服务器只有公钥。
所以回答你的问题:
- 不用发送证书和密码,而是使用 SCEP
- 如果攻击者获得了私钥(整个证书包含私钥),他们就可以解密通过服务器的 MDM 命令安装的配置文件。有效负载可能包含敏感信息(VPN/电子邮件密码、其他证书等)
- 实际上,我想很难知道证书是否已被黑客访问。您应该监控不规则行为作为一般风险缓解策略(例如,来自地理位置分散的 IP 地址的多个并发请求、命令重播、缺少证书以响应 CertificateList 命令)
推荐阅读
- xml - 如何使用 serde-xml-rs 混合元素和未标记文本来解析 XML?
- xcode - iOS 15 控制台中的消息:“绑定
动作试图每帧更新多次。” - asp.net-mvc - .Net Core- 日期时间输入,时间选择限制
- outlook - 在 9 月 30 日共享 Microsoft 已知问题后,Outlook 个人资料图片未显示
- rest-assured - 放心 - 运行不同的 API 调用时“Multiparts”参数不会被清除
- ffmpeg - 当ffmpeg中有超过4个输出时如何平滑输出rtmp
- python-3.x - 补丁 + 参数化单元测试 Python
- php - 插入 BigQuery 的速度 - 这应该在后台批处理吗?
- selenium - 当测试 Maven 任务之一失败时,Azure 管道构建失败
- macos - 无法在 MacBook 上的浏览器中访问 Kubernetes Ingress