问题描述
以下是我的示例 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 会(应该?)拒绝安装 MDM 配置文件。
因此,除非有任何 MiTM 攻击、公司代理等,否则您至少拥有证书和密码的 SSL 保护。
但是,其他人也像您一样担心这一点,因此 iOS 几乎从 iOS 5 开始就支持 SCEP 密钥交付,其中设备生成私钥并且服务器对证书进行签名,因此服务器只有公钥。
>所以回答你的问题:
- 不要发送证书和密码,而是使用 SCEP
- 如果攻击者获得了私钥(整个证书包含私钥),他们就可以解密通过 MDM 命令从服务器安装的配置文件。负载可能包含敏感信息(VPN/电子邮件密码、其他证书等)
- 实际上,我想很难知道证书是否已被黑客访问过。您应该监控异常行为作为一般风险缓解策略(例如,来自地理分散 IP 地址的多个并发请求、命令重放、响应 CertificateList 命令时缺少证书)