SELinux:文件上下文、进程域与网络通信控制
1. 文件上下文与进程域基础
在SELinux里,绑定域对进程域转换起着关键作用。若未绑定,域转换不会发生,会话会维持在当前上下文;若应用不被允许在当前上下文运行,命令将执行失败。绑定域并非仅依据权限实时计算,SELinux有明确规则,要求目标域受父域限制。即便后续给绑定域添加权限,若这些权限不属于父域,也会被SELinux安全子系统拒绝。可使用 seinfo --typebounds 列出类型边界。不过,多数发行版的SELinux策略中不再定义绑定域,因为新的 nosuid_transition 权限更灵活。使用绑定域时,每次子域需要扩展权限,策略开发者都得扩展父域的权限,若父域是通用的,这会很麻烦。
2. 使用Linux的NO_NEW_PRIVS
挂载 nosuid 的文件系统是Linux无新特权(NNP)支持的一种特殊情况。NNP是进程特定属性,告知Linux内核该进程不再被授予额外特权。从那时起,之前提到的约束生效,SELinux仅在有 nnp_transition 权限,或未设置 nnp_nosuid_transition 策略能力时允许向绑定域进行域转换。
应用可使用 prctl() 函数设置该参数,用户也能通过 setpriv 命令影响它。以下是一个具体示例:
首先,在普通用户主目录的 cgi-bin 目录下创建一个简单的基于Python的CGI脚
超级会员免费看
订阅专栏 解锁全文
1051

被折叠的 条评论
为什么被折叠?



