SELinux
SELinux 是什么?
SELinux由美国国家安全局开发的安全增强型 Linux,通过 LSM 钩子与类型强制策略实现强制访问控制(MAC)框架。
SELinux(Security-Enhanced Linux)是建立在 Flask 架构之上的强制访问控制(MAC)框架,最初由美国国家安全局(NSA)开发,于 2003 年并入 Linux 2.6 内核。它为每个进程、文件、套接字和 IPC 对象打上安全上下文标签(user:role:type:level),并通过 LSM 钩子在传统 DAC 权限之上强制执行集中编译的策略。主流策略模型为类型强制(TE)结合基于角色的访问控制(RBAC),并可选 MLS/MCS 提供多级安全。SELinux 在 RHEL、CentOS Stream、Fedora 与 Android 中默认以 enforcing 模式启用,被广泛用于约束容器、Web 服务器与特权守护进程;其主要批评是策略复杂度高。
● 示例
- 01
RHEL 默认以 enforcing 模式启用 targeted 策略。
- 02
Android 使用 SELinux 限制 system_server、Zygote 与每个应用的域。
● 常见问题
SELinux 是什么?
由美国国家安全局开发的安全增强型 Linux,通过 LSM 钩子与类型强制策略实现强制访问控制(MAC)框架。 它属于网络安全的 密码学 分类。
SELinux 是什么意思?
由美国国家安全局开发的安全增强型 Linux,通过 LSM 钩子与类型强制策略实现强制访问控制(MAC)框架。
SELinux 是如何工作的?
SELinux(Security-Enhanced Linux)是建立在 Flask 架构之上的强制访问控制(MAC)框架,最初由美国国家安全局(NSA)开发,于 2003 年并入 Linux 2.6 内核。它为每个进程、文件、套接字和 IPC 对象打上安全上下文标签(user:role:type:level),并通过 LSM 钩子在传统 DAC 权限之上强制执行集中编译的策略。主流策略模型为类型强制(TE)结合基于角色的访问控制(RBAC),并可选 MLS/MCS 提供多级安全。SELinux 在 RHEL、CentOS Stream、Fedora 与 Android 中默认以 enforcing 模式启用,被广泛用于约束容器、Web 服务器与特权守护进程;其主要批评是策略复杂度高。
如何防御 SELinux?
针对 SELinux 的防御通常结合技术控制与运营实践,详见上方完整定义。
SELinux 还有哪些其他名称?
常见的别称包括: 安全增强型 Linux, NSA SELinux。
● 相关术语
- cryptography№ 053
AppArmor
基于路径的 Linux 强制访问控制系统,Ubuntu 和 SUSE 用其作为 SELinux 的简化替代方案,用于限制单个程序。
- cryptography№ 979
seccomp
Linux 内核机制,用于限制进程可发起的系统调用;现代 seccomp-BPF/eBPF 模式可针对单个 syscall 进行精细过滤。
- identity-access№ 652
强制访问控制(MAC)
由中心策略而非资源拥有者强制执行的访问控制模型,基于赋予主体与客体的密级和许可级别做出决策。
- cloud-security№ 213
容器安全
保护容器镜像、镜像仓库、编排平台以及容器运行时环境的一整套实践。
- vulnerabilities№ 860
权限提升
一类漏洞,使攻击者获得超出原本授予的权限,例如从普通用户变为管理员。
● 参见
- № 615Linux Capabilities
- № 120BPF LSM