【问题标题】:What will be happen if we change SELinux set to Permissive mode如果我们将 SELinux 设置为 Permissive 模式会发生什么
【发布时间】:2020-04-21 07:13:55
【问题描述】:

我想创建新服务,因为该服务已在 SEpolicy 中注册。

我的服务在启动设备时没有运行,因为设备是 SELinux=enforcing 模式。

我得到了一些信息,例如,如果我们设置 androidboot.selinux=permissive 模式,那么我就可以启动新服务了。

这里我有一些疑问,如果我们设置 selinux=permissive 。我们将失去安全性或经过 Android 验证的启动或绕过任何与安全性相关的事情。

提前致谢。

【问题讨论】:

    标签: android-source selinux


    【解决方案1】:

    你是对的。如果将 SELinux 设置为 permissive,则会禁用 Android 的一项重要安全功能。这就是为什么您仅使用该模式进行开发的原因。 permissive 模式将为您做的是跟踪您的服务缺少的所有允许规则。

    你通常会这样处理:

    1. 实施您的服务。
    2. 启用 SELinux permissive 模式(请参阅 here)。
    3. 启动您的服务并检查avc 输出是否缺少allow 规则或违反您的服务的neverallow 规则(请参阅here)。
    4. 仔细考虑安全隐患并将所需的contextsallow 规则添加到系统中(请参阅here)。
    5. 启用 SELinux enforcing 模式。
    6. 检查您的服务是否有效,avc 不再抱怨。

    【讨论】:

    • 非常感谢您的回复。它对我很有帮助。您有创建服务步骤或文档的示例吗。
    • 不客气。我推荐source.android.com/security/selinux 的官方文档。我在答案中添加了文档的一些特定子页面。
    猜你喜欢
    • 2016-07-30
    • 2010-09-30
    • 1970-01-01
    • 2013-04-01
    • 2011-08-06
    • 2019-09-10
    • 2015-06-07
    • 1970-01-01
    • 2020-04-11
    相关资源
    最近更新 更多