文章目录
- SElinux
- 1.简介
- 2.基本概念
- 3.规则
- 4.策略
- 5.工作模式
SElinux
1.简介
SELinux是一个内核级别的安全机制,从Linux2.6内核之后就将SELinux集成在了内核当中。因为SELinux是内核级别的,所以我们对于其配置文件的修改都是需要重新启动操作系统才能生效的。
现在主流发现的Linux版本里面都集成了SELinux机制.
CentOS/RHEL都会默认开启SELinux机制
2.基本概念
操作系统的安全机制其实就是对两样东西做出限制:进程和系统资源(文件、网络套接字、系统调用等)。
Linux操作系统是通过用户和组的概念来对我们的系统资源进行限制。
在SELinux当中针对这两样东西定义了两个基本概念:域(domin)和上下文(context)。
域就是用来对进程进行限制,而上下文就是对系统资源进行限制。
3.规则
# selinux下存在不同的规则,
# selinux根据不同的工作类型设置这些规则的打开/关闭,
# 通过规则的打开/关闭具体的限制不同进程对文件的读取
# 【查看当前工作类型下各个规则的开启与否】
getsebool -a
sestatus -b
# 【修改当前工作类型下的规则】[-P 表示永久生效,改了之后需要重启]
setsebool -P 规则名称 1/0
4.策略
在SELinux中,我们是通过定义策略来控制哪些域可以访问哪些上下文。
在SELinux中,预置了多种的策略模式。
在CentOS/RHEL中,其默认使用的是目标(target)策略
目标策略
- 只有目标进程受到SELinux限制(通常我们的网络应用程序都是目标进程,比如httpd、mysqld,dhcpd等等这些网络应用程序)
- 非目标进程就不会受到SELinux限制
5.工作模式
SELinux的工作模式一共有三种enforcing、permissive和disabled
enforcing
也称为强制模式。只要是违反策略的行动都会被禁止,并作为内核信息记录
permissive
也称为允许模式。违反策略的行动不会被禁止,但是会提示警告信息(仅警告)
disabled
也称禁用模式。禁用SELinux,与不带SELinux系统是一样的。
通常情况下将模式设置成disabled。
SELinux默认的工作模式是enforcing
# 查看当前SElinux的工作状态
getenforce
# 临时修改SElinux的状态
setenforce
# 永久修改:修改SElinux配置文件后重启系统
# 修改 /etc/selinux/config 或 /etc/sysconfig/selinux
【注意:】通过 setenforce 来设置SELinux只是临时修改,当系统重启后就会失效了,所以如果要永久修改,就通过修改SELinux主配置文件