目录
[1. SELinux 是如何保护资源的?](#1. SELinux 是如何保护资源的?)
[2. 什么是强制访问控制(MAC)?它有什么特点?](#2. 什么是强制访问控制(MAC)?它有什么特点?)
[3. 什么是 SELinux 上下文?](#3. 什么是 SELinux 上下文?)
[4. setenforce 0 命令的作用是什么?](#4. setenforce 0 命令的作用是什么?)
[5.定义一条 SELinux 文件上下文规则,以便将 /custom 目录及目录中所有文件的上下文类型设置为 httpd_sys_content_t。](#5.定义一条 SELinux 文件上下文规则,以便将 /custom 目录及目录中所有文件的上下文类型设置为 httpd_sys_content_t。)
1. SELinux 是如何保护资源的?
答:SELinux 通过实施强制访问控制(MAC )来保护系统资源。通过强制策略强制执行访问控制,即使有攻击者在系统内部,也能减少因此造成的风险。
SELinux 基于安全策略规则对进程和文件进行访问控制,以确保系统中的每个主体(如进程、用户)只能执行其授权的操作,即使这些主体具有其他权限也不能越权访问。
2. 什么是强制访问控制(MAC)?它有什么特点?
答:1.强制访问控制(MAC):打上一个上下文标签,和系统关联起来,保证运行时安全。MAC 是一种基于预定义安全策略的访问控制机制,用户无法绕过。访问规则由管理员定义,不受用户 / 进程自主控制。2. MAC 的特点包括:强制执行性:系统级强制规则,所有主体和客体必须遵守。高安全性。但策略复杂,管理难度大。
3. 什么是 SELinux 上下文?
答:SELinux 上下文是用于标识和控制对象(如文件、进程)访问权限的关键元数据。
unconfined_u:object_r:user_home_t:s0
unconfined_u:用户身份;object_r:角色(文件 / 目录);user_home_t:类型(Type)代表该对象属于用户家目录类型;s0:安全级别,在默认的 targeted 策略中通常为 s0。
4. setenforce 0 命令的作用是什么?
答:setenforce 0 命令用于临时将 SELinux 安全策略设置从严格模式切换到宽松模式。在宽松模式下,虽然还会记录违规行为,但不会真的阻止它们。
5.定义一条 SELinux 文件上下文规则,以便将 /custom 目录及目录中所有文件的上下文类型设置为 httpd_sys_content_t。
答:semanage fcontext 命令可显示和修改文件默认 context 规则
定义永久的上下文规则,需 root 权限:semanage fcontext -a -t httpd_sys_content_t "/custom(/.*)?"
restorecon -Rv /custom
-a:新增一条上下文规则;-t httpd_sys_content_t:指定目标上下文类型为 httpd_sys_content_t;"/custom(/.*)?":匹配规则,/custom 表示目录本身,(/.*)? 表示目录下的所有子文件 / 子目录(正则)。
-R:递归处理目录下所有内容。-v:显示修改过程的详细信息。