iOS MDM 配置文件是公开的吗?

Posted

技术标签:

【中文标题】iOS MDM 配置文件是公开的吗?【英文标题】:Are iOS MDM profile config file meant to be public? 【发布时间】:2021-06-05 09:08:49 【问题描述】:

下面是我的示例 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 配置文件被黑客访问,我应该采取哪些措施来确保自己的安全?

【问题讨论】:

【参考方案1】:

所以从技术上讲,如果 MDM 配置文件不是通过 SSL 交付,ios 会(应该?)拒绝安装。

因此,除非有任何中间人攻击、公司代理等,否则您至少拥有证书和密码的 SSL 保护。

但是,其他人也像您一样担心这一点,因此 iOS 几乎从 iOS 5 开始就支持 SCEP 密钥传递,其中设备生成私钥,服务器签署证书,因此服务器只有公钥。

所以回答你的问题:

    不要发送证书和密码,而是使用 SCEP 如果攻击者获得私钥(整个证书包含私钥),他们就可以解密通过服务器的 MDM 命令安装的配置文件。有效负载可能包含敏感信息(***/电子邮件密码、其他证书等) 实际上,我想很难知道证书是否已被黑客访问。作为一般风险缓解策略,您应该监控异常行为(例如,来自地理分散 IP 地址的多个并发请求、命令重播、响应 CertificateList 命令时缺少证书)

【讨论】:

以上是关于iOS MDM 配置文件是公开的吗?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式验证 MDM 配置文件(配置)是不是已成功推送到 iOS 设备?

iOS SDK 中的 MDM iPCU 配置文件安装失败

了解配置文件和 Airwatch MDM

开源MDM服务器的选择

配置MDM的描述文件

如何在 iPhone 中安装 MDM 配置文件?