SELinux 的作用

SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)
属于内核级加强型防火墙
在 CentOS 7 系统中,有三套政策,分别是:

  1. targeted:对大部分网络服务进程进行管制。这是系统默认使用的政策(下文均使用此政策)。

  2. minimum:以 targeted 为基础,仅对选定的网络服务进程进行管制。一般不用。

  3. mls:多级安全保护。对所有的进程进行管制。这是最严格的政策,配置难度非常大。一般不用,除非对安全性有极高的要求。

政策可以在 /etc/selinux/config 中设定。
1.针对文件,会对系统中每个文件添加安全上下文(context)
2.针对进程,会对系统中的每个进程添加全上下文(context)
3.会在系统服务上设定sebool开关
4.当进程安全上下文和文件的安全上下文不匹配时,那么进程无法访问此文件
5.sebool会限制服务的不安全功能,如果需要用此功能,必须调整sebool值

管理selinux

SELINUX 有三种工作模式,分别是:
SELINUX=enforcing ---> selinux开启,级别为强制
SELINUX=permissive ---> selinux开启,级别为警告
SELINUX=disabled ---> selinux关闭,
setenforce 0|1 ---> 更改selinux当前的级别0警告1标示强制
getenforce ---> 查看selinux的状态
默认是强制模式,设置临时警告模式
linux之selinux_第1张图片
selinux的配置文件
vim /etc/sysconfig/selinux
linux之selinux
关闭selinux
linux之selinux_第2张图片
需重启
linux之selinux

注 ---> 当selinux从关到开,或者从开到关,需要重启系统

selinux中对文件安全上下文的设定
安全上下文是 SELinux 的核心。

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

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

只有两者的安全上下文对应上了,进程才能访问文件。它们的对应关系由政策中的规则决定
临时更改适用于更改文件安全上下文
chcon -t 安全上下文 文件
chcon -t public_content_t /var/ftp/f1
默认文件f1的上下文
linux之selinux
注 ---> selinux默认强制级别,禁止vsftpd服务访问文件
临时设置安全上下文
linux之selinux
更改后vsftpd服务可访问文件
linux之selinux

永久更改文件安全上下文
semanage fcontext -l
查看上下文
linux之selinuxlinux之selinux_第3张图片
默认目录test的上下文
linux之selinux

修改 安全上下文
linux之selinux
linux之selinux
更改后vsftpd服务可访问文件
linux之selinux
selinux的bool值的设定
sebool值是控制服务功能开关

getsebool -a | grep ftp
linux之selinux
setsebool -P bool值 on
linux之selinux_第4张图片
selinux的排错
排错工具
linux之selinux
排错日志
linux之selinux
系统服务日志
linux之selinux
日志里会有解决方法

linux之selinux