【RH134 问答题】第 6 章 管理 SELinux 安全性
目录
- SELinux 是如何保护资源的?
- 什么是自由决定的访问控制(DAC)?它有什么特点?
- 什么是强制访问控制(MAC)?它有什么特点?
- 什么是 SELinux 上下文?
- setenforce 0 命令的作用是什么?
- 定义一条 SELinux 文件上下文规则,以便将 /custom 目录及目录中所有文件的上下文类型设置为 httpd_sys_content_t。
SELinux 是如何保护资源的?
SELinux
(Security-Enhanced Linux)是在传统用户/组权限基础上,增加一套基于 强制访问控制(MAC)
的安全机制。它通过为进程和资源打上安全标签
,并依据预定义的访问策略控制它们之间的交互,从而实现精细化权限管理,确保进程只能访问被允许的资源,有效防止恶意利用和误操作带来的系统破坏。
什么是自由决定的访问控制(DAC)?它有什么特点?
自由决定的访问控制
(DAC
, Discretionary Access Control)是一种由资源拥有者自主决定谁可以访问其资源
的权限控制方式,也是 Linux 中最常见的权限控制方式。
在 Linux 中,它体现在用户/组/权限(如 chmod、chown)机制中,具有灵活、易管理的特点,但安全性较低,容易被权限提升或入侵利用。
什么是强制访问控制(MAC)?它有什么特点?
强制访问控制
(MAC
,Mandatory Access Control)是一种由系统统一定义并强制执行的访问控制机制
,访问权限由预先设定的安全策略决定,用户和进程无法自行更改。
它严格限制进程对资源的访问权限,即使是超级用户(root)也必须遵守,从而有效防止权限滥用和安全攻击,但其配置和管理相对复杂。
什么是 SELinux 上下文?
在 SELinux 中,每个文件、进程、目录和端口
都会被赋予一个称为SELinux 上下文
的安全标签。这个上下文由用户(user)、角色(role)、类型(type)和安全级别(level) 四部分组成。
SELinux 策略通过这些上下文来判断进程是否有权限访问特定资源,其中 类型(type)
是实现细粒度访问控制的关键字段。
setenforce 0 命令的作用是什么?
setenforce 0 命令的作用是将 SELinux 切换到 宽容模式
(Permissive mode)。在该模式下,SELinux 不会阻止任何访问操作,但会继续记录所有原本会被拒绝的访问尝试的日志,方便调试和排查问题。
定义一条 SELinux 文件上下文规则,以便将 /custom 目录及目录中所有文件的上下文类型设置为 httpd_sys_content_t。
使用semanage fcontext -a -t httpd_sys_content_t '/custom(/.*)?'
命令为 /custom 目录及其所有子文件设置 SELinux 上下文类型为 httpd_sys_content_t,
然后通过restorecon -Rv /custom
递归应用该上下文,使得该目录及其中所有内容符合指定的 SELinux 策略要求。