美文网首页
SELinux理解

SELinux理解

作者: 后知不觉1 | 来源:发表于2021-04-27 20:39 被阅读0次

背景

在机器重启后,zabbix-agent启动失败,一直报权限问题。后来发现是服务器默认开启SELinux,服务器重启后开启了SELinux。关闭SElinux,setenforce 0重启zabbix-agent成功

大佬经验,SElinux 在业务服务器上都是关闭状态,只有在跳板机上是开启状态,本文只是记录阅读

1.引入SELinux 是什么

一个决定进程是否可以访问到资源的linux 模块,资源包含文件,端口等

2.进程访问资源权限管理模式

2.1、dac模式

在关闭SELinux模块是的权限,进程是否可以访问文件资源由文件的acl控制(rwx),root 用户不受任何管制。这种权限管理机制的主体是用户,也称为自主访问控制(DAC)

2.2、mac 模式

在开启SELinux时 ,决定一个资源是否能被访问的因素除了文件acl,还需要判断每一类进程是否拥有对某一类资源的访问权限,这个是通过安全策略配置,进程上下文判判断实现
这种权限管理机制的主体是进程,也称为强制访问控制(MAC)

3.SELinux 主要概念

3.1 进程

注:为了方便理解,如无特别说明,以下均把进程视为主体。

3.2 资源

被主体访问的资源。可以是文件、目录、端口、设备等。

3.3 政策和规则(Policy & Rule)

这个一般是系统配置好的,初级阶段不会改动它

Redhat自己订制了一套基本的策略。targeted策略是RHEL已经定义好的策略,它保护的系统服务一共是25个,包括ypbind,dhcpd,httpd,mysqld,named,nscd,ntpd,pegasus,portmap,postgresql,snmpd,squid,syslogd,winbind,use_nfs_home_dirs等。

在 CentOS 7 系统中,有三套政策,分别是:

  1. targeted:对大部分网络服务进程进行管制。这是系统默认使用的政策(一般默认该政策)。
  2. minimum:以 targeted 为基础,仅对选定的网络服务进程进行管制。一般不用。
  3. mls:多级安全保护。对所有的进程进行管制。这是最严格的政策,配置难度非常大。一般不用,除非对安全性有极高的要求。

政策可以在 /etc/selinux/config 中设定。

3.4 安全上下文(Security Context)

安全上下文是 SELinux 的核心,也是主要解决部分

安全上下文我自己把它分为「进程安全上下文」和「文件安全上下文」。

一个「进程安全上下文」一般对应多个「文件安全上下文」。

只有两者的安全上下文对应上了,进程才能访问文件。它们的对应关系由政策中的规则决定。

文件安全上下文由文件创建的位置和创建文件的进程所决定。而且系统有一套默认值,用户也可以对默认值进行设定。

安全上下文的结构及含义

安全上下文有四个字段,分别用冒号隔开。形如:system_u:object_r:admin_home_t:s0

image

4 SELinux 的工作模式

4.1SELinux 有三种工作模式,分别是:

enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。
permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。
disabled:关闭 SELinux。

模式切换
如果想从 disabled 切换到 enforcing 或者 permissive 的话,需要重启系统。反过来也一样。
enforcing 和 permissive 模式可以通过 setenforce 1|0 命令快速切换。

关闭

 sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config
重启
4.2,SELinux流程处理
image.png

相关文章

网友评论

      本文标题:SELinux理解

      本文链接:https://www.haomeiwen.com/subject/qjzzlltx.html