当前位置: 首页 > news >正文

管理SELinux安全性

1.SELinux如何保护资源

(1)SElinux可允许或拒绝访问文件和其他资源,且精准度比用户权限大幅提高

SELinux 由若干组策略组成,准确声明了对于应用使用的每个可执行文件、配置文件和数据文件,哪些操作和访问是被允许的。这被称为targeted policy

策略声明了各个程序、文件和网络端口的预定义label

2.为什么使用SELinux

(1)并非所有安全问题都可以提前预测。SELinux 可以防止因为应用程序的漏洞而影响其他应用访问

(2)SELinux 有一个额外的安全层,此外还有一层复杂结构,执行 policy 意味着系统某一部分的弱点不会扩散到其他部分

SELinux 有三种模式:

  • Enforcing:SELinux 强制执行访问控制规则,机器通常在该模式下运行
  • Permissive:SELinux 处于活动状态,但并不强制执行访问控制规则,而是记录违反规则的日志,该模式主要用于测试和故障排除
  • Disabled:SELinux 完全关闭(需要系统重启)

(3)SELinux 则提供另一层安全,它基于对象并由更加复杂的规则控制,称为强制访问控制(MAC)

要允许远程匿名访问 Web 服务器,就必须打开防火墙端口,这会让恶意人员有机会通过安全漏洞侵入系统,如果成功入侵 Web 服务器进程,就可以获得apache用户和apache组的权限。该用户和组对文档根目录/var/www/html具有读取权限,入侵者还可以访问/tmp/var/tmp,以及全局可写的任何文件和目录。

(4)SELinux 有一组安全规则,它定义进程可以访问哪些文件、目录和端口。

每个文件、进程、目录和端口都有专门的安全标签,称为 SELinux上下文(context)

SELinux 策略使用 context 来确定某个进程能否访问文件、目录或端口。如果没有允许规则,则不允许访问。(标签和进程的端口匹配)

SELinux 标签具有多种 context:user, role, type 和 sensitivity。目标策略(target policy 即 RHEL 中启用的默认策略)会根据第三个 context(即 type context)来制定自己的规则。type context 名称通常以_t结尾。

(5)MariaDB 服务器的 type context 为mysqld_t,默认情况下,在/data/mysql中的文件具有mysqld_db_ttype context,该 type context 允许 MariaDB 访问这些文件,但禁止其他服务(如 Apache 服务)的访问。

(6)-Z显示SELinux context

3.更改当前SELinux模式

(1)getenforce 确定当前SELinux模式

(2)setenforce (临时启用,重启后就没了)更改SELinux模式

Enforcing 1 ;Permissive 0

(3)/etc/selinux/config文件可永久设置 SELinux 模式,系统在启动时读取并配置

4.控制SELinux上下文

新文件通常从父目录继承其 SELinux context(`mv` 或 `cp -a`通常除外)。

(1)更改文件的SELinux上下文

命令包括:semanage fcontextrestoreconchcon

semanage fcontext命令声明文件的默认标签。

restorecon命令将该 context 应用于文件。-->>还原标签

chcon命令更改 SELinux context,但它不会将 context 更改保存到 SELinux context 数据库中,运行restorecon后会还原。-->>临时修改

(2)semanage fcontext命令可显示和修改文件默认 context 规则。

fcontext规则中最常用的扩展正则表达式是(/.*)?,表示 “可递归匹配后跟任何数量字符的 /”。

semanage fcontext命令选项:-->>给系统数据库添加的

表格

选项描述
-a, --add添加指定对象类型的记录
-d, --delete删除指定对象类型的记录
-l, --list列出指定对象类型的记录

(3)布尔值是可更改 SELinux 策略行为的参数。可以启用或禁用它们来调整策略。

http://www.jsqmd.com/news/690516/

相关文章:

  • 基于深度学习的单目深度估计 yolov8目标检测+距离识别计算
  • 别再乱设DataX的channel和bps了!一份讲透速度控制优先级与优化配置的指南
  • 微积分核心概念与应用:从基础到机器学习实践
  • 金刚石NV中心量子编译器优化技术与应用
  • 机器学习项目检查清单:从数据到部署的全流程质量保障
  • 硬件工程师别慌!一文搞懂BCI测试:从汽车电子到军标461的实战避坑指南
  • 【实战项目】从零开发Markdown转Word可视化工具,全程代码可直接运行(python)
  • 别再只调SCL频率了!VL6180软件I2C驱动移植到51单片机的完整避坑指南(含电平转换与_nop_时序详解)
  • C语言进程管理与内存管理深度解析
  • 天机学堂项目总结(day11~day12)
  • Android 11 状态栏时钟显示秒数,一个隐藏的开发者选项(附源码分析)
  • 从实验板到实战:手把手教你用锁相环PLL搭建一个简易FM对讲机(附Multisim仿真文件)
  • 2026华中杯B题反射的艺术一等奖版成品论文
  • 别再拼接字符串了!QT开发中用好QString::arg(),让日志和UI显示更清爽(附实战代码)
  • 封神进阶!Python + SQL 高级玩法,批量操作+异常处理直接拉满
  • Windows程序隐身术:RunHiddenConsole让你的控制台应用优雅消失
  • IEC61850 GOOSE报文实战解析:用Wireshark抓包看透变电站的‘心跳’
  • 软件工程与计算机科学中多个核心知识领域,包括**面向对象技术、网络与信息安全、程序设计语言原理**三大板块
  • AI开发个CMDB平台自用
  • 别再只丢个阻抗要求给板厂了!手把手教你用Allegro 17.4自己算叠层和线宽(附PP/Core选型清单)
  • IgH EtherCAT 从入门到精通:第 19 章 主站状态机(FSM)深度解析
  • 《条件判断结构》
  • 千问3.5-2B效果展示:建筑设计图楼层识别+承重墙标注+消防通道合规性初判
  • 从CLIP到InstructBLIP:主流视觉语言模型(VLM)核心架构演进与实战解析
  • 从降噪耳机到汽车音响:盘点ADI音频DSP(ADAU1787/21489)的5个真实应用场景与选型指南
  • 告别超调!STM32F4温控项目中,我是这样用PID口诀调出完美曲线的(含MATLAB分析)
  • Vivado仿真太慢?试试这招:用条件编译区分仿真与上板代码(避坑指南)
  • 创建langgraph项目
  • 从爆仓到高效:我们如何用EIQ分析+ABC分类法,将电商仓库拣货效率提升了40%
  • PHP日期时间函数date() 详解