【RH134 问答题】第 6 章 管理 SELinux 安全性

目录

  • [SELinux 是如何保护资源的?](#SELinux 是如何保护资源的?)
  • 什么是自由决定的访问控制(DAC)?它有什么特点?
  • 什么是强制访问控制(MAC)?它有什么特点?
  • [什么是 SELinux 上下文?](#什么是 SELinux 上下文?)
  • [setenforce 0 命令的作用是什么?](#setenforce 0 命令的作用是什么?)
  • [定义一条 SELinux 文件上下文规则,以便将 /custom 目录及目录中所有文件的上下文类型设置为 httpd_sys_content_t。](#定义一条 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 策略要求。


相关推荐
朱包林11 分钟前
数据库服务-日志管理-备份与恢复-主从同步
linux·运维·服务器·数据库·mysql·云计算
李法师_22 分钟前
lwIP MQTT 心跳 Bug 分析与修复
linux·c语言·stm32·单片机·lwip
超级大坏蛋20182 小时前
QT .pro文件的常见用法
java·linux·qt
我好饿14 小时前
Linux入门教程 第十五章 Linux 系统调优工具
linux·运维·网络
萌虎爱分享4 小时前
Linux 防火墙 (firewalld) 管理完整指南
linux·运维·防火墙·firewalld
mCell8 小时前
Docker 进阶教程
运维·docker·容器
mCell8 小时前
Docker 入门教程
运维·docker·操作系统
祈祷苍天赐我java之术8 小时前
Linux 进阶之性能调优,文件管理,网络安全
java·linux·运维
ajassi20009 小时前
开源 C++ QT Widget 开发(七)线程--多线程及通讯
linux·c++·qt·开源
孤雪心殇9 小时前
如何安全,高效,优雅的提升linux的glibc版本
linux·后端·golang·glibc